antlr

    1

    1答えて

    ANTLR4文法を複数のファイルに分割しようとしていますので、より簡単にテストできます。私は、Javaプロジェクトの構築ツールとしてgradleを使っています。 両文法は別々で正しくコンパイルが、私は私のメインの文法にインポートを追加したときに、私は次のコンパイルエラーに取得 エラー(110):kanekotic/specflow /ライダー/ SpecflowFeature.g4:3:7 : g

    1

    2答えて

    私はANTLRで開始しようとしています。モジュールantlrをインポートするとうまくいきますが、インポートしようとするとMyGrammarLexerとMyGrammarParserは、MyGrammarLexerとParserがlibにないことを示しています。私はPyCharmを使用して、私はANTLRをインストール:私はMyGrammarLexerとMyGrammarParserをインポートする

    0

    1答えて

    このpost about the antlr simple exampleは、Javaのための文法の作成方法を示しています。 ただし、Exp.gソースで文法とJavaソースコードが混在しています。 私の質問は、1つの文法ファイルを複数のJava、Scala、C++などのレクサー/パーサーの生成に使用できるように、文法ファイルをターゲット言語から切り離すことは可能ですか?

    0

    1答えて

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

    0

    2答えて

    私はANTLR4を使ってパーサーを生成しています。私はパーサーの文法には新しいです。私は非常に役に立ちましたANTLR Mega Tutorialを読んだことがありますが、私はまだレクサーとパーサーの規則を正しく(そして/または書く)方法に固執しています。私は、パーサはこのようなものを扱うことができるようにしたい : こんにちは< <名>>、お元気ですか? 実行時に「< < >>」をユーザーの名前

    0

    1答えて

    私のg4ファイルに少し問題があります。以下は私の文法である: // Define a grammar called Hello grammar GYOO; program : 'begin' block+ 'end'; block : statement+ ; statement : assign | print | add

    0

    1答えて

    現在、antlr4を使用してパーサーを構築していますが、私はベストを尽くしたが問題は見つからなかった。私はそれを解明して解決するのを助けてくれますか?私は識別子の前にテキストを配置した場合、私はTEXTの前に識別子を置く場合 # grammer file : PluginDoc.g4: grammer PluginDoc pluginDef : pluginName | pluginDes

    1

    1答えて

    をビルドします。 LPAREN : '(' ; RPAREN : ')' ; FUNCTIONNAME : 'CONCAT' ; ARGUMENTS : TEXT (',' TEXT)* ; TEXT : ('a'..'z' | '0'..'9' | 'A'..'Z')+; allFunction : FUNCTIONNAME LPAREN ARG

    0

    1答えて

    に同じルールではなく別の位置でトークンをマッチング:中 in(name,(Silver,Gold)) は:機能です。 名前:IDです。 (シルバー、ゴールド):要素が「シルバー」で、「ゴールド」の文字列配列です。 パーザはIDとして常に混同され、文字列配列要素は同じ規則を持ちます。文字列に引用符や二重引用符を使用すると便利ですが、ここには該当しません。 また、述語はあまり役に立ちませんでした。

    0

    1答えて

    は文法 script: statement*; statement: do | check; do: 'do'; check: 'check'; どのように私は、非ルート・ノードを解析することができますを考えると?すなわち、 ScriptParser sp = new ScriptParser(); StatementContext sc = sp.parse<StatementCon