采用语法制导翻译思想,表达式E 的“值”的描述如下: 产生式 语义动作 S′→E {print E.VAL} E→E1+E2 {E.VAL∶=E1.VAL+E2.VAL} E→E1*E2 {E.VAL∶=E1.VAL*E2.VAL} E→(E1) {E.VAL∶=E1.VAL} E→n {E.VAL∶=n.LEXVAL} 如采用LR 分析方法,给出表达式(5*4+8)*2 的语法树并在各结点注明语义值VAL。

采用语法制导翻译思想,表达式E 的“值”的描述如下: 产生式 语义动作 S′→E {print E.VAL} E→E1+E2 {E.VAL∶=E1.VAL+E2.VAL} E→E1*E2 {E.VAL∶=E1.VAL*E2.VAL} E→(E1) {E.VAL∶=E1.VAL} E→n {E.VAL∶=n.LEXVAL} 如采用LR 分析方法,给出表达式(5*4+8)*2 的语法树并在各结点注明语义值VAL。


参考答案和解析
所谓语法制导翻译,是为语言的文法规则配上相应的语义子程序,在语法分析过程中,当某条规则被用来扩展一个文法非终结符(自上而下的分析),或者被用来归约可归约串(自下而上的语法分析)时,执行相应的语义子程序,完成属性的计算和中间代码的生成。

相关考题:

●编译程序中语法分析器接受以 (29) 为单位的输入,并产生有关信息供以后各阶段使用。 (30) 、LR分析法和 (31) 是几种常见的语法分析技术,其中 (30) 和LR分析法属于自下而上分析法,而 (31) 属于自上而下分析法。LR分析法有SLR(1)、LR(0)、LR(1)和LALR(1) 4种,其中 (32) 的分析能力最强, (33) 的分析能力最弱。(29) A.表达式B.单词C.产生式D.语句(30) ,(31) A.递归下降法B.算符优先法C.语法制导翻译法D.数据流分类法(32) ,(33) A.SLR(1)B.LR(0)C.LR(1)D.LALR(1)

若有关系模式R(A,B,C)和S(C,D,E),对于如下的关系代数表达式:E1=πA,D(σB<'2003'R.C=S.CE='80'(R×S)) E2=πA,D(σR.C=S.C(σB<'2003'(R)×σE='80'(S)))E3=πA,D(σB<'2003'(R)σE='80'(S)) E4=πA,D(σB<'2003'E='80'(RS))正确的结论是(44),表达式(45)的查询效率最高。(57)A.E1≡E2≡E3≡E4B.E3≡E4但E1≠E2C.E1≡E2但E3≠E4D.E3≠E4但E2≡E4

编译程序分析源程序的阶段依次是(21)。A.词法分析、语法分析、语义分析B.语法分析、词法分析、语义分析C.语义分析、语法分析、词法分析D.语义分析、词法分析、语法分析

自下而上语法制导翻译法的特点是语法分析栈与语义分析栈不需同步操作。()

是编译程序中语法分析器的接受单位,并产生供以后各阶段使用的有关信息。LR分析法、(2)和(3)是几种常见的语法分析技术,其中(2)和LR分析法属于自下而上分析法,而(3)属于自上而下分析法。LR分析法有SLR(1)、LR(0)、LR(1)和LALR(1)4种,其中(4)的分析能力最强,(5)的分析能力最弱。A.语句B.单词C.产生式D.表达式

语法制导的产生式有多组语义规则。() 此题为判断题(对,错)。

若有关系模式R(A,B,C)和S(C,D,E),关系代数表达式E1、E2、E3和E4,且 E1≡E2≡E3≡E4,如果严格按照表达式运算顺序,查询效率最高的是(42)。A.E1B.E2C.E3D.E4

若有关系模式R(A,B,C)和S(C,D,E),对于如下的关系代数表达式:正确的结论是(1),表达式(2)的查询效率最高。A.E1≡E2≡E3≡E4B.E3≡E4但E1≠E2C.E1≡E2但E3≠E4D.E3≠E4但E2≡E4

若有关系模式R(A,B,C)和S(C,D,E),对于如下的关系代数表达式:E1=πA,D (σB<'2003'∧R.C=S.C∧E='80' (R×S))E2=πA,D (σR.C=S.C (σB<'2003' (R)×σE='80' (S)))E3=πA,D (σB<'2003' ?σE='80' (S))E4=πA,D (σB<'2003'∧E='80' (SSC))正确的结论是(1),表达式(2)的查询效率最高。A.E1-E2=-E3=E4B.E3=E4但E1≠E2C.E1-E2但E3≠E4D.E2-E4但E1≠E3

编译程序一般采用(29)技术进行语义分析和生成中间代码。A.数据控制翻译B.流程控制翻译C.语法制导翻译D.面向对象的翻译

在对源程序进行编译的过程中, ( )是正确的顺序。A. 语义分析、语法分析、词法分析 B. 语法分析、词法分析、语义分析C. 词法分析、语法分析、语义分析 D. 词法分析、语义分析、语法分析

设E、E1、E2和E3是关系数表达式,下面列出的式子中,不满足等价变换规则的是A.πA(σπB='010'(E))=σB='010'(πA(E))B.(E1×E2)×E3=E1×(E2×E3)C.σA=6(σB='010'(E))=σA=6,B='010'(E)D.σA=6(E1×E2)=(σA=6(E1))×(σA=6(E2))

● 编译程序分析源程序的阶段依次是 (21) 。(21)A. 词法分析、语法分析、语义分析B. 语法分析、词法分析、语义分析C. 语义分析、语法分析、词法分析D. 语义分析、词法分析、语法分析

若有关系模式R(A,B,C)和S(C,D,E),对于如下的关系代数表达式:正确的结论是(13),表达式(14)的查询效率最高。A.E1≡E2≡E3≡E4B.E3≡E4但E1≠E2C.E1≡E2但E3≠E4D.E3≠4但E2≡E4

语法制导翻译是一种( )方法。A.动态语义分析B.中间代码优化C.静态语义分析D.目标代码优化

以编译方式翻译C/C++源程序的过程中,判断表达式的除数是否为零是( )的任务。A.词法分析B.语义分析C.语法分析D.目标代码生成

在关系R(A1, A2, A3)和S(A2, A3, A4)上进行关系运算的4个等价的表达式E1、E2、E3、E4,如下所示:如果严格按照表达式运算顺序执行,则查询效率最高的是表达式( )。A.E1B.E2C.E3D.E4

设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么()A、词法分析B、语法分析C、语义分析D、代码生成

以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));A、5B、语法错误C、2D、3

下面()语法制导翻译中,采用拉链—回填技术。A、赋值语句B、布尔表达式的计算C、条件语句D、循环语句

变压器的初、E2和初、N2之间的关系为()。次级电动势E1、次级线圈匝数N1、A、E1/E2=N1/N2B、E1/E2=N2/N1C、E1/E2=N12/ND、无明显规律

变压器的初、次级电动E1势1、E2和初、次级线圈匝数N1、N2之间的关系为()。A、E1/E2=N1/N2B、E1/E2=N2/N1C、E1/E2=N1²/N2²D、无明显规律

在公称厚度为e的管子上进行的焊接工艺评定对于实际壁厚为e1(最大值)和e2(最小值)之间的管子有效。则以下公式中e1和e2表示正确的有()A、e1=1.5e+3mmB、e2=0.75e,对于e>5mmC、e2=1e,对于e>5mmD、e2=0.85e,对于e≤5mmEe2=1.5e,对于e≤5mm

以下函数调用语句中实参的个数是() func((e1,e2),(e3,e4,e5));A、2B、3C、5D、语法错误

有电池反应:  (1)Cu(s)+ Cl2(pθ)─ 1/2Cu2+(a=1) + Cl-(a=1)  E1   (2)Cu(s)+ Cl2(pθ)─ Cu2+(a=1) + 2Cl-(a=1)   E2   则电动势 E1/E2的关系是:()A、E1/E2=1/2B、E1/E2=1C、E1/E2=2D、E1/E2=1/4

多选题下面()语法制导翻译中,采用拉链—回填技术。A赋值语句B布尔表达式的计算C条件语句D循环语句

单选题以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));A5B语法错误C2D3

单选题设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么()A词法分析B语法分析C语义分析D代码生成