問題タブ [antlr3]
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.
comments - ANTLR コメントの問題
ANTLR でコメント一致ルールを作成しようとしていますが、現在は次のとおりです。
このコードは、コメントがファイルの最後の文字である場合を除いて正常に機能します。この場合、NoViableAlt 例外がスローされます。どうすればこれを修正できますか?
lua - 文法を 2 つのファイルに再編成しようとすると、異常な ANTLR エラーが発生する
ツリー文法に対応するために、文法を 2 つのファイルに再編成しています。Lua.g と LuaGrammar.g。Lua.g にはレクサー ルールがすべて含まれ、LuaGrammar.g にはツリー文法とパーサー ルールがすべて含まれます。ただし、LuaGrammar.gi をコンパイルしようとすると、次のエラーが発生します。
そして、次のエラーが表示されます。
Lua.g を生成しようとしたとき。これらのエラーが発生するのはなぜですか?どうすれば修正できますか? (ANTLR V3 を使用して、文法ファイルを提供できます)
更新: これは私がコンパイルしようとしている文法ファイルです。
Lua.g:
(どちらも Nicolai Mainero によって作成され、ANTLR のサイト Lua 5.1 grammar で入手可能な文法に基づいています) これ以上コメントを外すと、上記のエラーが発生します。
lambda - antlr と DLR の併用 -- AST 変換
ANTLR を介して生成された AST があり、それを DLR 互換のもの (式ツリー) に変換する必要があります。ただし、式ツリーはインスタンス化時にサブツリーを必要とするため、これにはツリーパターンマッチャーを使用できないようです(これは取得できません)。どのソリューションを使用するのが最適ですか?
eclipse - antlr を使用して、文内のすべての代名詞とその人称を表示するにはどうすればよいですか
WayneHの文法に従って編集
これが私の文法ファイルにあるものです。
そしてここに、私がJavaテストクラスに持っているものがあります
文内のすべての代名詞とそれぞれの値 (s1、s2、...) を表示するには、テスト ファイルに何を入力する必要がありますか?
antlr - ANTLR 3.x - 書き換えルールをフォーマットする方法
元のルールで特定の条件が発生したときに、書き換えルールを適切にフォーマットする方法に挑戦していることに気づきました。
これを書き換える適切な方法は次のとおりです。
Antlr は、括弧内にラベルを付けてブランド化するのが好きではないようで、「op =」は失敗します。また、私は試しました:
Antlr は or '|' を好みません 文法エラーをスローします。
文字クラスをトークン名に置き換えると、この問題は解決しますが、私の文法に他の問題が生じます。
- - 編集 - -
2 番目の問題が追加されました。このルールをツリー文法でフォーマットするのを手伝ってください:
multExpression
: unaryExpression (MULT_OP unaryExpression)*
;
非常に単純です: 私の期待は、一致したすべてのトークンを親 (架空の) トークンで囲み、次のMULT
ような結果になるようにすることです。
runtime - ANTLR3 ランタイム メタデータ
どのルールが現在一致しているかを解析中に知るにはどうすればよいですか? 文法アクションやツリーを使用する必要なく、ルール名を使用して、解析された入力を表す XML (または他のオブジェクト階層) を自動的に構築したいと考えています。
これは可能ですか?
どうもありがとう、ヤーコフ
javascript - ANTLR、オプションの「;」JavaScript で
私は ANTLR で遊んでいて、JavaScript を解析してみることにしました。しかし、オプションの ';' の処理で壁にぶつかりました。その中で、ステートメントの終わりは代わりに改行でマークされています。それはいくつかの簡単な方法で行うことができますか?
うまくいかない簡単な文法の例
これを解析できるようにしたい (JavaScript パーサーで解析できる)
PS: パーサー規則を入れたくありませんWS
。レクサーがそれらを取り除くだけであれば、私はもっと幸せになるでしょう。
parsing - 問題のantlrworksコードが大きすぎます
Antlrworksで、次のエラーが発生します。
代わりに、Javaプロジェクトで生成されたコードを使用すると、正常に機能します。この問題には何がありますか?
ありがとう。
parsing - ANTLR文法:パーサーおよびレクサーリテラル
この文法の違いは何ですか:
この:
?
違いがある場合、これはパフォーマンスに影響を与えるため...ありがとう