- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理样题1教程
*编译原理
一、 是非题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”。 每题1分,共 5分)
l、一个LL( l)文法一定是无二义的。…………………………………………… ? (? )
2、逆波兰法表示的表达式亦称前缀式。……………………………………………( )
3、目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。……………(? )
4、正规文法产生的语言都可以用上下文无关文法来描述。………………………( ? )
5、一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
????? ……………………………………………………………………………………( )
二、填空题(每题2分,共5分)
1、语法分析是依据语言的(???? )规则进行的,中间代码产生是依据语言的 (???? )规进行的。
2、程序语言的单词符号一般可以分为 (????? )等等。
3、语法分析器的输入是(???? ),其输出是(?? ? )。
4、所谓自上而下分析法是指(????? )。
5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( ???? )。
6、对于文法G,仅含终结符号的句型称为(???? )。
7、逆波兰式ab十c+d*e—所表达的表达式为( ???? )。
8、一个名字的属性包括(????? )和( ???? )。
9、对于数据空间的存贮分配, FORTRAN采用(????? )策略, PASCAL采用(????? )策略。
10、所谓优化是指(????? )。
三、名词解释题(每题2分,共10分)
l、词法分析器:
2、语法:
3、最右推导:
4、语法制导翻译:
5、基本块:
四、简述题(每题4分,共24分)
l、考虑下面的程序:
????? …………
??? Var i: integer;
??????? a:array[1··2] of integer;
? prncedure? Q( b);
??????? Var?? b: integer;
??????? Begin
?????????? i:=1; b:=b十2;
???????????? i:=2;b:=b+3
??????? End;
??? Begin
??????? a[1]:=5; a[2]:=6;
??????? i: = 1;
??????? Q(a[i]); print(a[l], a[2])
??? End.
??? 试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出 a[l], a[2]的值
是什么?
???
2、画出识别pascal中实常数(可带正负号,但不含指数部分)的状态转换图。
3、已知文法G(S):
?? S→a|(A)
?? T→T,S|S
的优先关系如下:
4、写出表达式(a+b)/(a-b)-(a+b*c)的三元序列及四元序列。
5、符号表的作用是什么?符号表的查找和整理技术有哪几种?
6、何谓DISPLAY表?其作用是什么?
五、计算题(10分)
1、写一个文法使其语言为偶数集,且每个偶数不以0开头。(5分)
2、已知文法G(S):
?? S→a|(T)
?? T→T,S|S
(1)给出句子(a,(a,a))的最左推导并画出语法树;
(2)给出句型((T,s)a )的短语、直接短语、句柄。(8分)
3、把语句
?? if x>0 y>0 then z:=x+y
??????????????? else Begin
????????????????????? x:=x+2
????????????????????? y:=y+3
???????????????????? End;
翻译成四元式序列。(6分)
4、设某语言的for语句的形式为
????? for i:=E(1) to E(2) do S
其语义解释为
??????? i:=E(1)
??????? LIMIT:=E(2)
? again: if i<=LIMIT then
????????? Begin
?????????? S;
?????????? i:=i+1
?????????? goto again
????????? End;
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。(6分)
5、设文法G(S):
?? S→S+aF|aF|+aF
?? F→*aF|*a
(1)消除左递归和回溯;
(2)构造相应的FIRST和Follow集合;
(3)构造预测分析表。(10分)
6、对以下基本块
?? T1=2
?? T2:=A一B
?
文档评论(0)