2016-05-30 9 views
0

私はLR(1)パーサーとLALR(1)を学び、LALR(1)パーサーを構築したい場合、FIRSTでLR(1)パーサーを構築し、次に同じコア、我々はLALR(1)パーサーに進むことができます。 (複雑な文法の場合、LRパーサーを構築するのは簡単ではありません)LALR(1)パーサーを直接作る方法は?

LALR(1)パーサーを直接作成できますか? LR(1)パーサーを使用しないで(あるいは構築しないで)?はい、どうですか?

ありがとうございます!

+1

はい。アルゴリズムを検索するのは簡単です。これは、構文解析に関するすべてのまともな本に記述されています。いずれにしても、一般的な考え方は、SLRの状態集合を作成してから、伝播トリックを使用して次の文字についての情報で状態を補強することです。 LALR(1)パーサーは常にSLRと同じ状態を持ちます。 – Bakuriu

+0

@Bakuriu私はAhoの本の第2版を勉強しました.LALR(1)のセクションでは、あなたが意味するアルゴリズム(SLR(1)からの構築)を指摘しました。代わりに、LR(1)の状態を使ってLALR(1)を構築する例を挙げました。 (p268) –

答えて

0

PARSING TECHNIQUES Dick GruneおよびCeriel J.H.による実践ガイドジェイコブスは価値がある。レモンパーサージェネレーター(http://www.hwaci.com/sw/lemon/)にも読み取り可能なコードがあります。

関連する問題