导航:首页 > 源码编译 > 编译原理文法分为几种类型

编译原理文法分为几种类型

发布时间:2022-10-26 00:40:41

⑴ 在文法的乔姆斯基体系中,文法被分为几类各有什么特点

在文法的乔姆斯基体系中,文法被分为4类,分别是0型文法、1型文法、2型文法、3型文法。具体释义和特点如下:
一、0型文法:也叫短语结构文法或无限制文法,其描述能力相当于图灵机,可使用任何的语法描述形式;
二、1型文法:也叫上下文有关文法,其描述能力相当于线性有界自动机,语法形式如下:
xSy -> xAy。也就是说,S推导出A是和上下文x, y相关的,即S只有在上下文x, y的环境中才能推导出A;
三、2型文法:也叫上下文无关文法,其描述能力相当于下推自动机,语法形式如下:
S -> A。S可以无条件的推导出A,和上下文无关,上下文无关文法因此得名;
四、3型文法:也叫正则文法,等价于正则表达式,其描述能力相当于有穷自动机,语法形式如下:S -> Aa。其中最后一个a必须为非终结符。

编译原理中,形式语言里怎么区分2型文法与3型文法

二型文法如下:
S->Ac
S->Sc
A->ab
A->aAb
三型文法如下:
S->aS
A->bA
B->cB
B->c
A->Bb
A、2型文法是上下文无关文法,表现在产生式上就是产生式的左部只有一个非终结符;3型文法从广义上讲包括左线形文法、右线形文法和正规文法 。
B、左线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最左端。
C、右线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最右端 。
D、正规文法是右线形文法的一个子集,其产生式右部只有三种情况:
1)空串
2)只有一个终结符
3)只有一个终结符后接一个非终结符
E、所有的3型文法都是2型文法。

⑶ 编译原理中,形式语言里怎么区分2型文法与3型文法

通过算法对文法的每一产生式进行分析,如果存在复杂递归,则必是上下文无关文法,否则就是正则文法.
1、像A->Aa|ε这样的文法,虽然存在递归,但却是单一的自递归,可以通过有穷自动机表示和分析处理,所以是正则文法;
2、但是像E->E+T,T->id|(E)这样的文法显然非单一的自递归,而是存在复杂递归,自动机是无法表示和处理的,必然是上下文无关文法.
另外还请注意:
1、正则文法是上下文文法的子集,正则文法也属于上下文无法,但有的上下文文法不一定是正则文法;
2、同时再结合这两个的形式定义认真揣摩必定能悟出一二.

阅读全文

与编译原理文法分为几种类型相关的资料

热点内容
个人所得税java 浏览:750
多余的服务器滑道还有什么用 浏览:178
pdf劈开合并 浏览:17
不能修改的pdf 浏览:742
同城公众源码 浏览:478
一个服务器2个端口怎么映射 浏览:283
java字符串ascii码 浏览:64
台湾云服务器怎么租服务器 浏览:464
旅游手机网站源码 浏览:319
android关联表 浏览:932
安卓导航无声音怎么维修 浏览:324
app怎么装视频 浏览:426
安卓系统下的软件怎么移到桌面 浏览:83
windows拷贝到linux 浏览:759
mdr软件解压和别人不一样 浏览:892
单片机串行通信有什么好处 浏览:328
游戏开发程序员书籍 浏览:851
pdf中图片修改 浏览:277
汇编编译后 浏览:482
php和java整合 浏览:838