第五章语法制导译技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章语法制导译技术

以上例题中的翻译文法为: GT=(Vn, Vt, P, E) Vn={E, T, F} Vt={i, +, *, (, ), @ +, @ *, @i} P={E→E+T@ +, E→T,T→T*F@*,T→F,F→(E), F→i@i} 方法: 对于每个非终结符号都编写一个翻译子程序(过程)。根据该非终结符号具有的属性数目,设置相应的参数。 U↓x, ?y→‥ 继承属性:声明为赋值形参 Procedure U(x,y); 综合属性:声明为变量形参 x—赋形参 y—变量形参 5.3.2 属性文法自顶向下翻译的实现——递归下降翻译 我们把处理翻译文法的递归下降翻译器进行适当扩展,便可 得到处理属性(翻译)文法的递归下降翻译器。 过程调用语句的实参: 继承属性 : 继承属性值 综合属性 : 属性变量名(传地址,返回时有值) 关于属性名的约定: 具有相同值的属性取相同的属性名。(这样可省去不可属性求值规则) 产生式右部的同名非终结符使用相同的属性名。(递归下降分析法所必须) 具有简单赋值形式的属性变量名取相同的属性名,可删去属性求值规则。 下面通过一个例子,较详细的介绍如何构造属性文法 的递归下降翻译器。(该文法应是具有L-属性的符号串翻译文法)。 例:有如下属性翻译文法G[ S] S ↓R1 a ?T1 A ?Q1 @ x↓T2 , R2 S ↓Q2 S ↓R1 b @ z↓R2 , R2 : = R1 A ? P C?V1 @ y↓V2 A ?Q S ↓Z @ v ?P b U2:=U1, p:=Q+U, z:=U1-3 4. A ?P @ w p:=8 R2:= R1 T2:= T1 Q2:= Q1 对简单赋值形式的属性变量取相同的属性名,其求值规则可 以删去。开始符号的继承属性R=7。 * * * * * * * 北京航空航天大学软件工程研究所 第五章:语法制导翻译技术 5.1 翻译文法(TG) 5.2 语法制导翻译 5.3 属性翻译文法(ATG) 5.4 自顶向下语法制导翻译 5.5 自底向上的语法制导翻译 5.0 本章导言 词法分析,语法分析:解决单词和语言成分的识别及词法和语法结构的检查。语法结构可形式化地用一组产生式来描述。给定一组产生式,我们能够很容易地将其分析器构造出来。 本章要介绍的是语义分析和代码生成技术。 程序语言的语义形式化描述目前有三种基本描述方法,即: 操作语义 指称语义 公理语义 5.1 翻译文法和语法制导翻译 有上下无关文法G[E]: 1. E →E+T 4. T →F 2. E →T 5. F →(E) 3. T →T*F 6. F →I 此文法是一个中缀算术表达式文法 翻译的任务是: 中缀表达式 逆波兰表示 a+b*c abc*+ 假如我们的翻译任务是要将中缀表达式简单变换为波兰后 缀表示,只需在上述文法中插入相应的动作符号。 1. E →E+T@+ 4. T →F 2. E →T 5. F →(E) 3. T →T*F @* 6. F →i@i 其中: @+,@*,@i 为动作符号。@为动作符号标记,后面为字符串。 在该具体例示中,其对应语义子程序的功能是要输出打印动作 符号标记后面的字符串。 所以:产生式1:E→E+T@+ 的语义是分析E, +和T输出+

文档评论(0)

189****8221 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档