grammar

    0

    1答えて

    私はANTLRでかなり簡単な言語を書いています。ユーザーが書いたコードを実際に解釈する前に、コードを解析して構文エラーをチェックしたいと思います。見つかった場合は、エラーの原因を出力して終了します。どのようにコードの構文エラーをチェックし、対応するエラーを出力できますか?私の目的のために、ANTLRツールで生成されたものと同様のエラーステートメントは十分ではありません。たとえば、 line 3:0

    1

    1答えて

    この言葉では、私はコンパイラのコースを持っており、現在文法 - 異なる文法とパーサーのタイプを研究しています。私は私が正確に把握することができない問題に遭遇した、または少なくとも私が正しくそれをやっていることを確認することはできません。私はすでに2回の試みを行い、反例が見つかった。 算術式のあいまいな文法があります: E→E + E | E-E | E * E | E/E | E^E | -E |

    0

    1答えて

    皆さん! テキストファイルの一部の文字列を解析するためにboost :: spiritを使用します。私はブラケットが、私はトラブルを得た「IF」で文字列を解析する場合 IF([banana] and [apple] and [yellow] or [green] or [red] and [!white]) THEN do sth...; ELSE do sth...; :ここ

    1

    1答えて

    argspec に開梱私もこの機能について知らなくても、年間のpython2を使用しましたが、どうやら関数DEFSでサポートされてアンパックタプル: >>> def foo(a, (b, c)): ... print a, b, c ... >>> t = (2, 3) >>> foo(1, t) 1 2 3 彼らはで展開しているように見えるけれども も、デフォルトは、許可されて

    -1

    1答えて

    私は、ファクタリングを使って文法をLL(1)に変換する方法についていくつかの助けをしたいと思います。おそらく他の技術が、私は疑問 S--> 1X1F|2X2F|1X X--> 1X|0 F--> 0F|ε εは別の手紙なしで終了を意味を持って例えば左再帰 をすでに使用しています。私たちはこれだけで2シンボルをダウン見て使用するルールを決めることができますよう 私は私の理解するために、任意の

    0

    1答えて

    私はXtextに新しく、次の問題に直面しています: すべての "error id:"行の下にはスペース/タブを含むすべての印刷可能な文字を期待できます。私の言葉はインデントに基づいているので、この「端末」は空白文字で始めることはできません。 編集/:この言語の 例のコードは次のようになります。私は、この言語仕様に取得 package somepkg: error UNKNOWN:

    1

    1答えて

    初めてレキシングモードを試しています。 私は「メイン」文法にインポートするモードのレクサー文法を持っています。 文法のレクサー用のJavaクラスを生成するときにこのエラーが発生します 'ルールDESCRIPTION_FIELDには、認識できない定数値を持つlexerコマンドが含まれています。私が手に生成GrammarLexer.javaでとても grammar Grammar; import T

    3

    1答えて

    そこここに「何を」に関連する質問です:C11の根拠はまだ公開されていない、これは不必要に複雑と思われるので、C11 grammar ambiguity between _Atomic type specifier and qualifier 私が興味を持って何が、なぜです。 文法は、これらの両方を含む(およびINGのshiftを支持して曖昧さを解決する(declarator又はabstract-d

    0

    1答えて

    基本的に、PowershellのAntlr 4でこのPascalプログラムを実行しようとしています。 PROGRAM AddTwoNumbers; VAR Num1, Num2, Sum : Integer; BEGIN Write('Input number 1:'); Readln(Num1); Writeln('Input number 2:')

    1

    1答えて

    私の文法の私のいくつかの規則には問題があります。 文法は次のようなものです: defLINES : carrRet | defLine carrRet | defLines defLine carrRet ; defLine : error carrRet {yyerrok();} | "DEF" kwType attrbt ID