编译原理中,2型文法(“上下文无关文法”)和3型文法(正规表达式)的区别是什么?和用在什么地方?

liuzq 2008-08-02 04:47:16
编译原理中,2型文法(“上下文无关文法”)和3型文法(正规表达式)的区别是什么?和用在什么地方?
...全文
1465 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
HBFBI 2008-08-02
  • 打赏
  • 举报
回复
二型文法如下:
S->Ac
S->Sc
A->ab
A->aAb
三型文法如下:
S->aS
A->bA
B->cB
B->c
A->Bb
很明显:2型文法是上下文无关文法,表现在产生式上就是产生式的左部只有一个非终结符
3型文法从广义上讲包括左线形文法、右线形文法和正规文法
左线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最左端
右线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最右端
正规文法是右线形文法的一个子集,其产生式右部只有三种情况:1)空串 2)只有一个终结符 3)只有一个终结符后接一个非终结符
所有的3型文法都是2型文法

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧