上下文无关文法的例子
答案:1 悬赏:10 手机版
解决时间 2021-01-16 05:28
- 提问者网友:疯孩纸
- 2021-01-15 19:54
上下文无关文法的例子
最佳答案
- 五星知识达人网友:蓝房子
- 2021-01-15 20:54
例子 1
一个简单的上下文无关文法的例子是:S -> aSb | ε。这个文法产生了语言 {anbn : n ≥ 0} 。不难证明这个语言不是正规的。
例子 2
这个例子可以产生变量 x,y,z 的算术表达式:
S -> T + S | T - S | T
T -> T * T | T / T | ( S ) | x | y | z
例如字串 ( x + y ) * x - z * y / ( x + x ) 就可以用这个文法来产生。
例子 3
字母表 {a,b} 上 a 和 b 数目不相等的所有字串可以由下述文法产生:
S -> U | V
U -> TaU | TaT
V -> TbV | TbT
T -> aTbT | bTaT | ε
这里 T 可以产生 a 和 b 数目相等的所有字串,U 可以产生 a 的数目多于 b 的数目的所有字串, V 可以产生 a 的数目少于 b 的数目的所有字串。
一个简单的上下文无关文法的例子是:S -> aSb | ε。这个文法产生了语言 {anbn : n ≥ 0} 。不难证明这个语言不是正规的。
例子 2
这个例子可以产生变量 x,y,z 的算术表达式:
S -> T + S | T - S | T
T -> T * T | T / T | ( S ) | x | y | z
例如字串 ( x + y ) * x - z * y / ( x + x ) 就可以用这个文法来产生。
例子 3
字母表 {a,b} 上 a 和 b 数目不相等的所有字串可以由下述文法产生:
S -> U | V
U -> TaU | TaT
V -> TbV | TbT
T -> aTbT | bTaT | ε
这里 T 可以产生 a 和 b 数目相等的所有字串,U 可以产生 a 的数目多于 b 的数目的所有字串, V 可以产生 a 的数目少于 b 的数目的所有字串。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯