编译原理习题课(词法分析)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整理ppt
11
四.解答题
1.已知语言求文法
(1).构造语言L(G[S])={ (n )n | n≥0 } 的文法。
句子结构特征: L={ε,(),(( )),((( ))),…}
文法为: G[S] : S→(S) | ε
(2).构造语言L(G)={ am bn | n>m>0 } 的文法。
单独生成am 或bn 可以用 A→Aa|a B→Bb|b
c. ε|0|1 (00|01|10|1ε|0|1 (00|01|10|11) *
e. 没有一个
整理ppt
7
5.有文法 G[S]=( {S , A , B } , {a , b} , P , S ) 其中P为: S→AB | AS
A→a | aA
B→b |bb 则图所示的语法树中,_b____正确的描述了对符号
整理ppt
1
词法分析习题课 一、填空题
1.设文法G[<id>]的产生式是 <id>→a | b | c | <id>a | <id>c | <id>0 | <id>1则
文法的终结符号集合VT=_a_,b_,c_,0_,_1 __ ,非终结符号 集合VN=___<i_d_>_____。
2.高级程序设计语言的翻译主要有两种方式: __编_译__方_式__和__解_释__方_式__。二者的根本区别在于 __是_否__生_成__目_标__代_码______。
整理ppt
2
3.一个文法G[Z]若存在推导Z=+>…Z…则称G[Z]是 _递__归__文法,这类文法所产生的句子有_无__穷_个。
4.编译过程中扫描器所完成的任务是从字符串形 式的__源_程__序__中识别出一个个具有独立意义的最 小语法单位------__单_词_____。
5.高级语言程序设计的单词通常分为五类,它们 是_保_留__字__、__标_识__符_、___常_量__、__运_算__符_、__界_符___。
则下列符号串中为该文法句子的是__a_, _c_, f__。
a.a b.ab0 c.a0c01
d.0a e.11
f.aa整a理ppt
6
3.如果一个文法满足_a_,b_,_c,_d__,则称该文法是二义文法。
a.文法的某一个句子存在两棵以上的语法树。
b.文法中存在某个句子,它有两个以上的最右(或最左) 推导。
要考虑句子中b的个数大于a的个数,因此文法为
G[S]: S→Ab | Sb
A→aAb | ab
整理ppt
12
(3).L={w | w∈{0,1}+ , 且w不含两个相邻的1} G[S] : S→0 | 1 | 0S | 1A A→0S | 0
(×)8.一个句型对应的一棵语法树包括了该句型 的所有推导。
(√ )9.对每一个左线性文法G1,一定存在一个右 线性文法G2,使得L(G1)=L(G2)。
(×)10.存在这样一些语言,它们能被确定的有穷 自动机识别,但不能用正规式表示。
(×)11.每一个DFA都对应有唯一的一个NFA。
(√ )12.每一个NFA都对应有唯一的一个最小化的
串“aaabb”的推导过程。
整理ppt
8
6.下列工作中,由编译程序扫描器完成的任务有_a_…_g___. a.组织源程序的输入 b.按词法规则分割出单词,识别出其属性 c.删除注解 d.删除空格以及无用字符 e.行计数、列计数 f.发现并定位词法错误 g.建立符号表
7.假设正在为PASCAL语言构造编译程序,下述单词中, ___c____不需要超前搜索即可识别。
9.已知文法G定义为:G=( {S,W,X,Y,Z} , {x,y,z} , P , S )
与该文法描述相同语言的正规表达式有___b____。
其中P为 S→WZ
a.xx* | yy* | zz*
W→X | Y
b. (xx* | yy* ) zz*
X→x | xX
c. xx* ( yy* | zz*)
c.文法中存在某个句子,它有两个以上的最右(或最左) 归约。
d.在进行归约时,文法的某些规范句型的句柄不唯一。
4.下述正规表达式中,__e____描述了字母表{a,b}上长度不 为3的符号串。
a. (ε|0|1|00|01|10|11) ( (0|1) (0|1) *)
b. ε|0|1|00|01|10|11| (0|1) (0|1) +
(×)3.可以使用相同的编译程序在不同类型的计 算机上对同一种高级语言的程序进行翻译。
(×)4.一个语言的文法是唯一的。
(√ )5.若一个语言的句子有无穷多个,则对应的 文法必定是递归的。
(√ )6.正规文法不能产生语言L={anbn|n≥1}。
整理ppt
4
(√ )7.上下文无关文法可以产生语言
L={anbnci | i≥1 , n≥1}。
6.词法分析程序的输出形式为___单_词___,每一个
_单__词___由_单_词__种_别__码__和单__词_自__身_值__两部分组成。
整理ppt
3
二.判断题
(×)1.编译程序的输入是高级语言程序,输出是 机器语言程序。
(×)2.每一个编译程序都由词法分析、语法分析、 语义分析、代码优化、代码生成五部分组成。
Y→y | yY
d. (xx | yy)* zz*
Z→z | zZ
e. xx* yy* zz*
整理ppt
10
10.设有穷自动机的状态图如图所示,其中,状态 ①为开始状态,状态③为终止状态。下述正规 表达式中___c____不可被该有穷自动机接受。
a.0(10)*0
b.11(01)*1
c.1(101)*00
DFA。
整理ppt
5
三.选择题
1.文法G所描述的语言是__d___的集合。
a.文法G的字母表∑中所有符号组成的符号串。
b.文法G的字母表∑的闭包V*中所有符号串。
c.由文法的识别符号推出的所有符号串。
d.由文法的识别符号推出的所有终结符号串。
2.设文法G[<id>]的产生式是
<id>→a | b | c | <id>a | <id>c | <id>0 | <id>1
a. end
b.case
c. :=
整理ppt
9
8.下述正规表达式中__d_,_e ___与(a*+b)*(c+d)等价。
a.a*(c+d)+b(c+d)
b. a*(c+d)*+b(c+d)*
c. a*(c+d)+b*(c+d)
d. (a+b)*c+(a+b)*d
e. (a*+b)*c+(a*+b)*d