問題タブ [lr1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
97 参照

java - このパーサー ジェネレーターは、この文法は LR(1) ではないと言っていますが、私には疑問があります

私は Java でパーサー ジェネレーターを作成しました。いくつかのバンプの後 (たとえば、初期のバージョンでは左再帰が特に好きではありませんでした)、いくつかの単純な文法で動作させることができました (したがって、プロダクションが正しいことを手で確認できます)。 ) より複雑な文法を入力してみましたが、出力は LR(1) 文法ではありません (解析対象が解析テーブルの同じセルに 2 回書き込もうとしたという事実に由来します)

問題の文法は

S->aAb|SA
A->aA|e|S

とにかく、この文法はLR(1)であると確信しています。これが私のプログラムの出力です http://pastebin.com/hJNC9uuN

どんなアドバイスも非常に貴重です ありがとうございます (誰かがオートマトンと解析テーブルを出力するパーサージェネレーターを持っていれば、私はそれらに立ち向かうことができます)

0 投票する
0 に答える
158 参照

parsing - 与えられた文法で、LR(1) 項目を生成します

私は LR(1) アイテムに取り組んでいますが、少し疑問があり、誰かが私のために明確にしてくれることを願っています. 次の文法を考えると、LR(1) 項目を生成する必要があります。最初のアイテムを生成しましたが、それが正しいかどうか確信が持てません。続行する前に、最初のアイテムが正しいことを確認したいと思います。誰かが私を助けてくれたり、明確にしてくれたりしたら、本当に感謝しています。ありがとうございました。ここに私が持っているものがあります: