编译原理第6章_属性文法和语法制导翻译2.ppt
《编译原理第6章_属性文法和语法制导翻译2.ppt》由会员分享,可在线阅读,更多相关《编译原理第6章_属性文法和语法制导翻译2.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 属性文法和语法制导翻译属性文法和语法制导翻译内容内容属性文法属性文法基于属性文法的处理方法基于属性文法的处理方法S-属性文法的自下而上计算属性文法的自下而上计算L-属性文法和自顶向下翻译属性文法和自顶向下翻译自下而上计算继承属性自下而上计算继承属性第六章第六章 属性文法和语法制导翻译属性文法和语法制导翻译语义语义:一组规则:一组规则,用它可以定义一个程序的意用它可以定义一个程序的意义义。描述方法:描述方法:自然语言描述:隐藏错误、二义性和不完整性自然语言描述:隐藏错误、二义性和不完整性形式描述:形式描述:F 操作语义操作语义(PL/1)(PL/1)F 指称语义指称语义(ADA)(
2、ADA)F 代数语义代数语义(PASCAL)(PASCAL)属性文法属性文法语义分析的任务语义分析的任务语义检查语义检查例例 类型、运算、维数、越界类型、运算、维数、越界语义处理语义处理例例 变量的存储分配变量的存储分配例例 表达式的求值表达式的求值例例 语句的翻译语句的翻译(中间代码的生成中间代码的生成)问题如何根据被识别出的语法单位进行语义处理如何根据被识别出的语法单位进行语义处理?章节章节目录目录第六章第六章 属性文法和语法制导翻译属性文法和语法制导翻译编译中的语义处理包括两个功能编译中的语义处理包括两个功能:(1)审查每个语法结构的静态语义,即验证)审查每个语法结构的静态语义,即验证语
3、法结构合法的程序是否真正有意义。也称为语法结构合法的程序是否真正有意义。也称为静态语义分析或静态审查静态语义分析或静态审查;(2)如果静态语义正确,则执行真正的翻译,)如果静态语义正确,则执行真正的翻译,即即生成中间代码生成中间代码或生成实际的目标代码。或生成实际的目标代码。以上工作普遍基于以上工作普遍基于属性文法和语法制导翻属性文法和语法制导翻译方法译方法。6.1 属性文法属性文法属性文法属性文法(也称属性翻译文法)(也称属性翻译文法)Knuth在在1968年提出年提出在在上上下下文文无无关关文文法法的的基基础础上上,为为每每个个文文法法符符号号(终终结结符符或或非非终终结结符符)配配备备若
4、若干干相相关关的的“值值”(称为(称为属性属性)。)。属属性性代代表表与与文文法法符符号号相相关关信信息息,如如类类型型、值值、代码序列、符号表内容等代码序列、符号表内容等属性可以进行计算和传递属性可以进行计算和传递语语义义规规则则:对对于于文文法法的的每每个个产产生生式式都都配配备备了了一一组属性的计算规则组属性的计算规则6.1 属性文法属性文法属性属性综合属性综合属性:“自下而上自下而上”传递信息传递信息继承属性继承属性:“自上而下自上而下”传递信息传递信息在一个属性文法中,对应于每个产生式在一个属性文法中,对应于每个产生式A 都都有一套与之相关联的语义规则,每条规则的形式有一套与之相关联
5、的语义规则,每条规则的形式为:为:b:=f(c1,c2,ck)这里,这里,f是一个函数,而且或者是一个函数,而且或者1.b是是A的的一一个个综综合合属属性性并并且且c1,c2,ck是是产产生生式式右右边边文法符号的属性,或者文法符号的属性,或者2.b是是产产生生式式右右边边某某个个文文法法符符号号的的一一个个继继承承属属性性并并且且c1,c2,ck 是是A或产生式右边任何文法符号的属性。或产生式右边任何文法符号的属性。在两种情况下,属性在两种情况下,属性b依赖于属性依赖于属性c1,c2,ck。6.1 属性文法属性文法说明说明终结符只有综合属性终结符只有综合属性,由词法分析器提供,由词法分析器提
6、供非非终终结结符符既既可可有有综综合合属属性性也也可可有有继继承承属属性性,文文法法开开始始符符号号的的所所有有继继承承属属性性作作为为属属性性计计算算前前的的初初始始值值对对出出现现在在产产生生式式右右边边的的继继承承属属性性和和出出现现在在产产生生式式左左边边的的综综合合属属性性都都必必须须提提供供一一个个计计算算规规则则。属属性性计计算算规规则则中中只只能能使使用用相相应应产产生生式式中中的的文文法法符符号号的的属性属性出出现现在在产产生生式式左左边边的的继继承承属属性性和和出出现现在在产产生生式式右右边边的的综综合合属属性性不不由由所所给给的的产产生生式式的的属属性性计计算算规规则则进
7、进行行计计算算,它它们们由由其其它它产产生生式式的的属属性性规规则则计计算算或或者由属性计算器的参数提供者由属性计算器的参数提供6.1 属性文法属性文法语语义义规规则则所所描描述述的的工工作作可可以以包包括括属属性性计计算算、静静态态语语义义检检查查、符符号号表表操操作作、代代码码生生成成等等等。等。例例,考考虑虑非非终终结结符符A,B和和C,其其中中,A有有一一个个继继承承属属性性a和和一一个个综综合合属属性性b,B有有综综合合属属性性c,C有有继继承承属属性性d。产产生生式式ABC可能有规则可能有规则 C.d:=B.c+1 A.b:=A.a+B.c而属性而属性A.a和和B.c在其它地方计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 属性 文法 语法 制导 翻译
限制150内