




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 解释程序:不生成目标代码编译程序:生成目标代码2. 编译程序组成:8个分析:(词法分析程序、语法分析程序、语义分析程序、中间代码生成程序)综合:(代码优化程序、目标代码生成程序)贯穿始末:表格管理程序、出错处理程序3. 文法四元组:终结符号集合Vt 、非终结符号集合Vn、 产生式集合P、识别符号(开始符号)SVTVN文法 - 语言 (推导、规约)唯一; 语言 - 文法 (凑规则)不唯一。4. 文法分类:0型文法(短语结构文法):左侧至少含有一个非终结符1型文法(上下文有关文法):左侧长度 除外, 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+T7. 二义性文法:有两个不同的最左推导或有两个不同的最右推导或能产生两棵语法树8. 文法产生式 正规式 规则1 AxB By A = xy 规则2 AxA|y A = x*y 右线性AAx|y A = yx* 左线性 规则3 Ax Ay A = x|y9. DFA 初态唯一,转换函数为单值映射表示方式:转移矩阵、状态转换图 状态转换图上若存在一条从初态到某一终态的道路,且这条路上所有弧的标记符连成的字符串为t,则称t被DFA接受。10. NFA初态可为多个,转换函数为多值映射确定化:与某一NFA等价的DFA不唯一1.状态集合I的-闭包2.move函数最小化:消除多余状态和合并等价状态多余状态:从自动机的开始状态出发,任何输入串也不能到达的那个状态;或者从这个状态没有通路到达终态。 11. 左公因子显式左公因子提取若Aab1|ar,则将其改写为: i. Aa(b1|r)ii. 或引入新非终结符 AaA Ab1|r隐式左公因子:产生式右部以非终结符开始用该非终结符的右部以终结符开始的产生式去替换它,再提取SaSd|Ac AaS|b把A的产生式代入S中: SaSd|aSc|bcSaS S S d|c Sbc12. 左递归1.简单左递归:消除左递归改写为右递归 AAa|b AbA AaA|2.间接左递归非终结符号排序(出现频率高的排后面)左部非终结符下标 右部时改写(替换右部)消除直接左递归 13. 自顶向下:LL(1) FIRST:A X1X2X3Xn 若X1 X2 X3 ! 后面不用管则FIRST(A)= First(X1)- U First(X2)- First(X3) 若全能推出 则先求所有FIRIST(X)-并集 再并上FOLLOW: (a)设S为开始符号,则#FOLLOW(S) (b)若有产生式A aBb, b !* ,则FIRST() 加至FOLLOW(B) (c)若b * (即eFIRST()),则FIRST(b)-和FOLLOW(A)加至FOLLOW(B) SELECT:A a的可选集SELECT *a !,则SELECT(Aa)= FIRST(a) *a,则SELECT(Aa)= FIRST(a)- FOLLOW(A) 一个上下文无关文法G是LL(1)文法的充要条件是:对于G的每个非终结符号A的任何两个不同产生式 A,A满足: SELECT(A)SELECT(A)= 、不同时推导出LL(1)的含义:第一个L:从左到右扫描输入串 第二个L:分析过程中用最左推导 1:只需向右看1个输入符号(Look ahead)便可确定选用哪个产生式进行推导 LL(1)文法是无二义的。 LL(1)文法不含左递归。14. 自底向上:算符优先、LR(0)、SLR(1)、LR(1)、LALR(1)15. 规范归约:最右推导的逆过程(最左归约) 最右推导是规范推导 右句型(最右推导可得的句型)是规范句型 规范句型的特点:句柄后(右边)不会出现非终结符 规范归约的中心问题是:如何寻找或确定一个句型的句柄。 可归约串: 最左素短语(算符优先分析法) 句柄(LR分析法)算符优先分析法不是规范归约方法。16. 若文法G中不存在右部含有相邻非终结符的产生式,则G为算符文法算符优先分析的可归约串是句型的最左素短语。起决定作用的是相邻两个终结符的优先关系ab 当且仅当G中存在产生式规则 Aab,或AaBbab 当且仅当G中存在产生式规则ABb,且B+a或 B+aC不允许有ab中的两种关系同时存在17. FIRSTVT计算如下:若有产生式Aa或ABa 则aFIRSTVT(A) A左侧的终结符 a.,即以终结符开头,该终结符入FirstvtA-B.,即以非终结符开头,该非终结符的Firstvt入A的FirstvtA-Ba.,即先以非终结符开头,紧跟终结符,则终结符入FirstvtLASTVT计算如下:若有产生式Aa或AaB则aLASTVT(A) A右侧的终结符 .a,即以终结符结尾,该终结符入LastvtA-.B,即以非终结符结尾,该非终结符的Lastvt入A的LastvtA-.aB,即先以非终结符结尾,前面是终结符,则终结符入Lastvt18. LR分析法的归约过程是规范推导的逆过程,所以LR分析过程是一种规范归约过程无回溯的“移进-归约”方法符号栈中的符号是规范句型的前缀,且不含句柄以后的任何符号(活前缀) ACTION 移进 归约 接受 出错 ACTIONi,a=空白 出错 ACTIONi,a=acc 符号栈中仅有#和文法开始符号S,输入串仅为#,分析结束。19. 一个句型的某个前缀的后缀是该句型的句柄,则这个前缀称为该句型的可归前缀。一个规范句型的一个前缀,若不含句柄之后的任何符号,则称它为该句型的一个活前缀。S - a Ac. B e 项目中 .之前a Ac为活前缀20. A a ab,aVT 移进项目A a Bb,BVN 待归约项目A a 归约项目特别地:Ae 只有 A SS, SS 接受项目以上项目称作LR(0)项目。21. LR(0) 项目集规范族(识别G的活前缀的DFA)如果不存在移进-归约冲突,归约-归约冲突,则称它是LR(0)文法。拓展文法的目的:使文法只有一个以识别符号作为左部的产生式,从而使构造出来的分析器有唯一的接受状态。22. 对给定的文法,利用LR(0)方法判断符号串是否为该文法的句子:1.扩充文法为拓广文法;2.构造识别此文法的全部活前缀的DFA,即构造LR(0)项目集规范族;3.判断是否为LR(0)文法;4.是 构造LR(0)分析表 利用LR分析算法分析符号串。5.否,做其他处理。23. SLR(1)对所有非终结符都求出其FOLLOW集合发生冲突时,归约项目左部终结符FOLLOW集与移进项目 .后的终结符交集为空时,才能按此规约项目的产生式进行归约。 LR(0)分析对所有终结符均采用归约动作 SLR(1)分析参考FOLLOW集,以确定归约动作。24. Follow集无法解决 移进-归约冲突或归约-归约冲突,考虑后继符25. 归约动作的选择:a) LR(0)分析考虑所有终结符b) SLR(1)分析参考 FOLLOW 集,为了确定归约c) LR(1)分析仅考虑 LR(1)项目中的后继符(归约展望集,向前搜索符)拓展文法的后继符为#,即 S-S , # 为初态集的初始项目,S后first(e,#) = #LR(1)项目集规范族中,每个状态中添加新的产生式时,需求产生式左部字母后面的First集作为新产生式的后继符;否则后继符照抄前一个状态的I : A-a.B B-.e ,需求出First()作为B-.e的后继符26. 任何二义文法决不是一个LR文法 LL(k)文法都是LR(k)文法。27. a=b*c+b*d 逆波兰式:abc*bd*+= (算符优先的一个应用)无括号; 运算对象顺序不变; 运算符号的位置反映运算顺序。u 三元式 运算结果用三元式编号表示 b*c (*,b,c)u 四元式 运算结果用临时变量表示 b*c (*,b,c,t)a:=b*c+b*d的三元式表示 a:=b*c+b*d的四元式表示 注意最后一步写法四元式直观写法:t1:=b*c t2:=b*d t3:=t1+t2 a:=t3中间代码优化处理时,四元式比三元式方便的多28. 终结符只有综合属性,由词法程序提供;非终结符可有综合也可有继承属性,但文法开始符号无继承属性。29. 按优化所涉及的程序范围可分为三种级别:局部优化、循环优化、全局优化。局部优化指在只有一个入口一个出口的基本块内进行的优化。30. 判定入口语句的规则:(a)代码序列的第1个语句。(b)条件或无条件转移语句的转移目标语句。If goto Goto (c)紧跟在无条件转移语句或条件转移语句后面的语句。例: B1 - (1) read x (2) read y B2 - (3) r:=x mod y (4)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川九强通信科技有限公司招聘射频工程师测试笔试历年参考题库附带答案详解
- 2025云南德宏州国有资本投资控股集团有限公司招聘1人信息笔试历年参考题库附带答案详解
- 2025中国中原社会招聘笔试历年参考题库附带答案详解
- 2025福建漳州市漳浦县赤湖第二中心幼儿园顶岗教师招聘1人模拟试卷(含答案详解)
- 2025广东佛山市三水海江昇平建设工程有限公司第一批招聘企业工作人员拟聘用人员(第一批)考前自测高频考点模拟试题及参考答案详解1套
- 2025年珲春市面向普通高校毕业生招聘事业单位工作人员(45人)模拟试卷附答案详解(黄金题型)
- 2025甘肃临夏县招聘警务辅助人员30人考前自测高频考点模拟试题及1套完整答案详解
- 2025年甘肃省嘉峪关市事业单位集中引进高层次和急需紧缺人才50人(含教育系统)模拟试卷附答案详解(考试直接用)
- 2025河南陆军第八十三集团军医院招聘34人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年潍坊诸城市恒益燃气有限公司公开招聘工作人员考前自测高频考点模拟试题及参考答案详解
- 2025国资国企穿透式监管白皮书
- 2025年导游业务考试题库
- 项目监督管理办法
- 重症感染诊断标准2025
- 胰腺肿瘤WHO分类2025
- 牛羊猪兽药培训课件
- 环评公司质量控制管理制度
- 车间行车梁安装合同协议
- 工厂合同管理制度
- 血液透析患者自我管理与健康教育
- 医疗决策遗嘱书写范文
评论
0/150
提交评论