1

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

4

1 に答える 1

1

いいえ。

ただし、ANTLR はオープン ソースであるため、ANTLR のフォークを変更してそれを行うことができます。

ANTLR は、再帰的な降下ソース コードとしてレクサーとパーサーを構築します。これが、ANTLR が使いやすく人気がある理由です。ソース コードを見て、レクサーとパーサーがテーブル エントリを見てどのように機能するかを理解できるからです。ソース コードであるため、ツールを使用してソース コードをデバッグすることもできます。ANTLR がソース コード出力の代わりにテーブルを使用した場合、字句解析と構文解析を独学で学習する人にとって、理解しやすさと有用性が失われます。

于 2012-03-27T16:35:15.443 に答える