第8章语法制导翻译和中间代码生成精品.ppt

第8章 语法制导翻译 和中间代码生成 语法分析的作用是判断一个输入是否为一个句子,并且同时获得该句子的语法结构,即语法树。 例如在算术表达式的翻译中,不仅要知道表达式中各个运算的先后次序,即语法结构,而且还要知道该表达式中的各个变量和常量的内存地址或值,要知道计算过程的中间结果所存放的内存地址或值,甚至还要知道其数据类型。这些信息都被称为语义信息,而对语义信息进行相应的分析处理就叫做语义分析。因此,翻译是一个语法分析和语义分析综合在一起进行的过程。 在编译程序中使用了这样的一种技术,就是在语法分析的同时进行语义分析的工作,并同步地完成相应语句的翻译。这种技术就称为语法制导翻译。 第5章教学内容 属性文法的概念; 语法制导翻译的概念; 常用的中间代码形式; 程序设计语言的语法结构的自底向上的语法制导翻译方法。 一、属性文法 属性文法是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。这些属性代表与文法符号相关的信息,例如它的类型、值、代码序列?、符号表内容等等。属性和变量一样,可以进行计算和传递。 属性一般分为两类:综合属性和继承属性。简单的说,综合属性用于“自下而上”传递信息,而继承属性用于“自上而下”传递信息。 属性加工的过程即是语义处理的过程,对于文法的每一个产生式都配备了一组属性的计算规则,则称为语义规则

文档评论(0)

1亿VIP精品文档

相关文档