ambiguous-grammar

    0

    1答えて

    私は小さなパーサを書こうとしています。残念ながら、私は「シフトを減らす紛争」を起こします。文法は私の強みではありません。私はこれを小さなものにする必要があります。修正された文法を与える解決策は、エラーを生成する文法の縮小です: stmts_opt -> stmts ; stmts -> stmt | stmts stmt | stmsts ; stmt -> id | ITERA

    1

    1答えて

    私はAntlr4を使用しています。ここに私の文法は次のとおりです。 assign : id '=' expr ; id : 'A' | 'B' | 'C' ; expr : expr '+' term | expr '-' term | term ; term : term '*' factor | term '/' factor

    1

    1答えて

    ラスカルでは、プロダクションのオプション部分の位置にレイアウトがあると、あいまいさが生じるのはなぜですか?例えば。 "{ }"はStart1としてあいまいですが、次の文法からはStart2というように正確に解析されますが、これはまったく同じであると予想されます。また layout Layout = " "?; start syntax Start1 = "{" "c"?

    0

    1答えて

    Verilogの仕様を読む際に、パスパルスを指定する独特の構文構文に気付きました。具体的には、フォーム内の文 PATHPULSE$in_port$out_port = ...; は仕様によれば、in_portとout_portは、識別子(\でエスケープ識別子を含む)または[] -bracketed範囲の識別子のいずれかとすることができます。 PATHPULSE構造体を括弧でトークン化する際の問

    0

    1答えて

    です: S -> if E then S | if E then S else S | a E -> b 私は私の解決策よりも複雑である解決策を見つけたが、私は私の解決策が正しいかどうかはわからない。 S -> if E then T else S | if E then S | a T -> if E then T else T | a

    0

    1答えて

    私は、LL構文解析(語彙解析)を作成するための命題論理の文法を書こうとしています。 私は、次の文法試してみました: F = F and F F = F or F F = F => F F = F <=> F F = not F F = (F) D = a を私はそれがあいまいであることを発見しました。私はあいまいさを取り除くために以下を試みました: F = F and A F =

    -1

    1答えて

    私はこの演習で少し問題があります。この文法を考える : S -> aX | X X -> aXb | b | eps a)は、それは文字列 b)参照)文法 Cを捉えどのような言語と言う文法を変更し、子孫を構築して曖昧であることを示していますパーサー 解決方法: a) L = {a^n b^n: n >= 0} U {a^n b^m: n=m+1, n,m >= 0} U {a^n b^m:

    6

    1答えて

    クラスのあいまいさについて学習しています。あいまいな文法の例として、次の文法を挙げました。私はちょうどそれがあいまいである方法を見ていない。あいまいさを判断するために人々が使用する設定パターンや方法がありますか、それとも文法のあいまいな文章を見つけるために組み合わせを行う必要があるロジックパズルのようなものでしょうか?私がオンラインで読んだ例は、あくまでもあいまいな文を主として与えていますが、最初

    5

    1答えて

    私は次の文法を見ていますが、私はそれが3行目のあいまいだと思います。 <SL> → <S> <SL> → <SL> <S> <S> → i <B> <S> e <S> <S> → i <B> <S> <S> → x <S> → y <B> → 5 <B> → 13 は、私は二つの異なる構文解析ツリーを生成し、信じて、この文字列 xi13yi5xeyxを見つけましたが、イムは、それ

    0

    1答えて

    あいまいな文法: E - > UV | EBE | V | [E] V - > a | b U - > < | > B - >? | ! | @ 一部の情報: 優先順序:? <! < @、単項演算子(<、>)が最高である バイナリ演算子?、!、@は正しい結合です。 私の試み: E - > UV | EBT | V | [E] T - > E V - > | b U - > < | > B - >?