编译原理阶段练习二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理练习二
一、填空题
1、假设G是一个文法,S是文法的开始符号,如果S⇒*x则称x是句型。
2、文法G产生的句子的全体是该文法描述的语言。
3、文法G[S]:S→AB A→aA|εB→bBc|bc描述的语言L(G[S])=
{a n b m c m | n≥0,m≥1} 。
4、已知文法G[E]:
E→T|E+T|E-T
T→F|T*F|T/F
F→(E)|i
该文法的开始符号是 E ,终级符号集合V T是{+ ,- ,* ,/ ,( ,) ,i },非终级符号集合V N是{E, T, F},句型T+T*F+i的短语有T+T*F+i, 第一个T,T*F和i。改写该文法以消除直接左递归,改写后的文法为:E→T{(+|-)T}, T→F{(*|/)F} , F→
(E)|i 。
5、乔姆斯基定义的四种形式语言文法分别为:0型文法(又称短语文法)、1型文法(又称上下文有关文法)、2型文法(又称上下文无关文法)、3型文法(又称正规文法)。
6、自顶向下语法分析方法的基本思想是:从识别符号出发,不断建立
直接推导,试图构造一个推导序列,最终由它推导出与输入符号串相同的
符号串。
7、递归下降法的主要原理是,对每个非终极符按其产生式结构产生相应语法分析子程序,其中的终极符产生匹配命令,而非终极符则产生调用命令,由于文法递归相应子程序也递归,所以称这种方法为递归子程序方法或递归下降法。
8、LL(K)分析法中,“K”的含义是向输入串中查看k个输入符号。
9、自底向上语法分析方法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上进行直接归约,试图归约到文法的开始符号。
10、LR(0)分析法的名字中,“L”的含义是从左到右进行分析,“R”的含义是采用最右推导的逆过程——最左归约,“0”的含义是向貌似句柄的符号串后查看0个输入符号。
二、选择题(单项或多项)
1、文法G所描述的语言是 d 的集合。
a.文法G的字汇表V中所有符号组成的符号串
b.文法G的字汇表V的闭包V*中的所有符号串
c.由文法的开始符号推出的所有符号串
d.由文法的开始符号推出的所有终极符号串
2、巴科斯-诺尔范式(即BNF)是一种广泛采用的 c 的工具。
a.描述规则
b.描述语言
c.描述文法
d.描述句子
3、描述语言L={a m b n|n≥m≥1}的文法为 d 。
a. Z→ Abb
b. Z→ABb
A→aA|a A→Aa|a
B→bB|b B→aBb|b
c. Z→Ab
d. Z→aAb
A→aAb|a A→Ab|aAb|ε
4、I→I1|I0|Ia|Ic|a|b|c
下列符号串中是该文法的句子的有 b c d .
a. ab0
b. a0c01
c. aaa
d. bc10
5、若一个文法是递归的,则它所产生语言的句子个数 a 。
a.必定是无穷的
b.是有限个的
c.根据具体情况而定
6、一个句型中的最左b 称为给句型的句柄。
a. 短语
b. 简单短语
c. 素短语
d. 终极符号
7、一个上下文无关文法G包括四个组成部分依次为:一组g ,一组h ,一个 e ,以及一组 c 。
a. 字符串
b. 字母数字串
c. 产生式
d. 结束符号
e. 开始符号
f. 文法
g. 非终极符号
h. 终极符号
8、下列文法 a 二义文法
E→EiT|T
T→T+F|iF|F
F→E*|(
a. 是
b. 不是
c. 无法判定
9、编译过程中,语法分析器的任务是 b c d 。
a.分析单词是怎样构成的
b.分析单词串是如何构成语句和说明的
c.分析语句和说明是如何构成程序的
d.分析程序的结构
10、语法分析的常用方法是 a b 。
a. 自顶向下
b. 自底向上
c. 自左向右
d. 自右向左
11、编译程序中的语法分析器接受以 c 为单位的输入,并产生有关信息供以后各阶段使用。
a. 表达式
b. 产生式
c. 单词
d. 语句
12、高级语言编译程序常用的语法分析方法中,递归下降分析方法属于 a 分析方法。
a. 自顶向下
b. 自底向上
c. 自左向右
d. 自右向左
13、LL(1)文法的条件是 c 。
a. 对形如U♑x1| x1|… | x n的规则,要求FIRST(x i)⋂ FIRST(x j)=∅, (i≠j)
b. 对形如U♑x1| x1|… | x n的规则,若x i ⇒*ε,要求FIRST(x j)⋂ FOLLOW(U)=∅
c. (a)和(b)
d. 都不是
14、已知文法G[E]:
E♑TE’
E’♑+TE’|ε
T♑FT’
T’♑*FT’|ε
F♑(E)|id
FOLLOW(F)= {*,+,#,}},FIRST(T’)= {*,ε}。
a. {*,+}
b. {*,ε}
c. {+,#,)}
d. {*,+,#,)}
e. {#,)}
f. {*,+,#,),id}
15、LR语法分析栈中存放的状态是识别b 的DFA状态。
a. 前缀
b. 可归前缀
c. 项目
d. 句柄
三、设有文法G[S]:
S♑A
A♑B|IF A THEN A ELSE A
B♑C|B+C|+C
C♑D|C*D|*D
D♑x|(A)|-D
(1)试问其中哪些是终极符号,哪些是非终极符号
(2)对于下列符号串:
(x*-x)
IF x+x THEN x*x ELSE -x
●IF -x THEN x ELSE IF x THEN x+x ELSE x
试分别构造其推导的语法分析树,并指出句柄。