理学语法制导翻译及中间代码.pptx

§5.1语法制导翻译语法分析后的源程序语义处理中间代码静态语义审查:审查每个语法结构的静态语义,即验证语法结构合法的程序,是否真正有意义。如类型检查。语义处理是指两个功能:动态语义处理:如果静态语义正确,语义处理则要执行真正的翻译,即,或者将源程序翻译成程序的一种中间表示形式(中间代码),或者将源程序翻译成目标代码。

翻译的任务:首先是语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。使用的方法:语法制导翻译。基本思想:根据翻译的需要设置文法符号的属性,以描述语法结构的语义。即语法制导翻译法使用属性文法为工具来描述程序设计语言的语义。

1、属性文法(Syntax-directeddefinitions)(1)属性对文法的每一个符号,引进一些属性,这些属性代表与文法符号相关的信息,,如类型、值、存储位置等。属性值,可以在语法分析过程中计算和传递。属性分为两类:属性加工的过程即是语义的处理过程。综合属性和继承属性。

综合属性:其计算规则按“自下而上”方式进行,即规则左部符号的某些属性根据其右部符号的属性和(或)自己的其他属性计算而得。在语法树中,一个结点的综合属性由该结点的子结点的属性值确定。继承属性:其计算规则按“自上而下”方式进行,即规则右部符号的某些属性根据其左部符号的属性和(或)右部其他符号的某些属性计算而得。继承属性值是由此结点的父结点和

文档评论(0)

1亿VIP精品文档

相关文档