問題タブ [antlr4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
antlr4 - G4構造ANTLR4のg4ファイルはどこにありますか?
ANTLR 4 で G4 構造ファイルを検証したいのですが、可能ですか?
compiler-construction - ANTLR文法を使用して、さまざまな関数を識別します(関数の開始項目は同じでも、中央にキーワードがある場合があります)
私はちょうど何か頭痛に遭遇しました..
サンプルステートメントがあるように、ステートメントをさまざまな関数に分割しようとしています
両方のステートメントは「n」で始まります、現在私は書いています
ただし、レクサーが実行されている場合、両方のサブステートメントが同じもの'n'で始まるため、どちらがどちらであるかを判別できません。コンパイラーは、ルールを使用する別の選択肢があります。次の文字列がコンパイラが使用する最初のルールと一致しない場合、一致しないエラーが自動的にスローされます。
'x turnTo y'に出会った場合、ANTLRを識別して伝えるにはどうすればよいですか?'x turnTo y'に出会った場合、ルールturnTo_statmentを使用します。次に、ルールterminate_statmentを使用します。
つまり、antlrにこれを行う関数はありますか。
ありがとう..
antlr - ANTLR4 ビジター サブツリー チェック
Antlr4 について質問があります。以下の文法の抜粋を考えると。actualParameters
訪問者内のオプションのサブツリー の存在をテストする正しいアプローチは何ですか?
procedureCallStatement コンテキストの getChildCount メソッドを試しました。また、コンテキストの null actualParameters パラメータについてもテストしました。
存在しない場合は、actualParameters サブツリーにアクセスしたくありません。これを行うと、例外が発生します。
ありがとうございました!
ケルビン・ジョンソン
antlr4 - ANTLR 4 は ANTLR 3 よりも高速ですか?
ANTLR 4 には何が期待できますか?
ANTLR 3の方が速いですか?つまり、解析速度です。
コード生成速度も興味深いことに注意してください。
設計上の理由で?
antlr - 単純なantlr4文法での入力エラーの不一致
antlr4を使用してSQLの単純なサブセットを解析しようとしています。
私の文法は次のようになります。
私はこれを次のような単純なJavaアプリケーションでテストしています。
私が得る出力は次のとおりです。
私が理解していないのは、パーサーがパーサーツリーのテーブル名として「テーブル」を選択しているように見える理由ですが、それでもエラーがスローされます。私は何が欠けていますか?
ありがとう
アンドリュー
antlr4 - パーサーの再定義トークンタイプ
フォームの可能なデザインの言語の ためにCOS別名MUMPSの構文強調表示を実装する必要があります
ここで、「new」と「set」はコマンドであり、変数でもあります
コマンドとしての名前のようなID(NEW、SETなど)の場合、問題があります
antlr - ANTLR4キー/値の文法
ANTLR 4.0b4のレクサーの一致順序に問題があるように見える、非常に単純なキー/値文法(実際に取り組んでいる文法ではありませんが、これは私の問題を示す最も単純な文法です)があります。文法は次のとおりです。
この文法と入力'hello:world'を考えると、正しく解析されると思いますが、入力全体が単一のVALUEトークンに取り込まれるため、失敗するようです。
私は何が間違っているのですか?
antlr4 - レクサーで前/左のトークンをチェック
たとえば 、レクサーで前/左のトークンを見つけるにはどうすればよいですか
等
antlr4 - セットではないブロックに割り当てられたラベルx
antlr4をアップグレードしようとすると、文法に2行あり、エラーメッセージが表示されます。
セットではないブロックに割り当てられたラベルtok
特に次のような文法行の場合:
これは、正確には、「設定されていないブロック」であり、一般的な解決策があることを意味しますか?
antlr4 - このタイプは、定数プールでUtf8形式でエンコードするために65535バイト以上を必要とする文字列を生成します
私はantlr3で機能するやや大きな文法でantlr4を試しています。必要な2つの文法変更を処理しました。これで、レクサーとパーサーを生成するツールができました。
ただし、レクサーにはコンパイルエラーがあります。
1)このタイプは、定数プールでUtf8形式でエンコードするために65535バイト以上を必要とする文字列を生成します
エラーはEclipseのクラス名に表示されるため、どの文字列について話しているのか正確にはわかりませんが、これは非常に長い文字列であると思われます。
パーサジェネレータのバグのように見えますが、antlr4に必要な新しい設定がある可能性があります(?)