编译原理文法类型判断

1,   实验名称

文法类型的判断和推到序列的生成

2,   实验目的

输入:一组任意的文法规则和任意符号串。

输出:相应的Chomsky文法类型和推导。

3,   实验原理

1,文法定义:

文法G定义为四元组(Vn,Vt,P,S)。

其中Vn为非终结符集,Vt为终结符集,P为规则(a->b)的集合,a∈(Vn∪VT)*且至少包含一个非终结符,b∈(Vn∪Vt)*,Vn,Vt,P是非空有穷集。S为起始符,至少在一条规则中左部出现。

Vn和Vt不含公共元素。

 

  2,Chomsky文法类型判断:

如果一个文法是0型文法:

若每个产生式均为|右|>=|左|,空产生式除外,则该文法为1型文法。

若文法是1型文法,并且,每个产生式的左部只有一个非终结符,则该文法是2型文法。

若文法是2型文法,且所有产生式均为左线性或者均为右线性,则该文法为3型文法。空产生式除外。

其中,左线性为形如S->Aa ,S->a∈∈

右线性形如 S->Aa,S->a

4,   实验思路

根据实验原理可知,只要扫描每一个产生式,一次判断每个产生式的左部字符数,非终结符个数,右部字符数,非终结符个数。其中,若右部字符个数为1,则判断是否为终结符,若字符数为2,判断是左线性还是右线性。

     在程序上可以用结构体来实现,每一个结构体储存一个产生式和相关的特征量以供判断。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值