問題タブ [antlrworks]

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 に答える
530 参照

parsing - 問題のantlrworksコードが大きすぎます

Antlrworksで、次のエラーが発生します。

代わりに、Javaプロジェクトで生成されたコードを使用すると、正常に機能します。この問題には何がありますか?

ありがとう。

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

c# - ANTLRで作成されたASTの視覚化(.Net環境で)

ペットプロジェクトのために、私はANTLRをいじり始めました。いくつかのチュートリアルに従った後、私は今、自分の言語の文法を作成し、ASTを生成しようとしています。

今のところ、私はほとんどANTLRWorksをいじっていますが、解析ツリーが正常であるように見えることを検証したので、(繰り返しますが、まだ学習中であり、最終的な構造に関していくつかの決定を行う必要があるためです)ツリーの)ASTを作成します。antlrworksはそれを視覚化しないようです(または少なくとも「インタープリター」機能を使用していない、デバッグは私のどのマシンでも機能していません)。

結論:ASTを手動で視覚化する唯一の方法は、ASTをトラバース/表示するか、ツリーを文字列表現でコンソールに印刷することですか?

私が探しているのは、入力、文法->ANTLRWorksの「インタープリター」機能による視覚的なAST表現から簡単に移動する方法です。何か案は?

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

java - Antlr がレクサー Java ファイルを生成しないのはなぜですか?

Antlr3 は Mylexer.java を生成しません。私はAntlrWorksを使用しています...

文法が次のように始まるとき

文法マイレクサー;

myParser.java を生成します

それは単純なことのように見えます..理由は何だろうか..そして解決策は..エラーメッセージは表示されません。

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

antlr - ANTLR: ANTLRWorks ウィザードの単純な例が機能しない

文法:

ウィザードで生成された文法です。ルール「開始」を追加しました。

インタープリターでの入力:

コンソールの結果:

スクリーンショット: http://habreffect.ru/files/200/4cac2487f/antlr.png

ANTLRWorks v1.4 ANTLR v3.2 のコンソールからも試してみましたが、同じ結果でした。

「abc」の代わりに「\nabc」と入力すると、問題なく動作します。STRING ルールで ESC_SEQ を右に配置すると、「abc」は機能しますが、「\nabc」は失敗します。

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

antlr - HTMLサブセット文法のMismatchedTokenException

プレーンテキスト内のHTMLブロックレベルの要素を認識するためにANTLR文法を書いています。divタグに限定された関連スニペットは次のとおりです。

TEXTトークンは、プレーンテキストやインラインタグ(例)など、ブロックレベルの要素ではないものを表すことになっています<b><\b>。ネストされたブロック要素でテストすると、次のようになります。

<div level_0><div level_1></div></div>

それらを正しく解析します。ただし、ランダムなテキストを追加するとすぐに、最初のTEXTトークンを消費した直後にMismatchedTokenException(0!= 0)がスローされます(例:大文字のT )。

<div level_0>This is some random text</div>

助言がありますか?私は概念的に間違ったことをしていますか?私はANTLRv。3.2を使用しており、ANTLRWorksv。1.4でテストを行っています。

ありがとうございました

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

antlr - ^と!ANTLR文法の略

^と!が何をするのか理解するのに苦労していました。ANTLR文法用語の略です。

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

antlr - この文法のどこが間違っていますか? (ANTLRワークス1.4)

ANTLRWorks 1.4 で次のコードを記述しました。

入力で実行すると:

MismatchedTokenException(5 != 15) が発生します。

そして入力で:

NoViableAltException が発生します。

それはうまくいきますが

私はこれに慣れていませんが、あいまいさがあるようですか?それとも私のANTLRの使い方が間違っているのでしょうか?

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

antlr - Antlr ASTが(可能性のある)狂気を生み出す

次のことも可能ですか?antlrに与えられた入力を「逆」にして、各トークンを前のトークンの子にします。

したがって、入力の場合(各トークンは「。」文字で区切られていると想定します):

文法で次のASTを生成したいと思います。

これまでのところ、ノードを逆にすることができましたが、ノードを互いに子にすることはできません。

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

parsing - 「キーワード」を「非キーワード」としても扱える文法を作ることは可能ですか?

ANTLRWorks1.4には次の文法があります。私は、テキストアドベンチャーゲームクリエーターでパーサーを実装するためのアイデアをいじっています。ユーザーは、ゲームで許可されるさまざまなコマンドを指定します。

関係するさまざまな微妙な点を感じているところです(ここで行ったように)。

今回は、ANTLRを使用して、次のような入力を解析できるかどうか疑問に思っています。

つまり、「木」と「暖炉」は上記のgameObjectsです。ただし、「場所」は「置く」の同義語でもあります。したがって、これも同様に有効です。

ANTLRは、最後の「場所」トークンを解析しようとすると、NoViableAltExceptionを返します。「暖炉」をgameObjectとして認識したい。

それで、この種のことはANTLRで可能ですか?文法で可能ですか?

一方で、私はNFAや辞書などのビットを含む奇妙なカスタムデータ構造を使用する手動実装に取り​​組んでいます。しかし、私はまだもっと時間が必要であり、必要な検索と挿入のアルゴリズムを設計するためにいくつかの脳細胞を犠牲にしなければなりません。

しかし、これがANTLRで可能であれば、生成されたC#ファイルを使用できますね。

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

antlr - DeCafのANTLRのあいまいさ-教授はエラーがどこにあるのかわからない

私は学校向けのプロジェクトに取り組んでおり、BNF形式のカフェイン抜き仕様を文脈自由文法に変換してANTLRで構築しています。私は数週間それに取り組んでいて、行き詰まったときに教授のところに行きましたが、私はついに彼がエラーを引き起こしてはならないと言っていることに遭遇しました。これが私の文法の孤立した部分です。exprが出発点です。その前に、1つ質問があります。

レクサールールが文法のパーサールールの前に表示されるかどうか、または文法ファイル全体で断続的に混合されるかどうかは重要ですか?

醜いフォーマットは、デバッグに関する彼のアドバイスの一部が、個々のルールを取得し、エラーがどこから始まっているかを曖昧にするためにそれらを分解することであったためです。この場合、問題は長いID部分にあり、OPENBRACKETとOPENPARが原因であると言っています。何かアイデアがありましたら、心より感謝申し上げます。ありがとう、そして私が投稿したコードのフォーマットがいかに厄介であるか申し訳ありません。