【编译原理】文法

1. 终结符&非终结符

类型表示符号
非终结符大写字母表示ABCD
终结符小写字母表示abcd
关系非终结符可以推导出终结符A->a

2.文法类型

在这里插入图片描述
—VN——非终结符的集合
—VT——终结符的集合
—P ——推导式子集合
—S ——开始符

0型文法

特点:
α->β
α至少含有一个非终结符∈VN
α,β∈ ( VN ∪ VT )*
例:
A->a √
Aa->aB √
ab->A × 因为α=ab,其中不含有非终结符

1型文法

——又称上下文有关文法

特点:
α->β——满足0型文法的基础上
|β|>=|α|——|β|、|α|表示α和β的 长度
例:
A->Bab √
Aa->B × 因为Aa长度为2,B长度为1,不满足|β|>=|α|

2型文法

——上下文无关文法

特点:
α->β,|β|>=|α|——满足1型文法
α是 一个非终结符
例:
A->aB √
aB->abC × 因为aB 不是 一个非终结符

3型文法

——正规文法

特点:
α->β,|β|>=|α|, α是 一个非终结符——满足2型文法
A->a|aB(右线性) A->a|Ba(左线性)
例:
A->a, A->aB, B->a, B->cB √ 3型文法 右线性
A->a, A->Ba, B->a, B->cB × A->Ba(左线性)B->cB(右线性)左线性和右线性只能取其一

2.4 文法类型之间的关系

在这里插入图片描述

3. 正规式与正规文法的转换

正规式
正则表达式
是一种表示正规集的公式
规则:
.
规则文法产生式正规式
1A->xB、B->yA=xy
2A->xA/yA=x*y
3A->x、A->yA=x/y
理解:
对于正规式和正规文法之间的转换规则,不理解的话,画出推导树,结果就显而易见了。

有什么问题欢迎在下方评论,或前来与在下共商,愿与君共勉!

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值