antlr3

    1

    2答えて

    私は、Javaの文字列テンプレートで以下のように私の配列を持っている: $colors:{ color | <p>$color.name$ }$ 出力は次のとおりです。希望される Green Black 出力は次のようになります。 1. Green 2. Black これはどのように達成するのですか? antlr.stringtemplateで増分カウンタを取得する方法は?

    0

    1答えて

    次のコードでANTLR3を実行すると、警告メッセージ(200)が表示されます:MYGRAMMAR.g:40:36:複数の選択肢を使用して "QMARK" :3、4 その結果、その入力に対して代替(複数可)4が無効になりました。 警告メッセージはpostfixExprを指しています。これを修正する方法はありますか? grammar MYGRAMMAR; options {language = C;

    0

    1答えて

    レクサーで例外をキャッチするにはどうすればよいですか?パーサにはルールが失敗した(または指定された入力ストリームとの不一致)されている場合ANTLRは例外をスローします、我々は簡単にこのexception.CatchにAntlr3.Refでレクサーで例外をキャッチすることができます:Error handeling in antlr 3.0 ... attribute : Value1

    0

    1答えて

    Antlr 3パーサーで以前のトークンを取得するにはどうしたらいいですか?実際には、私は "input.LT(-1)"を使って簡単に得ることができますが、私はlookaheadを使用したくありません。パーサーで以前のトークンを取得する代替メソッドはありますか?

    0

    1答えて

    Antlr 3文法をAntlr 4に変換します。これは、v3で書かれたMySQLのパーサーであり、私はv4に変換しようとしています。エラーは一番下の行に「finally」と表示されます。エラーは、」 『は全体finallyブロックを削除『ついに』』 // Comment from server yacc grammar: // Keywords that we allow for labels

    0

    1答えて

    ANTLR 3をANTLR 4に変換しています。私はこのような警告があります。私は欲張りではなく、この特別なものについての他のSOの質問を見つけました。私はC#のための答えを持っている table_reference: // table_ref in sql_yacc.yy, we use table_ref here for a different rule. table_factor

    1

    1答えて

    コンパイラ関連のクラスのプログラミング割り当ての一部として、私は教師にフレックス・バイソンの代わりにANTLRを使用するように提案しました。ここで彼は私に欲しいもの、つまり字句解析、構文解析、意味解析(以下の画像の最初の3つのステップ) ANTLRを使ってそのようなアナライザを作るのはとても簡単だと確信しています。コンパイラの中間コードとオブジェクトコードの生成フェーズ(以下の画像の残りのフェーズ

    0

    1答えて

    私の文法は単純ですが、連結を作るためにいくつかの文字列を受け入れる必要があります。この式は有効である必要があります。 CONCATENATE(10;" €") 問題はユーロ記号です。 fragment SPECIAL : '\u00B0'; しかし、ユーロ記号は、この度のシンボルのように動作していない:私は作成しています fragment SPECIAL : '\u00B0' | '\

    1

    2答えて

    let式をサポートするためにANTLR3文法を適応させる必要があります。オペレーターは非常に弱くバインドする必要があります。たとえば、let x=3 in x + 1は、(let x=3 in x) + 1ではなく、let x=3 in (x+1)と表示されます。 残念ながら、私の候補文法はあいまいです。 ルールを明白にする標準的な方法はありますか? (()が余っています) Btw、ANTLR4で

    1

    1答えて

    この答えに表示される文法は、なぜhttps://stackoverflow.com/a/1932664/5613768に次のような表現を受け入れますか?2(38)??私はなぜ12 *(5-6)が受け入れられ、なぜ12 *(5-6は受け入れられないのですか?)この動作を説明できないのはなぜですか?