私は Java でパーサー ジェネレーターを作成しました。いくつかのバンプの後 (たとえば、初期のバージョンでは左再帰が特に好きではありませんでした)、いくつかの単純な文法で動作させることができました (したがって、プロダクションが正しいことを手で確認できます)。 ) より複雑な文法を入力してみましたが、出力は LR(1) 文法ではありません (解析対象が解析テーブルの同じセルに 2 回書き込もうとしたという事実に由来します)
問題の文法は
S->aAb|SA
A->aA|e|S
とにかく、この文法はLR(1)であると確信しています。これが私のプログラムの出力です http://pastebin.com/hJNC9uuN
どんなアドバイスも非常に貴重です ありがとうございます (誰かがオートマトンと解析テーブルを出力するパーサージェネレーターを持っていれば、私はそれらに立ち向かうことができます)