ステートマシンからの単一のパスを使用してドキュメントを解析することが可能です。2つのパスを持つことの利点は何ですか?テキストをトークンに変換するレクサーと、それらのトークンの生産ルールをテストするパーサーがありますか?生産ルールをテキストに直接適用する単一のパスを用意していないのはなぜですか?
2
関連:Programmers.stackexchange.com/questions/128888/…-
—
ユーザー
これはすでにCS、stackexchangeで議論されており、レクサー+パーサーの表現力への回答に多くの非常に技術的なコメントがあります。しかし、さらに答えを出す余地があるかもしれません。
—
babou
パイプラインスタイルの並列処理(非常に不均衡なステージとはいえ)が副次的な利点になるのではないかと思います。命令キャッシュとデータキャッシュの両方の動作も興味深い場合があります。コンパイル時間をどれだけ短縮できるか(もしあれば)は、特定のハードウェアに依存します。
—
ポールA.クレイトン
(少なくとも私には)明らかな理由の1つは、スキャナーツールを個別に使用できることです。実際には、入力をスキャンするためにflexを頻繁に使用しますが、yaccの全機能を必要とすることはめったにありません。
—
-jamesqf