Brzozowskiの微分法は、正規表現から決定的なオートマトンをうまく代数的に構築するための非常にきれいな手法です。私はこの手法のいくつかのキュートな一般化を行って、いくつかのより大きなクラスの文法を処理しましたが、アルゴリズムは簡単で、以前に発見された可能性が十分にあります。しかし、この手法の子孫へのグーグル参照はあまり現れていないようです。誰でも何か知っていますか?
Brzozowskiの微分法は、正規表現から決定的なオートマトンをうまく代数的に構築するための非常にきれいな手法です。私はこの手法のいくつかのキュートな一般化を行って、いくつかのより大きなクラスの文法を処理しましたが、アルゴリズムは簡単で、以前に発見された可能性が十分にあります。しかし、この手法の子孫へのグーグル参照はあまり現れていないようです。誰でも何か知っていますか?
回答:
で合計パーサコンビネータ(ICFP 2010)私は、言語のメンバーシップは、潜在的に無限の文法の特定のクラスのために決定可能であることを確立するBrzozowski誘導体を使用しています。
この論文に興味があるかもしれません:
Yacc is Dead by Matthew Might and David Darais、2010
コンテキストフリー言語を解析するための2つの新しいアプローチを紹介します。最初のアプローチは、正規表現から文脈自由文法へのBrzozowskiの導関数の拡張に基づいています。2番目のアプローチは、パーサコンビネータへの導関数の一般化に基づいています。これらの手法のメリットは、任意のコンテキストフリーの文法を遅延解析フォレストに解析できる、実装が簡単な小さな(250行未満のコード)解析ライブラリです。ScalaとHaskellの両方の実装が提供されます。S-Expressionsを使用した予備実験では、1秒あたり数百万のトークンが解析されました。これは、この手法が実際に使用するのに十分効率的であることを示唆しています。
潜在的な関心の対象:
80年代半ばに、再帰的上昇パーサーと文法のファクタリングに取り組んでいたときに、文法の偏微分を定義することから始めました。
素敵な理論がたくさんあります。
具体的な質問はありますか?