パーサー コンビネータ
パーサーオブジェクトを構成してトップダウンパーサーを作成.
パーサー ジェネレータは実際思いのほか操作が難しくないというのが前提ではありますが、可能ならば回避するための正当な理由があります。最も明白な問題は、パーサーを生成してからビルドする際に、ビルドプロセスに追加の手順が必要になることです。パーサー ジェネレータは今でも、特に文法があいまいであったりパフォーマンスが極めて重要な場合など、より複雑な文脈依存文法には適切な選択肢ですが、汎用言語でパーサーを直接実装するのも有効な選択肢です.
パーサー コンビネータは、パーサーオブジェクトの構造を使用して文法を実装します。生成ルールの記号の認識子は、コンポジットを使用して組み合わせます。これはコンビネータと呼ばれます。実質的にパーサー コンビネータは、文法のセマンティック モデルを表します.
詳細については、DSL bookの第 22 章を参照してください.