河南城建学院编译原理考试B卷(带答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南城建学院*********学年第一学期期末考试
《编译原理》试题(B卷)
一、填空题:(每空1分,共10分)
1、符号表项的组织常采用线性法、二分法和(散列法)。

2、整个编译过程可以划分成五个阶段:(词法分析)、语法分析阶段、(语义分析及中间代码生成)、(代码优化)和目标代码生成阶段。

3、对于文法G,仅含终结符号的句型称为(句子)。

4、逆波兰式ab+c+d*e-所表达式为((a+b+c)*d-e)。

5、语言翻译常用的两种形式是(编译)和(解释)。

6、词法分析器输出的是单词符号,语法分析器输出的是(语法单元)。

二、选择题:(每空2分,共10分)
1、3型文法是(D)是语法分析使用的文法。

A.短语文法 B.上下文有关文法 C.上下文无关文法 D.正规文法
2、语法分析是依据语言的(A)规则进行的,中间代码产生是依据语言的()规则进行的。

A.语法,推导B.语义,产生式C.语法,语义D.推导,产生式
3、错误“变量类型声明不一致”将在( C )阶段发现。

A.词法分析 B.语法分析 C.语义分析 D.目标代码生成
4D)不是数据空间的使用方法和管理方法
A.静态存储分配 B.栈式动态存储分配 C.堆式动态存储分配 D.段页式存储分配
三、计算题:(每题6分,共24分)
1、对给定正规表达式b*(d∣ad) (b∣ab)+构造其NFA M。

解:先用R+=RR*改造题设的正规表达式为b*(d ∣ad) (b ∣ab) (b ∣ab)*,然后构造其
NFA M ,如图
109 (j, _,_,115) 110 (*,3,40,T1) 111 (*,2,2,T2) 112 (+,T1,T2,T3) 113 (−,X,42,T4) 114 ([ ]=,0, _,T4[T3]) 115
3、已知文法G[E]为:
E→T∣E+T
T→F∣T*F
F→(E)∣i
试确定T+T*F+i的最左素短语。

解:短语有:T+T*F+i
T+T*F
T
T*F
i
根据最左素短语必须具备的条件及短语的要求得到最左素短语为T*F。

4、对文法G[S]
S→a|∧|(T)
T→T,S|S
(1) 给出(a,(a,a))的最左推导。

是二义性文法。

解:对(a,(a,a)的最左推导为:
S(T)
(T,S)
(S,S)
(a,S)
(a,(T))
(a,(T,S))
(a,(S,S))
(a,(a,S))
(a,(a,a))
四、证明题(每题8分,共16分)
1、试证明文法G=({E,O},{(,),+,*,v,d},P,E),其中P为:
E→EOE∣(E)∣v∣d
O→+∣*
是二义性文法。

证明:对于句子v*v+d的语法树不只一棵,可画出语法树或写出两个不同的最左推导。

2、文法
E→E+E∣E*E∣E/E∣E↑E∣(E) ∣i
6→6、7→4、4→2是回边
由回边6→6组成的循环是{6},由回边7→4组成的循环是{4,5,6,7},由回边4→2组成的循环是{2,3,4,5,6,7}
2、文法G3:
S→A[B]
A→[B]|Aa
B→a
(1)求出各非终结符N的Firstvt(N)和Lastvt(N),构造包括语句括号'#'在内的算符优先表; (2)给出语句#[a][a]#的算符优先分析过程.
解:初始分划得
Π0:终态组{0},非终态组{1,2,3,4,5}
对非终态组进行审查:
{1,2,3,4,5}a {0,1,3,5}
而{0,1,3,5}既不属于{0},也不属于{1,2,3,4,5}
∵{4} a {0},所以得到新分划
Π1:{0},{4},{1,2,3,5}
∵{1,5} b {4}
{2,3} b {1,2,3,5},故得到新分划
Π2:{0},{4},{1, 5},{2,3}
{1, 5} a {1, 5}
{2,3} a {1,3},故状态2和状态3不等价,得到新分划Π3:{0},{2},{3},{4},{1, 5}
这是最后分划了
最小DFA:。

相关文档
最新文档