ANTLRまたはANTLR3を使用してLL(1)テーブル駆動型(非再帰的)コンパイラーを作成することは可能ですか?
1 に答える
1
いいえ。
ただし、ANTLR はオープン ソースであるため、ANTLR のフォークを変更してそれを行うことができます。
ANTLR は、再帰的な降下ソース コードとしてレクサーとパーサーを構築します。これが、ANTLR が使いやすく人気がある理由です。ソース コードを見て、レクサーとパーサーがテーブル エントリを見てどのように機能するかを理解できるからです。ソース コードであるため、ツールを使用してソース コードをデバッグすることもできます。ANTLR がソース コード出力の代わりにテーブルを使用した場合、字句解析と構文解析を独学で学習する人にとって、理解しやすさと有用性が失われます。
于 2012-03-27T16:35:15.443 に答える