問題タブ [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.

0 投票する
1 に答える
287 参照

antlr4 - G4構造ANTLR4のg4ファイルはどこにありますか?

ANTLR 4 で G4 構造ファイルを検証したいのですが、可能ですか?

0 投票する
2 に答える
365 参照

compiler-construction - ANTLR文法を使用して、さまざまな関数を識別します(関数の開始項目は同じでも、中央にキーワードがある場合があります)

私はちょうど何か頭痛に遭遇しました..

サンプルステートメントがあるように、ステートメントをさまざまな関数に分割しようとしています

両方のステートメントは「n」で始まります、現在私は書いています

ただし、レクサーが実行されている場合、両方のサブステートメントが同じもの'n'で始まるため、どちらがどちらであるかを判別できません。コンパイラーは、ルールを使用する別の選択肢があります。次の文字列がコンパイラが使用する最初のルールと一致しない場合、一致しないエラーが自動的にスローされます。

'x turnTo y'に出会った場合、ANTLRを識別して伝えるにはどうすればよいですか?'x turnTo y'に出会った場合、ルールturnTo_statmentを使用します。次に、ルールterminate_statmentを使用します。

つまり、antlrにこれを行う関数はありますか。

ありがとう..

0 投票する
2 に答える
910 参照

antlr - ANTLR4 ビジター サブツリー チェック

Antlr4 について質問があります。以下の文法の抜粋を考えると。actualParameters訪問者内のオプションのサブツリー の存在をテストする正しいアプローチは何ですか?

procedureCallStatement コンテキストの getChildCount メソッドを試しました。また、コンテキストの null actualParameters パラメータについてもテストしました。

存在しない場合は、actualParameters サブツリーにアクセスしたくありません。これを行うと、例外が発生します。

ありがとうございました!

ケルビン・ジョンソン

0 投票する
1 に答える
4271 参照

antlr4 - ANTLR 4 は ANTLR 3 よりも高速ですか?

ANTLR 4 には何が期待できますか?

ANTLR 3の方が速いですか?つまり、解析速度です。
コード生成速度も興味深いことに注意してください。

設計上の理由で?

0 投票する
1 に答える
5406 参照

antlr - 単純なantlr4文法での入力エラーの不一致

antlr4を使用してSQLの単純なサブセットを解析しようとしています。

私の文法は次のようになります。

私はこれを次のような単純なJavaアプリケーションでテストしています。

私が得る出力は次のとおりです。

私が理解していないのは、パーサーがパーサーツリーのテーブル名として「テーブル」を選択しているように見える理由ですが、それでもエラーがスローされます。私は何が欠けていますか?

ありがとう

アンドリュー

0 投票する
1 に答える
827 参照

antlr4 - パーサーの再定義トークンタイプ

フォームの可能なデザインの言語の ためにCOS別名MUMPSの構文強調表示を実装する必要があります

ここで、「new」と「set」はコマンドであり、変数でもあります

コマンドとしての名前のようなID(NEW、SETなど)の場合、問題があります

0 投票する
1 に答える
725 参照

antlr - ANTLR4キー/値の文法

ANTLR 4.0b4のレクサーの一致順序に問題があるように見える、非常に単純なキー/値文法(実際に取り組んでいる文法ではありませんが、これは私の問題を示す最も単純な文法です)があります。文法は次のとおりです。

この文法と入力'hello:world'を考えると、正しく解析されると思いますが、入力全体が単一のVALUEトークンに取り込まれるため、失敗するようです。

私は何が間違っているのですか?

0 投票する
2 に答える
1870 参照

antlr4 - レクサーで前/左のトークンをチェック


たとえば 、レクサーで前/左のトークンを見つけるにはどうすればよいですか

0 投票する
1 に答える
3918 参照

antlr4 - セットではないブロックに割り当てられたラベルx

antlr4をアップグレードしようとすると、文法に2行あり、エラーメッセージが表示されます。

セットではないブロックに割り当てられたラベルtok

特に次のような文法行の場合:

これは、正確には、「設定されていないブロック」であり、一般的な解決策があることを意味しますか?

0 投票する
1 に答える
3382 参照

antlr4 - このタイプは、定数プールでUtf8形式でエンコードするために65535バイト以上を必要とする文字列を生成します

私はantlr3で機能するやや大きな文法でantlr4を試しています。必要な2つの文法変更を処理しました。これで、レクサーとパーサーを生成するツールができました。

ただし、レクサーにはコンパイルエラーがあります。

1)このタイプは、定数プールでUtf8形式でエンコードするために65535バイト以上を必要とする文字列を生成します

エラーはEclipseのクラス名に表示されるため、どの文字列について話しているのか正確にはわかりませんが、これは非常に長い文字列であると思われます。

パーサジェネレータのバグのように見えますが、antlr4に必要な新しい設定がある可能性があります(?)