ll

    6

    2答えて

    ANTLRに相対的に新しい。私は非常に簡単な文法を持っている: start : ('A' 'B' 'C' '1' |'A' 'B' 'C' '2' |'A' 'B' 'C' '3' ) ; 私はすでに(構文の述語で動作します)先読みとバックトラックの概念の基本を理解していることと思います。したがって、この文法はk = 4またはbacktrack = trueで動作します。しかし、正確

    1

    1答えて

    私は演算子の優先順位を持たない文法を作ろうとしていますが、1つの演算子を使うか、かっこで囲むかのどちらかが必要です。 (簡略化のために有効な演算子のリストの代わりにid|int_literal etcと+の代わりにtestを使用)。したがって、たとえば: test + test ///valid! (test + test) + test ///valid! (test + test) + (

    5

    1答えて

    私は以下の文法を持っています: S→a S b S | b S a S | ε 私は小さなコンパイラを書こうとしているので、LL(1)にしたいと思います。私はここにFIRST/FOLLOWの矛盾があるように見えますが、私はそれを解決するために代用を使わなければならないことを知っています。ここに提案された文法がありますが、正しいかどうかはわかりません: S-> aSbT |イプシロン T-> bFa

    13

    3答えて

    は、LL文法が定義され:任意の生産A -> a|bために、以下の2つの条件が当てはまる場合だけ 文法はLLです。 FIRST(a)とFIRST(b)は互いに素です。これはbは、その後aがFIRST(a)とFOLLOW(A)は互いに素でなければならないですFOLLOW(A)で始まる任意の文字列を導き出すことができない、EMPTYを引き出すことができれば、彼らは両方のEMPTY を導き出すことができな

    2

    1答えて

    次の型の左回帰をどのように排除しますか?私はこの特定のルールに一般ルールを適用することができないようです。 A -> aA' | bA' A' -> A' | epsilon まだ再帰を残している:あなたが得る排除ルールを使用することにより A -> A | a | b 。 これは、文法がLL(1)であるかどうかについて何かを言いますか? ありがとうございます。ルール → は、ある意味で

    -1

    1答えて

    と仮定I文法与えられたんだ Z-> X X-> Y -> b Y a Y-> c -> c a 文法はLL(K)K値とは何ですか? 私が知っているのは、YとLL(1)に予測セットの競合があるため、LL(1)ではないことです。文法予測セットは互いに素でなければなりません。

    1

    1答えて

    Algorithmから発生する第1セット: Given a grammar with the rules A1 → w1, ..., An → wn, we can compute the Fi(wi) and Fi(Ai) for every rule as follows: initialize every Fi(Ai) with the empty set set Fi

    12

    2答えて

    私はlex/yaccを使用していましたが、今ではANTLRに切り替えようとしています。主な関心事は、ANTLRはLALRであるyaccとは違って、LL(*)パーサーであるということです。私はボトムアップを考えるのに慣れており、LL文法の利点が何であるか正確には分かりません。 LL文法は理解しやすく、最近普及していると言われています。しかし、LRパーサはより強力であると思われる。 LLパーザは左回帰

    -1

    1答えて

    文法 S->(A) A->CB B->;A|ε C->x|S 私は文法のまず見つけあります First(S)={(} First(B)={;,ε} First(C)={x,(} First(A)=First(C)={x,(} 私はトラブルは文法のをフォロー見つけるを持っています。

    8

    2答えて

    私は現在構文解析について学んでいますが、私はASTを生成する方法としてちょっと混乱しています。式が文法に合致するかどうかを正確に検証するパーサーを作成しました(式が一致するときはサイレントで、そうでないときは例外が発生します)。どこからASTを構築するためにここから行くのですか?私はLL(1)パーサーを構築するための多くの情報を見つけましたが、ASTを構築するにはほとんど進んでいませんでした。 (