2010-12-04 3 views
2

私は以前にカスタムパーサを開発していましたが、これはbnf主導型のパーサーで行いました。簡単にパーサーコンビネータに自分自身を紹介し、パーサーコンビネータの派生について読んでいます。どのパーサー:EBNF、Custom、Parser Combinator(およびその派生物)ですか?

どのような戦略/技術が正しいかを私は、むしろ幅広く質問します。明らかにそれには実用的な要素があります。つまり、あなたがカスタムパーサーしか知っておらず、時間があなたに違反しているなら、おそらくあなたの選択は限られているかもしれません。あるいは、言語(そしてコミュニティ)がツール/サポートを提供せず、 (もちろん可能かもしれない)インフラストラクチャを書くのではなく、原則として、その決定を知らせるのを助けるパースストラテジー/テクノロジそのものに関する「経験則」があります。

TIA

サイモンは

答えて

2

私は、次のをお勧めします:

  1. チェックをターゲット言語が効果的にLR(1)文法で記述することができます。
  2. はいの場合は、YACCのようなさまざまなツールの1つを使用してください。これらのツールは素晴らしく、あなたはそれらを使用したくない理由を見つける必要があります。
  3. いいえの場合は、特定の書籍を探したり、独自のパーサーを作成したりしてください。
関連する問題