网站大量收购闲置独家精品文档,联系QQ:2885784924

Chapt6属性文法和语法制导翻译解答.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章;语义 vs. 语法;6.1 属性文法;综合属性 vs. 继承属性;对属性文法的说明;语义规则及其计算方法;属性文法:举例;综合属性;S-属性文法:举例;3*5+4n的带语义注释的语法树 ;继承属性;继承属性:举例;句子real id1,id2,id3的带注释的语法树 ;6.2 基于属性文法的的处理方法 ;6.2.1 依赖图 ;语义规则的依赖图:绘制算法;语义规则的依赖图:举例;,;良定义的属性文法;属性的计算次序 ;属性计算次序举例:句子real id1, id2, id3的带语义注释的语法树的依赖图及其计算顺序;6.2.2 树遍历的属性计算方法;树遍历属性计算:一般性算法; 产生式 语义规则 S→XYZ Z.h := S.a X.c := Z.g S.b := X.d – 2 Y.e := S.b X→x X.d := 2 * X.c Y→y Y.f := Y.e * 3 Z→z Z.g := Z.h + 1 ;若假设S.a的初始值为0,输入串为xyz,则属性计算过程如下图所示:(需4遍遍历);6.2.3 一遍扫描的处理方法 ;语法制导翻译;6.2.4 抽象语法树;抽象语法树:表达式;为表达式建立抽象语法树的属性文法; a-4+c的抽象语法树;6.3 S-属性文法的自下而上计算 ;改造分析栈:附加综合属性域;基于分析栈的属性域的属性文法;语法分析+语义分析:一遍扫描举例;语法分析+语义分析:一遍扫描举例(续);6.4 L-属性文法和自顶向下翻译 ;L-属性文法; 产生式 语义规则 A→LM L.i := l(A.i) M.i := m(L.s) A→QR R.i := r(A.i) Q.i := q(R.s) ? A.s := f(Q.s) ;6.4.1 翻译模式 ;翻译模式:举例;-;翻译模式:设计;翻译模式:综合属性的处理;翻译模式:继承属性的处理;错误的翻译模式:改正方法;数学格式语言EQN;识别输入并进行格式安排的L-属性文法 ;相应的翻译模式;6.4.2 自顶向下翻译 ;文法消除左递归:翻译模式的处理;消除左递归,构造新的翻译模式 E → T {R.i:=T.val} R {E.val:=R.s} R → + T {R1.i:=R.i+T.val} R1 {R.s:=R1.s} R → - T {R1.i:=R.i-T.val} R1 {R.s:=R1.s} R → ? {R.s:=R.i} T → (E) {T.val:=E.val} T → num {T.val:=num.val};计算表达式9-5+2的值;消除左递归时翻译模式处理的一般方法;句子XYY的自底向上???翻译 ;句子XYY的自顶向下的翻译;构造抽象语法树的属性文法 转化成翻译模式;构造抽象语法树的属性文法转化成翻译模式;使用继承属性构造a-4+c的抽象语法树;6.4.3 递归下降翻译器的设计 ;递归下降翻译器:设计方法;递归下降翻译器:设计方法(续);3. 每个产生式对应的程序代码中,按照从左到右的次序,对于单词符号(终结符)、非终结符和语义动作分别做以下的操作: i) 对于带有综合属性x的终结符X,把x的词法值存入为X.x设置的变量中。然后产生一个匹配X的调用,并继续读入一个输入符号。 ii) 对于每个非终结符B,产生一个右边带有函数调用的赋值语句c=B(b1,b2,…,bk),其中,b1,b2,…,bk是为B的继承属性设置的变量,c是为B的综合属性设置的变量。 iii) 对于语义动作,把动作的代码抄进分析器中,用代表属性的变量来代替对属性的引用。;构造抽象语法树的递归下降翻译器;R→addop T R | ?的递归下降语法分析过程 ;R→addop T R | ?的递归下降翻译过程;6.5 自下而上计算继承属性 ;6.5.1 从翻译模式中去掉嵌入在产生式中间的语义动作 ;翻译模式:自上而下?自下而上;作业

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档