第三章语法分析-复习+习题
- 格式:ppt
- 大小:352.50 KB
- 文档页数:29
第三章语法分析典型例题 :单项选择题3.1.1. 文法 G: S-xSxly 所识别的语言是 _____ (陕西省 1997 年自考题)a. xyxb. (xyx)*c. xnyxn(n ≥ 0)d. x*yx*3.1.2. 文法 G 描述的语言 L(G) 是指 _____ 。
a. L(G)= {α |S=α,α ∈ VT* }b. L(G)={ α |SA=α , α ∈ VT* }c .L(G)={ α |S=α,α∈ (VT ∪ VN)* } d. L(G)= {α |S=α , α∈ (VT ∪ VN)* }3.1.3. 有限状态自动机能识别_。
a. 上下文无关文法b. 上下文有关文法c. 正规文法d. 短语文法3.1.4. 设 G 为算符优先文法, G 的任意终结符对 a, b 有以下关系成立 ____ 。
a. 若 f(a)g(b) ,则 a bb. 若 f(a)<g(b) ,则 a<bc.a~b 都不一定成立d. a~b 一定成立3.1.5 .茹果文法 G 是无二义的,则它的任何句子α _ _。
(西电 1999 年研究生试题)a. 最左推导和最右推导对应的语法树必定相同b. 最左推导和最右推导对应的语法树可能不同c. 最左推导和最右推导必定相同d. 可能存在两个不同的最左推导,但它们对应的语法树相同3.1. 6. 由文法的开始符经。
步或多步推导产生的文法符号序列是 ____ 。
(陕西省 2000 年自考题)a .短语 b. 句柄 c. 句型 d. 句子3.1.7 .文法 G : E-E+TITT-T*P|PP-(E)|I则句型 P+T+i 的句柄和最左素短语分别为 __ _。
a. P+T 和 ib. P 和 P+Tc. i 和 P+T+id. P 和 P3.1.8 .设文法为: S--SA|AA→a|b则对句子 aba ,下面 ____ 是规范推导.a. S=SA=SAA=AAA=aAA=abA=abab. S=SA=SAA=AAA=AAa= Aba =abac. S=SA=SAA=SAa=Sba= Aba =abad. S=SA=Sa=Sba= Aba =aba3.1.9. 文法G: S → b| ∧ |(T)T-T,SIS则 FIRSTVT(T)=____ 。
《编译原理》课后习题答案第三章第3 章文法和语言第1 题文法G=({A,B,S},{a,b,c},P,S)其中P 为:S→Ac|aBA→abB→bc写出L(G[S])的全部元素。
答案:L(G[S])={abc}第2 题文法G[N]为:N→D|NDD→0|1|2|3|4|5|6|7|8|9G[N]的语言是什么?答案:G[N]的语言是V+。
V={0,1,2,3,4,5,6,7,8,9}N=>ND=>NDD.... =>NDDDD...D=>D......D或者:允许0 开头的非负整数?第3题为只包含数字、加号和减号的表达式,例如9-2+5,3-1,7等构造一个文法。
答案:G[S]:S->S+D|S-D|DD->0|1|2|3|4|5|6|7|8|9第4 题已知文法G[Z]:Z→aZb|ab写出L(G[Z])的全部元素。
盛威网()专业的计算机学习网站 1《编译原理》课后习题答案第三章答案:Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbbL(G[Z])={anbn|n>=1}第5 题写一文法,使其语言是偶正整数的集合。
要求:(1) 允许0 打头;(2)不允许0 打头。
答案:(1)允许0 开头的偶正整数集合的文法E→NT|DT→NT|DN→D|1|3|5|7|9D→0|2|4|6|8(2)不允许0 开头的偶正整数集合的文法E→NT|DT→FT|GN→D|1|3|5|7|9D→2|4|6|8F→N|0G→D|0第6 题已知文法G:<表达式>::=<项>|<表达式>+<项><项>::=<因子>|<项>*<因子><因子>::=(<表达式>)|i试给出下述表达式的推导及语法树。
(5)i+(i+i)(6)i+i*i盛威网()专业的计算机学习网站 2 《编译原理》课后习题答案第三章答案:<表达式><表达式> + <项><因子><表达式><表达式> + <项><因子>i<项><因子>i<项><因子>i( )(5) <表达式>=><表达式>+<项>=><表达式>+<因子>=><表达式>+(<表达式>)=><表达式>+(<表达式>+<项>)=><表达式>+(<表达式>+<因子>)=><表达式>+(<表达式>+i)=><表达式>+(<项>+i)=><表达式>+(<因子>+i)=><表达式>+(i+i)=><项>+(i+i)=><因子>+(i+i)=>i+(i+i)<表达式><表达式> + <项><项> * <因子><因子> i<项><因子>ii(6) <表达式>=><表达式>+<项>=><表达式>+<项>*<因子>=><表达式>+<项>*i=><表达式>+<因子>*i=><表达式>+i*i=><项>+i*i=><因子>+i*i=>i+i*i盛威网()专业的计算机学习网站 3《编译原理》课后习题答案第三章第7 题证明下述文法G[〈表达式〉]是二义的。
编译原理第三版课后习题答案编译原理是计算机科学中的一门重要课程,它研究的是如何将高级程序语言转换为机器语言的过程。
而《编译原理》第三版是目前被广泛采用的教材之一。
在学习过程中,课后习题是巩固知识、提高能力的重要环节。
本文将为读者提供《编译原理》第三版课后习题的答案,希望能够帮助读者更好地理解和掌握这门课程。
第一章:引论习题1.1:编译器和解释器有什么区别?答案:编译器将整个源程序转换为目标代码,然后一次性执行目标代码;而解释器则逐行解释源程序,并即时执行。
习题1.2:编译器的主要任务是什么?答案:编译器的主要任务是将高级程序语言转换为目标代码,包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等过程。
第二章:词法分析习题2.1:什么是词法分析?答案:词法分析是将源程序中的字符序列划分为有意义的词素(token)序列的过程。
习题2.2:请给出识别下列词素的正则表达式:(1)整数:[0-9]+(2)浮点数:[0-9]+\.[0-9]+(3)标识符:[a-zA-Z_][a-zA-Z_0-9]*第三章:语法分析习题3.1:什么是语法分析?答案:语法分析是将词法分析得到的词素序列转换为语法树的过程。
习题3.2:请给出下列文法的FIRST集和FOLLOW集:S -> aAbA -> cA | ε答案:FIRST(S) = {a}FIRST(A) = {c, ε}FOLLOW(S) = {$}FOLLOW(A) = {b}第四章:语义分析习题4.1:什么是语义分析?答案:语义分析是对源程序进行静态和动态语义检查的过程。
习题4.2:请给出下列文法的语义动作:S -> if E then S1 else S2答案:1. 计算E的值2. 如果E的值为真,则执行S1;否则执行S2。
第五章:中间代码生成习题5.1:什么是中间代码?答案:中间代码是一种介于源代码和目标代码之间的表示形式,它将源代码转换为一种更容易进行优化和转换的形式。
unit 3 语法练习题(学生版)一、选择题。
1.My bike is missing. I can't find ______ anywhere.A.oneB.onesC.itD.thatC 解析it指前文提到的同一个可数名词单数或不可数词,one指同类的一个, that指同类中的一个,以避免重复。
2.Who's that? _____professor Li.A.That'sB.It'sC.He'sD.She'sB 解析主语是that指人时,一般用让t来回答,不表示男女性别。
3.______Jane and Kate that I saw in the library this morning.A. It wasB.They wereC.These wereD.Those areA解析:此题是强调句, 强调句用it is/was,其中is不能用are代替,was不能用were代替。
4.-Have you ever seen a whale alive?-Yes, I’ve seen_______.A.thatB.itC.suchD.oneD 解析one用来指前文中提到的同类名词的单数,但不指同一个。
5.The color of my coat is different from_____of yours.A.thisB.thatC.itD.oneB 解析that等于当that用在表示比较的句子中时,用来代替前文中提到的可数名词单数或不可数名词,6.We think_______our duty to pay taxes to our government.A.thatB.thisC.itsD.itD 解析t在此句中作形式宾语,真正的宾语是后面的动词不定式。
7.________will do you good to do some exercise every day.A.ItB.ThereC.ThoseD.You(A)解析i在此句中作形式主语,真正的主语是后面的动词不定式8.______four years since I joined the army.A.There wasB.There isC.It wasD.It isD解析“段时间从句”是固定句型9.It was Oct. 1st______new China was founded.A. whichB.thatC.whenD.asC.解析此句it是指时间,when引导时间状语从句,如果前有介词on,应选因为有介词on就成了强调句。
语法分析练习题语法是语言的规则和结构,它帮助我们准确、清晰地表达思想和交流。
以下是一些语法分析练习题,让我们一起来巩固和提高语法知识吧!一、句子成分分析分析下列句子的成分:1、他在图书馆认真地看书。
“他”是主语,表示动作的执行者;“在图书馆”是状语,说明动作发生的地点;“认真地”是状语,描述动作的状态;“看”是谓语,表达动作;“书”是宾语,是动作的对象。
2、美丽的花朵在风中轻轻摇曳。
“美丽的花朵”是主语,其中“花朵”是中心语,“美丽的”是定语;“在风中”是状语;“轻轻”是状语;“摇曳”是谓语。
3、老师给我们讲了一个有趣的故事。
“老师”是主语;“给我们”是状语;“讲”是谓语;“一个有趣的故事”是宾语,其中“故事”是中心语,“一个”是数量词,“有趣的”是定语。
二、词性判断判断下列词语的词性:1、快乐“快乐”是形容词,通常用来描述人的心情或状态。
2、跑步“跑步”是动词,表示一种运动行为。
3、非常“非常”是副词,用于修饰形容词或动词。
4、这“这”是指示代词,用来指示较近的人或事物。
三、病句修改下面是一些病句,请找出错误并修改:1、我断定他可能生病了。
错误:“断定”表示肯定的判断,“可能”表示不确定,两者矛盾。
修改:我断定他生病了。
2、他经常回忆过去的往事。
错误:“过去的”和“往事”语义重复。
修改:他经常回忆往事。
3、这篇童话对我产生了兴趣。
错误:主客倒置,应该是“我对这篇童话产生了兴趣”。
修改:我对这篇童话产生了兴趣。
四、句式转换将下列句子进行句式转换:1、他把书递给了我。
(改为被字句)书被他递给了我。
2、我们不能忘记老师的教诲。
(改为反问句)我们怎么能忘记老师的教诲呢?3、他跑得很快。
(改为比喻句)他跑得像离弦的箭一样快。
五、标点符号使用判断下列句子标点符号使用是否正确,如果不正确请修改:1、今天的天气真好啊!正确。
2、你喜欢唱歌、跳舞、还是画画?错误,选择问句中,中间的“、”应改为“,”。
修改:你喜欢唱歌,跳舞,还是画画?3、妈妈说:“孩子你要好好学习。
编译原理第三章练习题答案编译原理第三章练习题答案编译原理是计算机科学中的重要学科,它研究的是如何将高级语言代码转化为机器语言的过程。
在编译原理的学习过程中,练习题是不可或缺的一部分,通过完成练习题可以更好地理解和掌握编译原理的知识。
本文将为大家提供编译原理第三章练习题的答案,希望对大家的学习有所帮助。
1. 什么是语法分析?语法分析是编译器中的一个重要模块,它的主要任务是根据给定的语法规则,对输入的源代码进行分析和解释。
语法分析器会根据语法规则构建一个语法树,用于表示源代码的结构和含义。
常用的语法分析方法有递归下降法、LL(1)分析法和LR分析法等。
2. 什么是LL(1)文法?LL(1)文法是一种特殊的上下文无关文法,它具有以下两个特点:(1) 对于任何一个句子,最左推导和最右推导是唯一的。
(2) 在预测分析过程中,只需要向前看一个输入符号就可以确定所采用的产生式。
LL(1)文法是一种常用的文法形式,它适用于递归下降法和LL(1)分析法。
3. 什么是FIRST集合和FOLLOW集合?FIRST集合是指对于一个文法符号,它能够推导出的终结符号的集合。
FOLLOW 集合是指在一个句型中,某个非终结符号的后继终结符号的集合。
计算FIRST集合和FOLLOW集合可以帮助我们进行语法分析,特别是LL(1)分析。
4. 什么是递归下降语法分析法?递归下降语法分析法是一种基于产生式的自顶向下的语法分析方法。
它的基本思想是从文法的开始符号开始,递归地根据产生式进行分析,直到推导出输入符号串或发现错误。
递归下降语法分析法的实现比较简单,但对于某些文法可能会出现回溯现象,影响分析效率。
5. 什么是LR分析法?LR分析法是一种自底向上的语法分析方法,它的基本思想是从输入符号串开始,逐步构建语法树,直到推导出文法的开始符号。
LR分析法具有较好的分析效率和广泛的适用性,常用的LR分析方法有LR(0)、SLR(1)、LR(1)和LALR(1)等。