软考编译原理总结

本文详细介绍了编译原理中的核心概念,包括文法(0型、1型、2型、3型)、正则式、有穷自动机(DFA与NFA)、语法推导树及算符优先等内容。通过实例讲解了文法之间的区别与联系,正则式与有限自动机之间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导图总结如下:

编译原理:

 

   软考中要考的主要的是文法、正规式、有穷自动机、语法推导树和算符优先。

 

文法

0型文法、1型文法、2型文法、3型文法。

 

0型文法是限制最少的一个。有Vn:非终结符集合。Vt:终结符集合。P:推导式集合

S:开始符。只要推导式的左侧至少含义1个非终结符就可。

 

1型文法又叫上下文有关文法,他要求在0型文法的基础上,要求推导式的右侧的长度大于等于左侧的长度。

 

2型文法又叫上下文无关文法,他要求在1型文法的基础上,推导式的左侧是分终结符。

 

3型文法又叫正规文法,他规定了推导式的型状,只能是左线性或者右线性。

所以,这几种文法,一个比一个限制高。0型文法包含1型文法,1型文法包含2型文法,2型文法包含3型文法。

 

正则式

要掌握正则式和正则文法的转换。转换规则:

 

有穷自动机

 

要掌握确定性的有穷自动机DFA、不确定性的有穷自动机NFANFA如何转换为DFA,和正规式和有限自动机的转换。

 

确定性的有穷自动机DFA和不确定性的有穷自动机NFA的区别主要是,确定性的有穷自动机初始态只有1个,二不确定性的右多个。

 

NFA转换为DFA,是将所有的开始状态作为一个集合,然后分别按照不同的推导出不同集合,然后再把新组成的集合在按照不同的推导出新的集合,这样不断不断重复下去,直到不出现新的集合,然后把这些新的集合当成新的状态节点,组成一个DFA

正则式和有限自动机的转换,按照下面的规定转换即可。

 

语法推导树

要掌握什么事语法推导树,短语,简单短语和句柄。会写语法推导树。从语法推导树中求短语、简单短语、句柄。

算符优先

要会会期算符有限关系表。先求FIRSTVT集合和LASTBT集合,然后记住下面这几种算符有限关系规则即可:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值