- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理知识点
1. 解释程序:不生成目标代码
编译程序:生成目标代码 2. 编译程序组成:8个
分析 前端 :(词法分析程序、语法分析程序、语义分析程序、中间代码生成程序) 综合 后端 :(代码优化程序、目标代码生成程序) 贯穿始末:表格管理程序、出错处理程序 3. 文法四元组:
终结符号集合Vt 、非终结符号集合Vn、 产生式集合P、识别符号(开始符号)S VT∩VN=Φ
文法 - 语言 (推导、规约)唯一; 语言 - 文法 (凑规则)不唯一。 4. 文法分类:
0型文法(短语结构文法):左侧至少含有一个非终结符
1型文法(上下文有关文法):左侧长度 = 右侧长度 S-ε除外, S不能出现在右侧 2型文法(上下文无关文法):左侧只能有一个非终结符 ( 语法分析 ) 3型文法(正规文法):A- aB A-a 右线性; ( 词法分析 )
A-Ba 或A-a 左线性(看非终结符位置)
5. A*= A0 ∪ A+ A0 ={ε} != { } =Φ空集
A+ = AA* = A*A
6. 句型:符号串x是从识别符号S推导出来的,x称为一个句型
句子:x仅由终结符号组成,仅含终结符号的句型是一个句子 短语:子树的末端(叶子)从左至右连成的串(包括整棵语法树) 简单子树:只含有单层分枝的子树
直接短语( 简单短语 ):由简单子树的叶子组成 句柄:最左边的直接短语(不一定含终结符)
素短语:至少含有一个终结符的短语,并且除它自身之外不再含任何更小的素短语 最左素短语:最左边的素短语
短语:P(相对于T、E)、 P+T(相对于E)、i(相对于P、F)、P+T+i(相对于E) 直接短语:P、i 句柄:P (最左边的直接短语) 素短语:P+T 、i (至少含有一个终结符的短语) 最左素短语:P+T
7. 二义性文法:有两个不同的最左推导或有两个不同的最右推导或能产生两棵语法树 8. 文法产生式 正规式
规则1 A?xB B?y A = xy
规则2 A?xA|y A = x*y 右线性
A?Ax|y A = yx* 左线性
规则3 A?x A?y A = x|y 9. DFA 初态唯一,转换函数为单值映射
表示方式:转移矩阵、状态转换图
状态转换图上若存在一条从初态到某一终态的道路,且这条路上所有弧的标记符连成的字符串为t,则称t被DFA接受。 10. NFA初态可为多个,转换函数为多值映射
确定化:与某一NFA等价的DFA不唯一 1.状态集合I的ε-闭包 2.move函数
最小化:消除多余状态和合并等价状态
多余状态:从自动机的开始状态出发,任何输入串也不能到达的那个状态;或者从这个状态没有通路到达终态。
11. 左公因子
显式左公因子提取
若A→??1|?r,则将其改写为:
i. ii.
A→?(?1|r)
或引入新非终结符 A→?A’ A’→?1|r
隐式左公因子:产生式右部以非终结符开始
用该非终结符的右部以终结符开始的产生式去替换它,再提取 S→aSd|Ac A→aS|b
把A的产生式代入S中: S→aSd|aSc|bc S→aS S’ S’ →d|c S→bc 12. 左递归
1.简单左递归:消除左递归改写为右递归 A→A?|? A→?A’ A’→?A’|ε 2.间接左递归
非终结符号排序(出现频率高的排后面) 左部非终结符下标 右部时改写(替换右部)
消除直接左递归
13. 自顶向下:LL(1) FIRST:A? X1X2X3…Xn
若X1 ? ε X2 ? ε X3 !?ε 后面不用管
则FIRST(A)= First(X1)-{ε} U First(X2)-{ε} First(X3) 若全能推出ε 则先求所有FIRIST(X)-{ε}并集 再并上{ε}
FOLLOW:
? (a)设S为开始符号,则#∈FOLLOW(S)
? (b)若有产生式A? ?B?, ? !?* ε,则FIRST(β) 加至FOLLOW
文档评论(0)