编译原理chapter4课件.pptVIP

  • 0
  • 0
  • 约 9页
  • 2017-01-03 发布于浙江
  • 举报
第四章 抽象语法 Abstract Syntax 计算机科学与技术学院 刘 慧 Abstract:从所有具体实例中提取出来的。 编译器的工作不仅是识别一个句子是否是属于某一文法的语言,它还必须对那个句子做更多的事情。 语法分析器中的语义动作(semantic action)能够对所分析的短语做一些有用的事情。 在递归下降分析器中,语义动作代码分散在实现语法分析的控制流中。 4.1 semantic actions 每个终结符和非终结符都可关联一个语义值类型。例如文法3.35 当然,与单词关联的类型必须与词法分析器随同这个单词一起返回的类型相匹配。 4.2 Abstract Parse Tree 为了有利于模块化,最好将语法分析与语义问题(类型检查和翻译成机器代码)分开处理。 达到此目的一种方法是由语法分析器生成语法分析树(Parse Tree),每一个输入单词对应着树中的一个叶子结点,分析期间被规约的每一个语法规则对应着树中的一个内部结点——concrete parse tree。 具体分析树不便于在语义分析阶段直接使用: 标点符号单词中有许多是冗余的,而且不传递信息; 语法树的结构对文法的依赖程度太高! 4.2 Abstract Parse Tree 抽象语法(Abstract Syntax)起到了在语法分析器和编译器的较后阶段之间建立一个清晰接口的作用。 抽象语法树传递

文档评论(0)

1亿VIP精品文档

相关文档