私は様々なライブラリのregexpsのように振る舞うパーサーがないと思われました。たとえば、BNFというパーサーがないようです。なぜオンラインパーサーは正規表現で停止しているようですか?
確かに、は順番に、CFGを解析することができますが、中間のステップなしにそれを行うことができ、ライブラリがあるようには思えない、コードを生成することANTLR、Yaccおよび他の多くのようなものがあります。
私はPackrat parserを書くことに興味があり、regexpsに関連付けられたネストされた括弧のついたクォークをすべてブートすることに興味がありますが(それはおそらくもっとスポーツのために)、どういうわけか、別の休止問題のような沼地に入っていくだけです。
これらのパーサーの技術的/理論的な制限はありますか、何か不足していますか?
CFGを解析する機能よりも(まだ未定の)実装を主張しているようですね。確かに、正規表現は訓練されていない目には隠されています。たぶん、文脈自由な言語は、もっと謎かもしれません。しかし、それはポイントではなかった。要点は、なぜコードジェネレータだけが存在し、今日の正規表現と同じように、関数/オブジェクトに入れて、それらの中からテキストの一致ブロックを得ることができないということです。 –
通常、パーサーを使用する人は、テキストを見て文法に合っているかどうかを確認するだけではなく、多くのことを行うことを目指しています。それには何か問題はありませんが、ほとんどのパーサーはかなり多くを行います。 –
さらに、実装はある時点で対処しなければならない技術的な制限であり、技術的/理論的な制限について尋ねました。 –