問題タブ [antlr2]
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.
antlr - antlr2 は複数の値を返します
antlr2 でルールが複数の値を返すようにする方法。例:
「MOD」以外にも返すべき情報があります。どうすればよいですか?
parsing - antlr2.7.6からの偽の非決定性警告
antlr 2.7.6を使用して単純な式パーサーを作成しようとしていますが、コンパイル中に非決定性の警告が表示されます。生成されたJavaソースは私が望むとおりに機能しているようですが、この警告を抑制することが可能かどうか、または文法で何か間違ったことをしているのかどうかを知りたいです。
パーサーは、この古いバージョンのantlrにすでに依存しているプロジェクトで使用されるため、3.4にアップグレードすることはおそらくオプションではありません。文法自体は、この回答の文法と似ています。
コンパイル中の出力は次のとおりです。
そして、ここに問題を示す簡略化された文法があります:
antlr2 - antlr2ルールのあいまいさ
DECIMAL_LITERALはc言語のintリテラルに一致し、FLOATING_POINT_LITERALはc言語のfloatリテラルに一致します。ただし、レクサーが3.44などのfloatに一致すると、3はルールDECIMAL_LITERALに一致します。
floatリテラルを認識させるにはどうすればよいですか?
antlr - ANTLR文法を使用して文字列からアルファベット文字と数字を解析および分割する方法
アルファベットと数字を別々に解析する文法があります。
入力が「a10」または「b10」であるとすると、printfステートメントはa10またはb10を表示しますが、アルファベット文字と数字を分割する必要があります。つまり、「a」が必要なため、aと10を別々に分割する必要があります。 '他の文字列と比較し、'a'または'b'の隣の数字などをテーブルに保存します。
正確には、a10を分割する必要があります->比較用にa、ストレージ用に10を分割し、アルファベットと数字の両方を別々にフェッチできるようにする必要があります。
このようなものの文法を定義する方法は?
antlr - ANTLR version2 grammar syntax?
My professor gave us an assignment about ANTLR,
but I found that the given grammar file does not work with current ANTLR versions.
Actually, it is an example code included in ANTLR v2, which there are few documents left I can find and has been stopped to be supported by any IDE tools such as Eclipse or ANTLRWorks.
Because of this, it took quite long time for me to find out that the grammar file is from the ancient.
I need to modify the given grammar file to find whlie loops that are immediately enclosed by else branch, but cannot understand some part of the grammar.
Somebody please teach me what does '=>' means in this example?
antlr - whileループのANTLR文法
やあ、
while ループを解析するための C 文法が必要です。たとえば、次のコードを解析する必要があるとします。
式を解析して評価する必要があります。いくつかの手順に従って文法を書きましたが、目的の出力が得られません。上記のコードによると、条件チェック後にループ内の関数を 10 回呼び出す必要があります。
まず、A と B の値をハッシュ テーブル (ref : ANTLR_HASH_TABLE 構造体) に格納しています。while ルールは次のようになります。
ハッシュテーブルから値を保存して取得することはできますが、何度も呼び出されたり出力されたりする関数呼び出しに行き詰まっています。その回数関数を呼び出し/印刷するためにどの手順を実行する必要があるかを知りたいです。
これをどのように達成する必要があるかについてのアイデアは、非常に役立ちます。
antlr - ANTLRworks で AST を取得する方法
私は ANTLRworks の新しいユーザーですので、ご容赦ください。次のような小さなコードがあります。
このコードは AST を表示していると思いますが、表示されるのは解析ツリーだけです。ここで何が間違っているのか誰にも教えてもらえますか?
antlr - ANTLRWorks デバッガー
ANTLRWorks で AST を確認したい小さなコードがあります。環境設定で、コンパイラを「com.sun.tools.javac」として選択し、デバッガをポート「49100」として設定し、タイムアウトを「20 秒」に設定しました。
コードは次のとおりです。
デバッグ時に、入力テキストを「9a + 2b」として指定すると、接続が試行され、最終的に「デバッガー タブを起動できません」というエラーが表示されます。
ウイルス対策とファイアウォールも無効にしました。ここで何が問題になる可能性がありますか?
antlr - antlr v2 にコミットするには?
個人的なプロジェクトでは、ANTLR v2 を使用する必要がありました...そしてその出力を見て、ソースでコードの臭いを取り除くことにしました。
しかし今、これらの変更をコミットする方法についての説明が見つかりません。ANTLR v2 ソースが開発されている場所と、そのリポジトリにコミットする方法を知っている人はいますか?
ソースはhttp://www.antlr2.org/download.htmlからダウンロードできますが、貢献については言及されていません。
前もって感謝します。