软考编译原理总结
导图总结如下:
编译原理:
软考中要考的主要的是文法、正规式、有穷自动机、语法推导树和算符优先。
文法
有0型文法、1型文法、2型文法、3型文法。
0型文法是限制最少的一个。有Vn:非终结符集合。Vt:终结符集合。P:推导式集合
S:开始符。只要推导式的左侧至少含义1个非终结符就可。
1型文法又叫上下文有关文法,他要求在0型文法的基础上,要求推导式的右侧的长度大于等于左侧的长度。
2型文法又叫上下文无关文法,他要求在1型文法的基础上,推导式的左侧是分终结符。
3型文法又叫正规文法,他规定了推导式的型状,只能是左线性或者右线性。
所以,这几种文法,一个比一个限制高。0型文法包含1型文法,1型文法包含2型文法,2型文法包含3型文法。
正则式
要掌握正则式和正则文法的转换。转换规则:
有穷自动机
要掌握确定性的有穷自动机DFA、不确定性的有穷自动机NFA,NFA如何转换为DFA,和正规式和有限自动机的转换。
确定性的有穷自动机DFA和不确定性的有穷自动机NFA的区别主要是,确定性的有穷自动机初始态只有1个,二不确定性的右多个。
NFA转换为DFA,是将所有的开始状态作为一个集合,然后分别按照不同的推导出不同集合,然后再把新组成的集合在按照不同的推导出新的集合,这样不断不断重复下去,直到不出现新的集合,然后把这些新的集合当成新的状态节点,组成一个DFA。
正则式和有限自动机的转换,按照下面的规定转换即可。
语法推导树
要掌握什么事语法推导树,短语,简单短语和句柄。会写语法推导树。从语法推导树中求短语、简单短语、句柄。
算符优先
要会会期算符有限关系表。先求FIRSTVT集合和LASTBT集合,然后记住下面这几种算符有限关系规则即可: