编译原理课程总复习.pptxVIP

  • 1
  • 0
  • 约2.06千字
  • 约 85页
  • 2019-11-24 发布于湖北
  • 举报
编译原理课程总复习;前端:依赖于源语言,独立于目标机器。;第二章 词法分析器;词法记号的描述与识别 ;正规定义的例子 Pascal语言的标识符集合 letter ? A | B | … | Z | a | b | … | z digit ? 0 | 1 | … | 9 id ? letter(letter|digit)* ;正规定义的例子 Pascal无符号数集合,例1946,11.28,63.6E8,1.99E?6 digit ? 0 | 1 | … | 9 digits ? digit digit* optional_fraction ? .digits|? optional_exponent ? (E ( + | ? | ? ) digits ) | ? num?digits optional_fraction optional_exponent 简化表示 num ? digit+ (.digit+)? (E(+|?)? digit+)? ;源程序字符流;有 限 自 动 机 ;有 限 自 动 机 ;有 限 自 动 机;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;小结;第三章 语法分析器;上下文无关文法与正规式比较 ;语言和文法 ;语言和文法 ;语言和文法 ;正规式;FIRST集、FOLLOW集;FIRST集合计算方法 若X?a.., 则将终结符a加入FIRST(X)中 若X??,则将?加入FIRST(X)中 若X?Y…,且Y属于非终结符,则将FIRST(Y)\{?}加入到FIRST(X)中 若X?Y1Y2..YK,且Y1,Y2,..Yi-1都是非终结符,且Y1,Y2,..Yi-1的FIRST集合中均包含?,则将FIRST(Yj)的所有非?元素加入到FIRST(X)中,(j=1,2,..i).特别地,若Y1~YK均有?产生式,则将?加到FIRST(X)中。 ;FOLLOW集合计算方法 对文法开始符号S,置$于FOLLOW(S)中。 若有A??B?,则将FIRST(?)\{?} 加入FOLLOW(B)中。 (此处? 可以为空) 若A?? B 或A?? B ?,且 ? ?* ?(即? 属于FIRST(?)),则将 FOLLOW(A)加入FOLLOW(B)中(此处? 可以为空)。 ;FIRST集合及FOLLOW集合的计算方法 ;自上而下分析 ;自上而下分析;自上而下分析;3.3 自上而下分析;自上而下分析;自上而下分析;自下而上;自下而上分析 ;从文法构造的识别活前缀的DFA的一些特点 概念:有效项目 如果S??*rm ?Aw ?rm ??1?2w,那么我们说项目A??1·?2对活前缀??1是有效的。 一个项目可能对好几个活前缀都是有效的。 S??*rm ?AAw ?rm ?A?1?2w ?rm ? ?1?2?1?2w 对任何活前缀??1,从项目A??1·?2有效这个事实可以知?? 如果?2 ??,应该移进 如果?2 = ?,应该用产生式A??1归约;LR分析器 ;LR分析器 ;3.5 LR分析器;构造SLR分析表;从DFA构造SLR分析表;构造规范的LR分析表;构造规范的LR分析表;构造LR分析表的一般流程;判断文法属于哪类文法;第四章 语法制导的定义;本章要点;语法制导的定义;句子real id1,id2,id3的带注释的分析树的依赖图;S属性定义的自下而上计算;S属性定义的自下而上计算;S属性定义的自下而上计算;S属性定义的自下而上计算;S属性定义的自下而上计算;L属性定义的自上而下计算;;翻译方案;建立翻译模式;L属性的自下而上计算 ;L属性的自下而上计算 ;L属性的自下而上计算 ;L属性的自下而上计算 ;L属性的自下而上计算 ;L属性的自下而上计算 ;例 题 1;例 题 2;例 题 3;例 题 4;例 题 5;例 题 6(4.12);例 题 6(4.12);例 数学排版语言EQN E sub 1 .val S ? B B ? B1 B2 B ? B1 sub B2 B ? text ;例 数学排版语言EQN E sub 1 .val ;1. 产生式右边的符号的继承属性必须在先于这个符号的动作中计算出来。 2. 一个动作不能引用这个动作右边的符号的综合属性。 3. 产生式左边非终结符的综合属性只有在它所引用的所有属性都计算出来以后才能计算。计算这种属性的动作通常放在产生式右端的末尾。;第六部分 局部存储分配策略;三种存储分配策略的比较 ;访问链

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档