编译原理考试

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

编译原理考试

————————————————————————————————作者:————————————————————————————————日期:

一、判断对错:(对√;错 ;每小问2分共24分)

<1>算符优先分析法是一种规范归约分析法。( )

<2>若文法Gs中不含形如T→…BD…的产生式,T、B、D∈V N,则称Gs为算符文法。(√)

<3>若一个语言是有穷集合,则定义该语言的文法一定是递归的。( )

<4>若两个正规式所表示的正规集相同,则认为二者是等价的。(√)

<5>LR分析法是一种规范归约分析法。(√)

<6>一个LR(0)项目集I={B →α.bβ, P →aA.},则说I中含有“移进—归约”冲突。(√)

<7>SLR(1)文法是无二义性文法。(√)

<8>消除左递归后的文法一定是LL(1)文法。( )

<9>对任何编译程序而言,代码优化是必不可少的。( )

<10>编译程序与具体的机器无关。( )

<11>在自动机的概念中,终态与非终态是可区别的。(√)

<12>逆波兰式ab+cd+*所代表的中缀表达式是:(a+b)*(c+d)(√)

1. 一个语言有文法是不惟一的。(√)

2. 若一个语言是无穷集合,则定义该语言的文法一定是递归的。(√)

3. 紧跟在条件转移语句后面的语句是基本块的入口语句。(√)

4. 算符优先分析法是一种规范归约分析法。( )

5. 自下而上语法自导翻译的特点:当栈顶形成句柄时,在归约的同时执行其语义动作。(√)

6. LR(0)文法、SLR(1)文法都是无二义性文法。(√)

7.K、∑分别表示有限状态集和有穷字母表, DFA M的转换函数f是一个从K ⨯∑到K的单值映射。(√)

8. 对任何编译程序而言,代码优化是必不可少的。( )

9. 直接短语是某规则的右部,它对应简单子树叶结点从左到右排列形成的符号串。(√)

10. 两个有穷自动机等价是指它们的状态数和有向弧数相等。( )

11. 一个LR(0)项目集为:I={A→α.bβ, D→β.},则说I中含有“移进--归约”冲突。

(√)

12. 若两个正规式所表示的正规集相同,则认为二者是等价的。(√)

13. 无左递归的文法是LL(1)文法。( )

14. 逆波兰式abcde/+*+所代表的中缀表达式是:a+b*(c+d/e)(√)

15. 编译程序结构中,中间代码优化及目标代码生成两个阶段与具体的机器有关。( )

16. LALR分析法中,同心集的合并不会产生“移进--归约”冲突。(√)

<1>算符优先分析法是一种规范归约分析法。(错)

<2>若文法Gs中不含形如T→…BD…的产生式,T、B、D∈V N,则称Gs为算符文法。(对)

<3>若一个语言是有穷集合,则定义该语言的文法一定是递归的。(错)

<4>若两个正规式所表示的正规集相同,则认为二者是等价的。(对)

<5>LR分析法是一种规范归约分析法。(对)

<6>一个LR(0)项目集I={B →α.bβ, P →aA.},则说I中含有“移进—归约”冲突。(对)

<7>SLR(1)文法是无二义性文法。(对)

<8>消除左递归后的文法一定是LL(1)文法。(错)

<9>对任何编译程序而言,代码优化是必不可少的。(错)

<10>编译程序与具体的机器无关。(错)

二、<1>将下图所示的NFA确定化。(状态转换矩阵4分;状态转换图2分)

解:<1> 状态转换矩阵4分状态转换图2分

<2>给出语言L={ d a n b | n≥1}相应的文法。

G A:A → dBb G A:A → dB

B→ aB |a B → aB | ab

三、①编译程序的工作过程一般划分为五个基本阶段: B;D 、语义分析和中间代码生成、代码优化和目标代码生成。

A.出错处理

B.词法分析

C.表格管理

D.语法分析

②已知文法G E:E→E+T | T T→T*F | F F→(E) | b 那么,该文法终结符集合

V T= A;C ,G E称2型文法或上下文无关文法。

A. {+,(,),*,b}

B. {+,(,),*,E}

C. {+,*,(,),b}

D. {E,T,F}

③已知文法G E:E→E+T | T T→T*F | F F→(E) | b 那么,该文法的非终结符集

V N= B ,G E称2型文法或上下文无关文法。

A. {+,(,),*,b}

B. {E,T,F}

C. {+,*,(,),b}

D. {E,T,F,*,+}

④文法用于描述语言的语法结构,它由如下四个部分组成: A;C;D 和文法开始符号。

A.文法终结符集

B.字母数字串

C. 文法非终结符集

D.文法产生式集

⑤一个文法被称为是二义性的,如果 A , D 。

A.文法的某一个句子有两个以上的最右或最左推导。

B.文法的预测分析表中有多重入口。

C.文法的某个LR(0)项目集中有冲突项目。

D.文法的某一个句子有两棵以上不同的语法树。

⑥程序设计语言的单词符号一般可分为五种,它们是保留字、 A;D 及运算符和定界符。

A.常数

B.表达式

C.注解

D.标识符

⑦设有一个LR(0)项目集I={A→β.bδ, B→β. ,D→δ.},I中存在冲突项目,

它们是 A;D 。

A.“移进-归约”冲突

B. “移进-接受”冲突

C. “移进-待约”冲突

D. “归约-归约”冲突

⑧一个文法的SLR(1)方法和与其相应的LR(0)方法的状态数 A 。

A.相同

B.不相同的

C.前者大于后者

D.后者大于前者

1.编译程序的工作过程一般划分为五个基本阶段:词法分析、 B D 、中间代码优化、目标代码生成。

A.出错处理

B.语法分析

C.表格管理

D.语义分析与中间代码生成

2.识别某文法所有LR(0)项目集簇的DFA中,若项目集k中含有项目“A→δ.”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →δ”归约的语法分析方法是 D 。

A.LALR分析法B.LR(0)分析法

C.LR(1)分析法D.SLR(1)分析法

3.程序设计语言的单词符号一般可分为五种,它们是常数、 C D 及运算符和定界符。

A.注解

B.表达式

C.标识符

D.保留字

4.文法用于描述语言的语法结构,它由如下四个部分组成: A C D 和文法开始符号。

A.文法终结符集

B.字母数字串

C. 文法非终结符集

D.文法产生式集

5.一个文法被称为是二义性的,如果 A C 。

A.文法的某一个句子有两个以上的最右或最左推导。

B.文法的预测分析表中有多重入口。

C.文法的某一个句子有两棵以上不同的语法树。

D.文法的某个LR(0)项目集中有冲突项目。

相关文档
最新文档