[英]construction of a^(2^i) language grammar
我有點受自動機和語法問題的困擾。 我進行了很多搜索,但沒有成功。
甚至有可能構造生成這種語言L的語法嗎?
L = { a(2i) | i >= 0}
誰能為我提供簡單的解決方案?
可以為這種語言編寫語法 ,但這不是上下文無關的語法。 使用泵引理很容易證明這一點。
抽引式引理指出,對於任何CFL,都有一些整數p
,使得長度至少為p
的語言中的任何字符串s
都可以寫為uvxyz
,其中u
, v
, x
, y
和z
是字符串,而vy
則不是對於所有整數n
,字符串uv n xy n z
也在該語言中。
也就是說,對於該語言中的任何字符串(其長度l
大於p
),都存在一些k
,使得該語言中存在對於任何整數n
長度為l + nk
字符串。 對於語言a 2 i
並非如此,因為這些字符串具有指數長度,所以該語言不能與上下文無關。
為語言構建非上下文無關的語法並不難,但我不知道它有多有用。
以下是Type 0語法(即,它也不是上下文敏感的),但這僅是因為用於除去元字符的產生式所致。 這里的基本思想是,我們在字符串( [和] )周圍放置了開始和結束標記,並且我們有一個“復制器”( ↣ ),它從左到右移動了a的兩倍。 當它碰到結束標記時,它要么變成后班車( ↢ ),要么吃掉結束標記並變成開始標記破壞者( ↞ )。
Start : [ ↣ a ]
↣ a : a a ↣
↣ ] : ↢ ]
↣ ] : ↞
a ↢ : ↢ a
a ↞ : ↞ a
[ ↢ : [ ↣
[ ↞ :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.