ll

    15

    1答えて

    すべてのLL文法はLR文法ですが、それ以外の方法はありませんが、私はまだこの区別には苦労しています。私は、等価なLL表現を持たないLR文法の小さな例があれば、それがあるかどうか不思議です。

    2

    1答えて

    LL(1)文法もLR(1)であることは広く知られていますが、どこでも厳密な証明はできません。 LR(1)文法は決定の前により多くの入力をスキャンすることができますが、LL(1)文法は一度に1つのトークンから決定されるため、作成されます)。しかし、コンパイラーに関する2つの教科書を調べて解析し、すばやくGoogle検索を行った後、私はこの事実のより正式な証拠を追跡することはできません。 誰もがこの証

    4

    1答えて

    私が理解しているように、以下のケースでは、トップダウンパーサーを構築するために左寄りが必要です。 これを行う方法を理解することは難しいですか?誰かがここで私を助けることができる?ありがとう。 s = a | b b = c d c = (e | f) g e = a | h

    12

    1答えて

    文法があり、LL(1)があるかどうかを確認できます。しかし、文法によって生成された言語がLL(1)かどうかを確認する方法はありますか? LL(1)文法とLL(1)言語の違いは何ですか?

    10

    1答えて

    ウェブ上には、LL(1)パーサーの最初/後続セットから文脈自由文法の構文解析テーブルを構築する方法を示す多くの例があります。 しかし、k> 1の場合に関連する有用なものは見つかりませんでした。ウィキペディアでさえこれについての情報はありません。 私はそれが何らかの形でなければならないと予想しますが、この分野の既存の研究への指針は非常に役に立ちます。

    3

    2答えて

    左回帰文法を受け入れることができるので、ボトムアップ・パーサはトップダウン・パーサよりも優れていることが分かります。なぜなら、解析しますか?

    0

    1答えて

    関数型プログラミングでは、非再帰的予測型テーブル駆動LL(1)パーサーを構築する最も良い方法は何ですか?ハスケルやOCaML、あるいはこれを手伝ってくれるツールが存在するのでしょうか?

    1

    1答えて

    ANTLRまたはANTLR3を使用してLL(1)テーブル駆動型(非再帰型)コンパイラを作成できますか?

    0

    4答えて

    パーサを手動で書く必要があります。 LL(*)とLRのどちらかを選ぶことはできません(おそらくEarleyを試してみてください)。 LLの文法はむしろ難しいので、ボトムアップ解析を使うべきですか?