antlr4

    0

    1答えて

    ISO 8601のデュレーション文字列(「P3M2D」など)を解析しようとしています。これは埋め込みスペースを許可しないことに注意してください。私はantlr4.7を使用しています。 私はレクサールール ISO8601_INTERVAL : 'P' (y=NUMBER_INT 'Y')? (m=NUMBER_INT 'M')? (d=NUMBER_INT 'D')? | 'T'

    0

    1答えて

    私は、MySQLの.g4ファイルからParserとLexerをhttps://github.com/antlr/grammars-v4/tree/master/mysqlに構築しようとしています。私はエラー"添付ファイルに示されているように、パーサールールのチャンネルが"レクサーで許可されていません "と表示されます。

    1

    1答えて

    私はAntlrを初めて使い、文字列を選択的にトークン化する文法を書こうとしています。私は本当にどこを見て、これを実装するために取るアプローチに関する助言/ポインターに感謝します。 たとえば、文字列「無効」は文法 section1 { property1 disabled } section2 { disabled } section3 { property2

    0

    2答えて

    antlr4を使用して「P3M2D」のようにISO 8601 period expressionsを解析しようとしています。しかし、私はいくつかの障害物に当たっており、助けに感謝します。私は、antlrとコンパイラのどちらにも新しくなっています。 私の文法は以下の通りです。テストランで grammar test_iso ; // import testLexerRules ; iso : (

    0

    1答えて

    私はANTLR4 4.7がパーサとレクサーを生成するパーサー文法とレクサー文法を持っていますが、問題はありません。リスナーロジックのエントリーポイントは素晴らしいですが、私はその言語の特定のキーワードを聞きたいと思います。 どこに追加するのか分かりません。 Eclipse用のANTLR4プラグインを使用して、文法からパーサーとレクサーを生成しています。 @Override public void

    2

    1答えて

    私は現在、ANTLR4のC#バージョンからC++ターゲットにいくつかのコードを移植していますが、現在いくつかの問題が発生しています。私がASTをC#で構築したのは、基本クラス(Baseと呼ぶ)とそのクラスを実装するために使用できる仮想関数を持つ派生クラス(派生クラスと呼ぶ)を作成することでした。 しかし、このコードをC++に変換しようとすると、bad_cast例外が発生し続ける 私は、antlrc

    1

    1答えて

    祖先から子ノードへ情報を渡す「受け入れ可能な」方法は何か? たとえば、代入式の各側にそれがどちらの側にあるかを伝えたい場合は(lhsの式にlhs、rhsの式にrhsを指定します)。 私は情報を渡すために使用する別のParseTreePropertyを使って情報を渡すという考えがありました。または、同じものを使用して、情報を上下に渡すことができます。

    0

    1答えて

    私は現在RuleContextクラスを取得するにはどうすればよい @Override public void visitTerminal(TerminalNode node) { node.getRuleContext(); // doesn't build } が持っている場合は?

    0

    1答えて

    スキャンのコンテキスト内で、テキストがスキャンされているときにこの形式の有益な出力をプリントアウトできるようにするには、何をオーバーライド、拡張、リッスン、訪問する必要がありますか? -- Example output only --------- DEBUG ... current mode: DEFAULT_MODE DEBUG ... matching text '#' on rule

    0

    1答えて

    私はリスナーといくつかのオーバーライドされたコンテキストを持っています。 子のコンテキストを終了する際に、そのテキストを変更したいと思います。 次に、包括的コンテキストでは、一般的なGetText()呼び出しを使用して変更されたコンテキストが取得されます。 これは達成可能ですか?どうやって?ありがとう