基本言語とクロージャプロパティのセットからすべての文脈自由言語を構築しますか?


10

正規表現を見る1つの方法は、次の事実の建設的な証明としてです。小さな言語のセットから始めて、小さな固定された一連のクロージャープロパティを介してそれらを組み合わせることにより、正規言語を構築することが可能です。具体的には、空の言語、空の文字列を含む言語、およびすべての1文字の文字列の言語から始める場合、ユニオン、連結、およびKleeneスターを使用して、すべての可能な通常の言語を組み立てることができます。

すべてのコンテキストフリー言語のみを生成するために使用できる基本言語とクロージャープロパティのセットはありますか?(明確にするために、私はすべてのCFLに正規表現を記述できるかどうかを尋ねていませんが、不可能であることを知っています。代わりに、CFLの正規表現のようなフレームワークを設計する方法があるかどうか疑問に思っています。同じ基本原則。)


1
そのため、参照用の質問の1つに必要なものが含まれている場合があります。
ラファエル

回答:


8

D2{[,],(,)}a1,b1,a2,b2

D2D2M(D2)

g(h1(D2)R)ghRRghD2

Lg(h1(L)R)g,h,R


うわー、それは本当に面白いです!これに関する参考文献がありましたら、ぜひチェックしてください!
templatetypedef

素晴らしい。これは私の質問に完全に答えます。
templatetypedef
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.