私は Haskell Parser Combinators についてよく読んでいて、次のような多くのトピックを見つけました。
- Parsec vs Yacc/Bison/Antlr: なぜ、いつ Parsec を使うべきか?
- 最も使いやすい Haskell 構文解析テクノロジはどれですか? またその理由は?
- Parsec または happy (alex を使用) または uu-parsinglib
- Haskell パーサーの選択
- パーサーコンビネーターを使用するのではなく、幸せのようなパーサージェネレーターを使用する利点は何ですか?
しかし、これらのトピックはParser Combinators
すべてParser Generators
.
Parser Combinator
次の条件に最も適しているのはどれかお聞きしたいです。
- エラー (エラー回復を含む) とユーザーへのメッセージを適切に管理したい
- テキストの小さな部分をパーサーに供給できるようにしたい (一度にファイル全体ではなく)
- 文法をうまくリデザインできるようになりたい(現在文法を開発中なので、「うまく動作すること」が重要です。)
- 最終的なパーサーは高速である必要があります (パフォーマンスは重要ですが、ポイント 1 ~ 3 ほどではありません)。
最も人気のあるパーサーコンビネーターは次のとおりです。