编译原理习题.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.四元式之间的联系是通过_____实现的

A、临时变量B、序列行号C、程序变量D、符号表

2.中间代码生成时所依据的是_________

A、词法规则B、语法规则C、语义规则D、等价变换

3.在编译程序中与生成中间代码的目的无关的是______

A、便于目标代码的优化B、便于存储空间的组织

C、便于目标代码的移植D、便于编译程序的移植;4、在语法制导翻译中,不采用拉链-回填技术的语句是____

A.转向语句B、赋值语句C、条件语句D、循环语句

5、能正确表示算术表达式a+b*c+d的后缀式是____

A、abc*+d+B.abc*d++C.ab+cd*+D.bc*a+d+

6、对_____表进行变动较为困难

A、三元式B、间接三元式C、四元式D、三地址码;7、P202练习5.2.3.有产生式A→BCD,其中四个文法符号均有两个属性,s为综合属性,i为继承属性。

判断是否符合S属性定义;是否符合L属性定义;是否存在和这些规则一致的求值过程

1)A.s=B.i+C.s

2)A.s=B.i+C.s和D.i=A.i+B.s

3)A.s=B.s+D.s

4)A.s=D.i,B.i=A.s+C.s,C.i=B.s和D.i=B.i+C.i;85.3.1E→E+T|TT→num.num|num

1)给出一个SDD来确定每个项T和表达式E的类型

解:重写文法为:E→E1+T|TT→num1.num2|num

引入属性type,type为int表示整型,为float表示实型,给出SDD:

产生式语义规则

E→E1+T if(E1.type==int)(T.type==int)

E.type=int;

elseE.type=float;

E→T E.type=T.type

T→num1.num2 T.type=float

T→num T.type=int;95.4.4为下面的产生式写出与例5.10类似的一个L属性SDD。

S→if(C)S1elseS2

解:语义规则为:

L1 =new();

L2 =new();

C.true=L1;

C.false =L2;

S1.next=S2.next=S.next;

S.code =C.code||label||L1||S1.code||goto||S.next||label||L2||S2.code;105.5.5按照5.5.4节的风格,将5.4.4中得到的每个SDD和一个LR语法分析器一起实现。

解:加入必要的占位符,重写文法为:

S→if(M1C)M2S1elseM3S2

M→ε

假设S.next位于归约之后的栈顶第二条记录:可以给出S识别过程的LR语法分析栈变化及相关代码如下:;?;?;?;11、为下面的表达式构造DAG

((x+y)-((x+y)*(x-y)))+((x+y)*(x-y));12、P237练习6.2.1将算术表达式a+-(b+c)翻译成抽象语法树、四元式序列、三元式序列、间接三元式序列。;12、P237练习6.2.1将算术表达式a+-(b+c)翻译成抽象语法树、四元式序列、三元式序列、间接三元式序列。;13、P237练习6.2.2

a=b[i]+c[j];13、P237练习6.2.2

a[i]=b*c–b*d;14、6.5.1(1)假定图6-26中的函数widen可以处理图6-25a的层次结构中的所有类型,翻译下列表达式。假设x是浮点型,s是短整型,c是字符型。

x=s+c

t1=(short)c

t2=s+t1

t3=(float)t2

x=t3;15、6.4.6(1)一个按行存放的整数数组A[i,j]的i的范围为1-10,下标j的范围为1-20。每个整数占4个字节。假设数组A从0字节开始存放,请给出下列元素的位置:

A[4,5]

[(4-1)*20+(5-1)]*4=256

6.4.7(1)按列存放方式

[(5-1)*10+(4-1)]*

文档评论(0)

智乾 + 关注
实名认证
内容提供者

科技工作者

1亿VIP精品文档

相关文档