2014年编译原理期中试卷

合集下载

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 程序设计B. 程序翻译C. 程序调试D. 数据处理答案:B2. 下列哪一项不是编译器的前端处理过程?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,词法分析器的主要作用是什么?A. 识别程序中的关键字和标识符B. 将源代码转换为中间代码C. 检查程序的语法结构D. 确定程序的运行环境答案:A4. 语法分析通常采用哪种方法?A. 自顶向下分析B. 自底向上分析C. 正则表达式匹配D. 直接解释执行答案:B5. 语义分析的主要任务是什么?A. 检查程序的语法结构B. 检查程序的类型安全C. 识别程序中的变量和常量D. 将源代码转换为机器代码答案:B二、简答题1. 简述编译器的工作原理。

答案:编译器的工作原理主要包括以下几个步骤:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。

词法分析器将源代码分解成一系列的词素;语法分析器根据语法规则检查词素序列是否合法;语义分析器检查程序的语义正确性;中间代码生成器将源代码转换为中间代码;代码优化器对中间代码进行优化;最后,目标代码生成器将优化后的中间代码转换为目标机器代码。

2. 什么是词法分析器,它在编译过程中的作用是什么?答案:词法分析器是编译器前端的一个组成部分,负责将源代码分解成一个个的词素(tokens),如关键字、标识符、常量、运算符等。

它在编译过程中的作用是为语法分析器提供输入,是编译过程的基础。

三、论述题1. 论述编译器中的代码优化技术及其重要性。

答案:代码优化是编译过程中的一个重要环节,它旨在提高程序的执行效率,减少资源消耗。

常见的代码优化技术包括:常量折叠、死代码消除、公共子表达式消除、循环不变代码外提、数组边界检查消除等。

代码优化的重要性在于,它可以显著提高程序的运行速度和性能,同时降低程序对内存和处理器资源的需求。

四、计算题1. 给定一个简单的四则运算表达式,请写出其对应的逆波兰表达式。

编译原理(A卷)答案

编译原理(A卷)答案

湖北第二师范学院2014-2015学年度第二学期《编译原理》课程考试答案(A卷) 院系:计算机学院专业班级:学生姓名:学号:考试方式:闭卷………………………………………………………………………………………………………………一、填空题(每空1分,共10分)1.词法分析程序是逐个识别(字符),形成单词级别的(字符)串,词法分析程序输出的数据是(2 )个,它们分别是(种别编码)和(自身值)。

2.语法分析程序是逐个识别(单词),形成语句级别的(单词)串。

3.一遍扫描的编译方法,是以语法分析程序为主,调用(词法分析)程序、语义分析程序,再由语义程序调用中间代码生成、中间代码优化等。

4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即(静态存储分配)方案和(动态存储分配)方案。

二、综合题(共90分)1.(5分)将下面文法改写成3型文法:G=({S,A,B},{a,b,c,d,e},P,S)其中:P={S→abcA|edB,A→beB,B→d}答案:改写后的3型文法是(5分)G=({S,A,B,C,D,E,F},{a,b,c,d,e},P,S)其中:P={S→aC|eF, C→bD,D→cA,A→bE,E→eB,F→dB,B→d}2.(5分)给出下面表达式的四元式形式:a*b+(c-d)/e答案:四元式形式(5分)(*,a,b,t1)(-,c,d,t2)(/,t2,e,t3)(+,t1,t3,t4)3.(30分)给定文法 G[E] :E → E+T | E-T | TT → T*F | T/F | FF → (E) | i该文法是 LL(1) 文法吗?为什么?不是的能否改造为LL(1)文法,如果能够改造,给出改造后的文法,并给出改造后文法是LL(1)文法的证明过程。

无论改造前还是改造后的文法,如果是LL(1)文法,则给出(i+i)*i的分析过程(要求给出详细过程,并给出LL(1)的分析表)答案:(1)该文法不是LL(1)文法,因为文法的产生式含有左递归(2分)(2)该文法可改造为LL(1)文法,即消除左递归,改造后的文法是(3分)E → TE’E’→ +TE’ | -TE’ | εT → FT’T’→ *FT’ | /FT’ |εF → (E) | i证明改造后的文法是LL(1)文法的过程A.求可达ε的非终结符(1分)可达的是E’,T’B.求每个非终结符的First集合(3分)First(E)={ (,i}First(E’)={+,-}First(T)={ (,i}First(T’)={*,/}First(F)={ (,i}C.求每个产生式右部字符串的First集合(3分)First(TE’)={ (,i}First(+TE’)={+}First(-TE’)={-}First(FT’)={ (,i}First(*FT’)={*}First(/FT’)={/}First((E))={ ( }First(i)={ i }First(ε)={ ε}D.求每个非终结符的Follow集合(3分)Follow(E)={$,)}Follow(E’)= Follow(E)={$,)}Follow(T)=First(E’) ∪ Follow(E)={$,+,-,)}Follow(T’)= Follow(T)={$,+,-,)}Follow(F)= First(T’) ∪ Follow(T)={$,+,-, *,/,)}E.求每个非终结符的Select集合(5分)Select(E → TE’)=First(TE’)={ (,i }Select(E’→ +TE’)=First(+TE’)={ + }Select(E’→ -TE’)=First(-TE’)={ - }Select(E’→ε)=First(ε)-{ ε} ∪ Follow(E’)={ $,) }Select(T → FT’)=First(FT’)={ (,i }Select(T’→ *FT’)=First(*FT’)={ * }Select(T’→ /FT’)=First(/FT’)={ / }Select(T’→ε)=First(ε)-{ ε} ∪ Follow(T’)={ $,+,-,) }Select(F → (E))=First((E))={ ( }Select(F → i)=First(TE’)={ i }F.求有多个产生式的非终结符Select集合的交集(2分)显然有Select(E’→ +TE’)∩Select(E’→ -TE’) ∩Select(E’→ε)=ΦSelect(T’→ *FT’) ∩Select(T’→ /FT’) ∩Select(T’→ε)= ΦSelect(F → (E))= ∩Select(F → i)= Φ所以改造后的文法是LL(1)文法4.(10分)对下面的NFA进行确定化答题:第1第25.(15分)给定文法 G[E] :E → E+T | E-T | TT → T*F | T/F | F该文法是算符优先文法吗?是,则构造该文法的算符优先关系矩阵,并给出(i+i)*i的分析过程(要求给出详细过程)答案:(1)该文法是算符优先文法(1分)(2)构造该文法的算符优先矩阵A.求各非终结符的FirstVT集合(3分)FirstVT(E)={+,-,*,/,(,i}FirstVT(T)={*,/,(,i}FirstVT(F)={(,i}B.求各非终结符的LasttVT集合(3分)LastVT(E)={ +,-,*,/,),i }LastVT(T)={ *,/,),i }LastVT(F)={ ),i }C.构造优先关系表(4分)6.(25分)给定文法 G[E] :T → T*F | FF → (E) | i该文法是LR(0)文法吗?是,则构造该文法的LR(0)分析表,并给出(i+i)*i的分析过程,不是的,是SLR(1)文法吗,是,则构造该文法的SLR(1)分析表,并给出(i+i)*i的分析过程。

《编译原理》考试试题及答案

《编译原理》考试试题及答案

《编译原理》考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。

( X )2.一个句型的直接短语是唯一的。

( X )3.已经证明文法的二义性是可判定的。

( X )4.每个基本块可用一个DAG表示。

(√)5.每个过程的活动记录的体积在编译时可静态确定。

(√)6.2型文法一定是3型文法。

( x )7.一个句型一定句子。

( X )8.算符优先分析法每次都是对句柄进行归约。

(应是最左素短语) ( X )9.采用三元式实现三地址代码时,不利于对中间代码进行优化。

(√)10.编译过程中,语法分析器的任务是分析单词是怎样构成的。

( x )11.一个优先表一定存在相应的优先函数。

( x )12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

( )13.递归下降分析法是一种自下而上分析法。

( )14.并不是每个文法都能改写成LL(1)文法。

( )15.每个基本块只有一个入口和一个出口。

( )16.一个LL(1)文法一定是无二义的。

( )17.逆波兰法表示的表达试亦称前缀式。

( )18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

( )19.正规文法产生的语言都可以用上下文无关文法来描述。

( )20.一个优先表一定存在相应的优先函数。

( )21.3型文法一定是2型文法。

( )22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。

( )二、填空题:1.( 最右推导 )称为规范推导。

2.编译过程可分为(词法分析),(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。

3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。

4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。

5.语法分析器的输入是(),其输出是()。

6.扫描器的任务是从()中识别出一个个()。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案
编译原理是计算机科学中的一门重要课程,它涉及到程序设计语言的语法、语义分析以及编译器的设计与实现等内容。

下面我们将为大家提供一些编译原理的试题及答案,希望能够帮助大家更好地理解和掌握这门课程的知识。

1. 什么是编译原理?
编译原理是研究编译器的设计与实现的一门学科,它主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成等内容。

2. 什么是词法分析?
词法分析是编译原理中的一个重要内容,它主要负责将源程序转换成一个个的单词符号,也就是词法单元。

3. 什么是语法分析?
语法分析是编译原理中的另一个重要内容,它主要负责将词法单元序列转换成抽象语法树,以便进行后续的语义分析和中间代码生成。

4. 什么是语义分析?
语义分析是编译原理中的一个关键环节,它主要负责对源程序进行语义检查,以确保程序的正确性和合法性。

5. 什么是中间代码生成?
中间代码生成是编译原理中的一个重要环节,它主要负责将源程序转换成一种中间形式的代码,以便进行后续的代码优化和代码生成。

6. 什么是代码优化?
代码优化是编译原理中的一个关键环节,它主要负责对中间代码进行优化,以提高程序的执行效率和减少资源消耗。

7. 什么是代码生成?
代码生成是编译原理中的最后一个环节,它主要负责将优化后的中间代码转换成目标机器代码,以便计算机能够执行。

以上就是关于编译原理的一些试题及答案,希望能够帮助大家更好地理解和掌握这门课程的知识。

如果大家对编译原理还有其他疑问,可以随时向我们提问,我们将竭诚为大家解答。

2013-2014-2编译原理试卷A带答案-推荐下载

2013-2014-2编译原理试卷A带答案-推荐下载

2013– 2014学年第二学期 计算机科学与技术专接本专业编译原理试卷(A )卷一、填空题(每空2分,10个空,共20分,请将正确的答案填写在答题纸上)1.若将X 语言的源程序翻译成Y 语言的程序,翻译的实现语言为Z 语言,则称Z 语言是翻译的 宿主 语言2.设有字母表Σ={a,bb,c},字母表Σ上的符号串ω=abbc、,则|ω3|=93.设有有限自动机如下图所示,设I={x},则Ib={ 1,2,3 }4.语言中具有独立意义的最小语法单位是 单词5.设有文法S→ABc A→a|ε B→b|ε,则First(S)={ a,b,c }6.规范归约中的可归约串是指(句柄)。

7.中间代码产生是依据语言的 语义 规则进行的8.存储分配的基本单元是过程的 活动记录9.在基本块范围内的优化称为 局部优化10.在目标代码生成阶段,符号表是 地址分配___的依据。

二、选择题(每题2分,10题,共20分)(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填在答题纸上。

错选、多选或未选均无分。

)题 号一二三四五合计得 分阅卷人河北科技师范学院装订线系(部)班 级学 号姓 名1.目前最常用的文法表示方法为………………………………( A )A. BNF 表示法B.YACCC. LexD. DAG2. 下图所示自动机所描述的语言是…………………………………………( B)A. aa(ε(a|b)*(a|b))B. aa((a|b)*|ab)C. aa((a|b)|ab)D. aa((a|b|ab)*3. 词法分析器的输出结果是…………………………………………………( C )A .单词的种别编码B .单词在符号表中的位置C .单词的种别编码和属性值D .单词属性值4. 在自顶向下的语法分析方法中,分析的关键是…………………………( D )A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式5.设有文法G[S]为:S →AB A →Aa|bB B →a|Sb ,下面哪个不是句型 baSb 的短语…………………………………………………………………………………( C)A. baSbB. SbC.aSbD. ba6. 在编译过程中,引起源程序发生质的变化的阶段是………………………( B )A. 语法分析B. 语义分析C. 词法分析D. 中间代码生成7. 常用的两种动态存贮分配办法是 动态分配和 动态分配………( A)A. 栈式、堆式B. 栈式、队列式C. 堆式、队列式D. 记录式、队列式8. 有代码为 x=a+b+c; y=a+b+d;可以采用的优化方法是 ……………………………………………………(B5b a)A. 常量的合并与传播B. 公共子表达式删除C. 无用赋值的删除D. 死代码删除9. 设有如下代码段,则其可以被划分的基本块的个数为……………………( C )Read NI=NJ=2L1:if I≤J goto L3I∶=I-JJ∶=J+1goto L1L3:Print ′YES′haltA. 2B. 3C. 4D. 510.经过编译所得到的目标程序是……………………………( D )A.四元式序列 B.间接三元式序列C.二元式序列 D.机器语言程序或汇编语言程序三、判断题(每题1分,10题,共10分)(对的打“√”号错误的打“×”,写在答题纸上)1.解释程序和编译程序的区别在于是否生成目标代码…………(√)2.若一个文法是递归的,则它所产生语言的句子个数必定是无穷的……………………………………………………………………(√)3.词法分析应遵循的是语义规则…………………………………(×)4.语法分析方法中的递归下降分析法属于自底向上分析方法…( × )5.算符优先分析法的实质就是借助优先关系来寻找可规约串…(√)6.编译中进行语法检查的目的是为了发现程序中所有错误……( × )7.中间代码产生是依据语言的语义规进行的…………………(√)8.环境把名字映射到左值,而状态把左值映射到右值…………(√)9.含有优化功能的编译程序执行效率高 …………………………(×)10.目标代码指令越丰富,代码生成的工作越复杂………………(×)四、简答题(共四小题,每题5分,共20分)1. 设有确定的有限自动机M:({1,2,3,4,5},{a,b},f,1,{4,5})f(1,a)=2 f(1,b)=3f(2,a)=2 f(2,b)=3f(3,a)=4 f(4,a)=5f(4,b)=3 f(5,a)=2画出其状态转换图和状态转换矩阵状态转换图2. 设文法G(S): S→(L)|Sa|a L→L,S|La|ab消除其左递归,写出写出左递归后的文法S→(L)S’|aS’S’ →aS’|εL→abL’L’ →,SL’|aL’|ε3. 有文法G(S):S→a|∧|(T)T→T,S|S求非终结符S和T的FIRSTVT和LASTVT答案:FIRSTVT(S)={a,∧,(}FIRSTVT(T)={,,a,∧,( }LASTVT(S)={ a,∧,)}LASTVT(T)={,,a,∧,)}4. 写出赋值语句 a=w+(a+b)*(c+d/(e-10)+8)的逆波兰式和四元式表示逆波兰式:wab+cde10-/+8+*=四元式:+ a b t1- e 10 t2/ d t2 t3+ c t3 t4+ t4 8 t5* t1 t5 t6+ w t6 t7= t7 a五、分析题(3小题,每题10分,共30分)1. 给定非确定的有限自动机M如下图所示将M确定化,并画出确定化后的状态转换图(要求:写出步骤)2.设有文法G[S]:S→bBS′S′→aBS′|εA→S|aB→Ac其LL(1)分析表如下a b c#S S→bBS′S′S′→aBS′S′→εS′→εA A→a A→SB B→Ac B→Ac利用此分析表判断输入串bacaac(改)是否为文法G[S]的句子,给出bacaac的分析过程3. 应用DAG对下面的基本块进行优化,写出优化后的基本块(要求写出过程)1. T0:=3.14 6. T3:=2*T02. T1:=2*T0 7. T4:=R+r3. T2:=R+r 8. T5:=T3*T44. A:=T1*T2 9. T6:=R-r5. B:=A 10. B:=T5*T。

编译原理期中练习及答案

编译原理期中练习及答案
a
b
e
i
t
$
S─>a
S─>iCtSS'
S'
12
13
14
15
C─>b
《12》《13》《14》《15》A)空白
B)S'─>εC)S'─>eSD)S─>iCtSS'
七.对于下图所示的NFA,16是与它等价的一个DFA。
《16》A)
B)
C)
D)
八.对于文法G[S]
S─>a│^│(T)
T─>T,S│S
《17》《18》《19》《20》
《7》A)* B)L C)*L= D)*L=i
《8》A)S B)L C)= D)i
《9》A)* B)*L C)*L=i D)L
《10》《11》A)*L B)*பைடு நூலகம்C)L D)i
六.对于文法G[S]
S─>iCtSS'│a
S'─>eS│ε
C─>b
在坚持把e和最近的t相结合的原则指导下,将这个二义文法的LL(1)分析表计算如下(空白表示出错):
《3》《4》A)输入带中已由读写头读入的字符串与下推栈中的字符串B)输入带中尚未由读写头读入的字符串与下推栈中的字符串C)下推栈中的字符串与输入带中已由读写头读入的字符串D)下推栈中的字符串与输入带中尚未由读写头读入的字符串
三.词法分析器引入双缓冲的目的是5。
《5》A)加快读单词符号速度B)保证长单词也能装入缓冲C)减少缓冲空间D)保证所读单词符号一定在缓冲中
四.在构造LR(1)文法的NFA时,若有产生式
B─>γ,则从项目[A─>α.Bβ,a]出发,画一条读入ξ的弧到项目[B─>.γ,b],其中b =6。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案
试题:
1. 解释编译原理的定义,同时给出编译器的作用。

2. 简要描述编译过程中的四个基本步骤。

3. 解释词法分析器的功能和作用。

4. 解释语法分析器的功能和作用。

答案:
1. 编译原理是研究如何将高级语言程序转化为等价机器语言程序的一门学科。

编译器是将高级语言文本转换成等价的机器语言的软件工具。

它负责将源代码转化为目标代码,以便计算机能够理解和执行。

2. (1) 词法分析:将源代码分解成一系列单词或标记。

(2) 语法分析:根据语法规则组织单词或标记形成语法树。

(3) 语义分析:分析语法树以检测语义错误。

(4) 代码生成:根据语法树生成目标代码。

3. 词法分析器的功能是将源代码分解成一系列单词或标记。

它将源代码读取为字符流,然后将这些字符组成单词,同时可以去除空格、注释等不具有实际意义的内容。

词法分析器的作用是为语法分析器提供正确的单词序列,为后续的语义分析和代
码生成步骤建立基础。

4. 语法分析器的功能是根据语法规则组织单词或标记形成语法树。

它通过构建语法树来分析源代码的语法结构,同时可以检测语法错误。

语法分析器的作用是为后续的语义分析和代码生成步骤提供一个结构化的表示形式,便于后续的处理和转换。

编译原理期中测试题

编译原理期中测试题

系别___________________ 专业_____________________年级_____________________姓名_________________学号┈┈┈┈┈┈┈┈┈┈┈┈┈┈密┈┈┈┈┈┈┈┈┈┈┈┈┈┈封┈┈┈┈┈┈┈┈┈┈┈┈┈线┈┈┈┈┈┈┈┈┈┈┈┈┈┈计算机学院编译原理课期中测试题1.文法G所描述的语言是的集合。

A.文法G的字母表V中所有符号组成的符号串B.文法G的字母表V的闭包V*中的所有符号串C.由文法的开始符号推出的所有符号串D.由文法的开始符号推出的所有终结符串2.有文法G[I]:I→I1|I0|Ia|Ib|Ic|a|b|c ,下列符号串中是该文法的句子的有①ab0 ②a0c01 ③aaa ④bc10 可选项有:。

A.②③④B.①C.③D.①②③④3.词法分析所依据的是。

A.语义规则B.构词规则C.语法规则D.等价变换规则4.如果L(M) = L(M’),则M与M’。

A.等价B.M与M’都是二义的C.M与M’都是无二义的D.它们的状态数相等5.下面状态转换图接受的字集为。

1A.以0开头的二进制数组成的集合B.以0结尾的二进制数组成的集合C. 含奇数个0的二进制数组成的集合D.含偶数个0的二进制数组成的集合6.文法G[E]:E→T|E+T T→F|T*F F→a|(E)该文法句型E+F*(E+T)的直接短语是下列符号串的。

①(E+T) ②E+T ③F ④F*(E+T)可选项有:A.①③B.②③C.③④D.③7. 有限状态自动机能识别。

A.上下文无关文法B.上下文有关文法C.正规文法D.短语文法8. 如果文法G是无二义的,则它的任何句子 。

A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但他们对应的语法树相同9.产生正规语言的文法为文法A . 0型B .1型 C.2型 D.3型10、素短语是指_______的短语。

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态.(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分) 1.词法分析器的输出结果是_____。

A.( ) 单词的种别编码B.( )单词在符号表中的位置C.( )单词的种别编码和自身值D.()单词自身值2.正规式M 1 和M 2 等价是指_____。

A.() M1和M2的状态数相等B.( ) M1和M2的有向边条数相等C.( )M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____.A.()xyx B.()(xyx)*C.( ) xnyxn(n≥0) D.()x*yx* 4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.() 最左推导和最右推导对应的语法树可能不同C.()最左推导和最右推导必定相同D.()可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______.A.( )源程序B.()目标语言C.()编译方法D.( )以上三项都是6.四元式之间的联系是通过_____实现的。

编译原理考试试题和答案(汇总)

编译原理考试试题和答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分) 1.词法分析器的输出结果是_____。

A.( ) 单词的种别编码B.( ) 单词在符号表中的位置C.( ) 单词的种别编码和自身值D.( ) 单词自身值2.正规式M 1 和M 2 等价是指_____。

A.( ) M1和M2的状态数相等B.( ) M1和M2的有向边条数相等C.( ) M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____。

A.( ) xyx B.( ) (xyx)* C.( ) xnyxn(n≥0) D.( ) x*yx*4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.( )可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

《编译原理》历年试题及答案

《编译原理》历年试题及答案

<编译原理>历年试题及答案一.(每项选择2分,共20分)选择题1.将编译程序分成若干个“遍”是为了___。

a.提高程序的执行效率b.使程序的结构更加清晰c.利用有限的机器内存并提高机器的执行效率d.利用有限的机器内存但降低了机器的执行效率2.构造编译程序应掌握____。

a.源程序b.目标语言c.编译方法d.以上三项都是3.变量应当_。

a.持有左值b.持有右值c.既持有左值又持有右值d.既不持有左值也不持有右值4.编译程序绝大多数时间花在____上。

a.出错处理b.词法分析c.目标代码生成d.管理表格5.词法分析器的输出结果是____。

a.单词的种别编码b.单词在符号表中的位置c.单词的种别编码和自身值d.单词自身值6.正规式MI和M2等价是指____。

a. MI和M2的状态数相等b.Ml和M2的有向弧条数相等。

C.M1和M2所识别的语言集相等 d. Ml和M2状态数和有向弧条数相等7.中间代码生成时所依据的是—。

a.语法规则 b.词法规则 c.语义规则 d.等价变换规则8.后缀式ab+cd+/可用表达式___来表示。

a.a+b/c+d b.(a+b)/(c+d) c.a+b/(c+d) d.a+b+c/d9.程序所需的数据空间在程序运行前就可确定,称为______管理技术。

a.动态存储b.栈式存储c.静态存储d.堆式存储10.堆式动态分配申请和释放存储空间遵守________原则。

a.先请先放b.先请后放c.后请先放d.任意二(每小题10分,共80分)简答题1.画出编译程序的总体结构图,简述各部分的主要功能。

2. 已知文法G[E]:E→ET+|T T→TF* | F F→F^ | a试证:FF^^*是文法的句型,指出该句型的短语、简单短语和句柄.3.为正规式(a|b) *a(a|b)构造一个确定的有限自动机。

4.设文法G(S):S→(L)|a S|aL→L,S|S(1) 消除左递归和回溯;(2) 计算每个非终结符的FIRST和FOLLOW;(3) 构造预测分析表。

2014年编译原理期中试题1

2014年编译原理期中试题1

期中测试题一、填空题(每空1分,共15分)1、文法的类型有4 种,单词用3 型文法描述。

2、你学过的语法分析算法主要有LL(1) 、简单优先、算符优先、LR(0)、SLR(1) 、LR(1)。

3、程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。

4、简单优先分析法归约的对象是句柄,算符优先分析法归约的对象是符号串。

5、编译程序分为6个阶段分别是:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。

6、对编译程序而言,输入数据是源程序,输出结果是单词符号。

7、你所知道的词法分析和语法分程序自动构造工具有LEX YACC 。

8、C语言运行时栈式内存分配的活动记录内容一般包括:。

9、自下而上语法分析方法LR(0)与SLR(1)之间的关系为。

10、表达式(a+b)*c的逆波兰表示为:ab+c* 。

二、选择题(每题2分,共20分)1、哪个不是DFA的构成成分(D)A、有穷字母表B、初始状态集合C、终止状态集合D、有限状态集合2、词法分析器的输入是(B )A、单词符号串B、源程序C、语法单位D、目标程序3、在词法分析阶段不能识别的是(C )A、标识符B、运算符C、四元式D、常数4、自上而下语法分析的主要动作是(B)A、移进B、推导C、规约D、匹配5、文法[S]为S→AB|bC,A→ε|b,B→ε|aD,C→AD|b,D→aS|c,FOLLOW(A)为(A )A、{a,c,#}B、{c,#} C.、{a,#} D、{#}6、.设有文法G[S]: S→Ap|Bq,A→a|cA,B→b|dB ,则FIRST(Ap)为(C )A、{p,q}B、{b,d}C、{a,c}D、其他7、中间代码生成时所依据的是(C )A、语法规则B、词法规则C、语义规则D、等价变换规则8、在编译程序中与生成中间代码的目的无关的是(D )A、便于目标代码优化B、便于存储空间的组织C、便于目标代码的移植D、便于编译程序的移植9、一个S属性文法一般采用的语法制导翻译方法(D )。

2013-2014编译原理考试

2013-2014编译原理考试

2013-2014编译原理考试编译程序是对⾼级语⾔程序进⾏翻译在规范规约中,⽤句柄来刻画可规约串动态存储分配是指在运⾏阶段为源程序的数据对象分配存储空间词法分析的输出结果是单词的种别编码和⾃⾝值正规式等价是指所识别的语⾔集相等优化可⽣成运⾏时间短且占内存少的代码程序【⼀】⽂法和语⾔编译程序和翻译程序的区别编译程序是整体编译完了,⽣成⽬标代码,再⼀次性执⾏。

解释程序是⼀边解释,⼀边执⾏,并不形成⽬标程序。

⽂法⽂法是描述语⾔的语法结构的形式规则(即语法规则)。

⽂法G:定义为四元组(VN,VT,P,S)VN为⾮终结符号的集合,VT为终结符号的集合,P为产⽣式的集合,S为开始符号,是⼀个⾮终结符,⾄少要在⼀条规则中作为左部出现。

⽂法分类0型⽂法短语⽂法递归可枚举语⾔1型⽂法上下⽂有关⽂法上下⽂有关语⾔2型⽂法上下⽂⽆关⽂法上下⽂⽆关语⾔3型⽂法正规⽂法正规语⾔句型假定G是⼀个⽂法,S是它的开始符号。

如果S?*(表⽰从S出发,经0步或若⼲步可推出α),则称α是⼀个句型。

句⼦仅含终结符号的句型是⼀个句⼦。

语⾔由⽂法G⽣成的语⾔记为L(G),它是⽂法G的⼀切句⼦的集合推导直接推导规约直接规约直接推导:仅当A —>γ是⼀个产⽣式,有v =αAβ,w= αγβ,αAβ?αγβ,称v直接推导到w, 记作v ? w,也称w直接归约到v。

最左推导⼜称为规范推导。

语法树语法树的根结由开始符号所标记。

随着推导的展开,当某个⾮终结符被它的某个候选式所替换时,这个⾮终结符的相应结就产⽣了下⼀代新结。

每个新结和其⽗亲结间都有⼀条连线。

在⼀棵语法树⽣长过程中的任何时刻,所有那些没有后代的端末结⾃左⾄右排列起来就是⼀个句型。

⼆义⽂法如果⼀个⽂法存在某个句⼦对应两棵不同的语法树,则称这个⽂法是⼆义的。

也就是说,若⼀个⽂法存在某个句⼦,它有两个不同的最左(最右)推导,则这个⽂法是法是⼆义的。

⽂法的⼆义性证明:找出⼀个句⼦,它有两个不同的最左推导或最右推导短语语法树中⼀棵⼦树的所有叶⼦从左向右排列起来形成⼀个相对于⼦树根的短语。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 将高级语言代码翻译成机器语言代码B. 进行程序调试C. 进行代码优化D. 管理程序运行时的内存分配答案:A2. 词法分析器的主要任务是什么?A. 将源代码分解成多个语句B. 将源代码分解成多个词素C. 检查源代码的语法正确性D. 将词素转换为相应的语法单位答案:B3. 下列哪个是自顶向下的语法分析方法?A. LL(1)分析法B. LR(1)分析法C. LALR(1)分析法D. GLR分析法答案:A4. 语义分析的主要任务是什么?A. 检查程序的语法正确性B. 检查程序的类型正确性C. 将源代码转换为目标代码D. 进行程序的优化答案:B5. 代码生成阶段的主要任务是什么?A. 将语法树转换为目标代码B. 进行程序的优化C. 检查程序的类型正确性D. 将源代码分解成多个词素答案:A二、简答题1. 简述编译过程的主要阶段。

答案:编译过程主要分为四个阶段:词法分析、语法分析、语义分析和代码生成。

词法分析将源代码分解成词素,语法分析检查源代码的语法结构,语义分析检查源代码的语义正确性,代码生成将源代码转换为目标代码。

2. 什么是中间代码?它在编译过程中起到什么作用?答案:中间代码是一种介于源代码和目标代码之间的代码形式,它通常具有更接近于机器语言的特性,但仍然保持一定的抽象级别。

中间代码在编译过程中起到桥梁的作用,它使得代码优化和目标代码生成更加方便和高效。

三、论述题1. 论述编译器优化的几种常见方法。

答案:编译器优化主要包括以下几种方法:常量折叠、死代码消除、公共子表达式消除、循环优化、代码内联、寄存器分配等。

这些优化方法可以提高程序的执行效率,减少资源消耗,提高程序的运行速度。

结束语:本试题涵盖了编译原理的基本知识点,包括编译器的功能、编译过程的主要阶段、中间代码的作用以及编译器优化的方法。

希望考生能够通过本试题加深对编译原理的理解和掌握。

编译原理期中考试答案

编译原理期中考试答案

三、完成下列各题(共30分)1、(5分)2、(1)E⇒E+T⇒ E+T+T ⇒ E+T+F⇒ E+T+i⇒⇒ E+T*F+i⇒ T+T*F+i(3分)语法树(2分)(2)短语:T*F,T,i,T+T*F,T+T*F+i (1分)简单短语:T*F,T,i (1分)句柄:T (1分)活前缀:T (1分)可归前缀:T (1分)3、如果对于某文法的同一个句子存在两个不同的语法树则称该句子是二义性的,包含二义性句子的文法称为二义性文法。

(4分)对于句子i+i*i有两棵不同的语法树。

画出两棵不同的语法树(6分)四、(共40分)1、R=1(1|0)*|0正则式转化为NFA(5分)NFA转化为DFA,并换名(5分)DFA最小化(5分)K1={B,C,D} K2={A}K11={ C,D} K12={B}C,D为等价状态,合并等价状态为0,11 0,10,12、S→aBc|bABA→aAb|bB→b|ε(1)FOLLOW(S)={#}FOLLOW(A)={b,#}FOLLOW(B)= {c,#} (3分)(2)SELECT(S→aBc)={a}SELECT(S→Bab)={b}SELECT(S→aBc)∩SELECT(S→Bab)=ФSELECT(A→aAb)={a}SELECT(A→b)={b}SELECT(A→aAb)∩SELECT(A→b)={b}=ФSELECT(B→b)={b}SELECT(ε)={c,#}SELECT(B→b)∩SELECT(ε)=Ф所以该文法是LL(1)文法。

(7分)(3)(5分)3、对规则进行编号(0) S→A(1)A→Ab(2) A→bBa(3)B→aAc(4) B→a(5) B→aAb(1)为这个文法构造LR(0)项目集规范族。

(2)该文法是LR(0)文法吗?请说明理由。

(3)构造它的LR(0)分析表。

(15分)(2)状态C5存在“移进-归约”冲突,状态C9存在“归约-归约”冲突,所以该文法不是LR(0)文法。

编译原理期中试卷

编译原理期中试卷

《编译原理》期中试卷姓名_______ 学号__________ 成绩_______一、是非题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”。

每题2分) l、一个LL( l)文法一定是无二义的。

( )2、逆波兰法表示的表达式亦称前缀式。

( )3、目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

()4、正规文法产生的语言都可以用上下文无关文法来描述。

( )5、一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

( )6、因名字都是用标识符表示的,故名字与标识符没有区别()7、一个句型的真接短语语是唯一的。

()8、已经说明文法的二义性是可判定的。

()9、每个基本块可用一个DAG表示。

()10、每个过程的活动记录的体积在编译时可静态确定。

()11、并不是每个文法都能改写成LL(1)文法。

()12、如果一个文法存在某个句子对应两棵不同的语法树,则该文法是二义的。

()13、一个上下文无关文法的开始符号可以是终结符或非终结符。

()14、孤立地考虑一个基本块常常不能确定一个赋值是否真是无用的。

()15、含有优化部分的编译程序的执行效率高。

()16、凡是具有某种特殊性质的客体的聚合,都可称为集合。

()17、设有符号串x和y,把y的符号写在x的符号之后所得的符号串,叫做x与y的联结,记为xy。

()18、符号表由词法分析程序建立,由语法分析程序使用。

()19、编译程序中的语法分析器接受以语句为单位的输入,并产生有关信息供以后各阶段使用。

()20、若一个句型中出现了某一产生式的右部,则此右部一定是该句型的句柄。

()二、选择题:(每题2分)1、编译程序是一种常用的_________软件。

a.应用b.系统c.支撑d.自动化2、在使用高级语言编程时,首先可通过编译程序发现源程序的全部______错误和部分语义错误。

a.语法b.语义c. 语用d.运行3、运算符与运算对象类型不符"属于______。

《编译原理》期中及期末习题

《编译原理》期中及期末习题

《编译原理》期中及期末习题第⼀章⾼级语⾔与编译程序概述典型例题:单项选择题1.1.1.将编译程序分成若⼲个“遍”是为了___。

a.提⾼程序的执⾏效率b.使程序的结构更加清晰c.利⽤有限的机器内存并提⾼机器的执⾏效率d.利⽤有限的机器内存但降低了机器的执⾏效率1.1.2.构造编译程序应掌握____。

(陕西省2000年⾃考题)a.源程序b.⽬标语⾔c.编译⽅法d.以上三项都是1.1.3.变量应当_。

a.持有左值b.持有右值c.既持有左值⼜持有右值d.既不持有左值也不持有右值1.1.4.编译程序绝⼤多数时间花在____上。

(陕西省1998年⾃考题)a.出错处理b.词法分析c.⽬标代码⽣成d.管理表格1.1.5.____不可能是⽬标代码。

( 陕西省1997年⾃考题)a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码1.1.6.数组A[1…20,1…10]的⾸地址偏移量为0,按列存储,每个元素占⼀个字节,存储器按字节编址,则A[i,j]的偏移地址为____。

a.(i-1)X10+(j-1)b.(i-1)X20+(j-1)c. (i-1)+(j-1)X10d.(i-1)+(j-1)X201.1.7.使⽤____可以定义⼀个程序的意义。

a.语义规则b.词法规则c.产⽣规则d.左结合规则1.1.8.表达式X:=5中,变量x____。

a.只有左值b.只有右值c.既有左值⼜有右值d.没有左值也没有右值1.1.9.词法分析器的输⼊是__。

a.单词符号b.源程序c.语法单位d.⽬标程序1.1.10.中间代码⽣成时所遵循的是_。

a.语法规则b.词法规则c.语义规则d.等价变换规则1.1.11.编译程序是对__。

a.汇编程序的翻译b.⾼级语⾔程序的解释执⾏c.机器语⾔的执⾏d.⾼级语⾔的翻译1.1.12.词法分析应遵循_。

(陕西省2000年⾃考题)a.语义规则b.语法规则c.构词规则d.等价变换规则多项选择题:1.2.1 编译程序各阶段的⼯作都涉及到___。

编译原理期中考试

编译原理期中考试

C -> C ; D | D D -> L : T L -> L , id | id T -> int | real (1) 改写 改写G[C],使之适合自上而下分析. ,使之适合自上而下分析. (2) 为改写后的文法构造一个 (1)预测分析表. 为改写后的文法构造一个LL( )预测分析表. (3) 给出串: id : int ; id , id : real 的分析过程. 给出串: 的分析过程. 注意: 作为一个符号处理. 注意:int ,id ,real 作为一个符号处理. :(3) 答:( ) C DC' C' ;DC'| D -> L : T L idL' L' ,idL'| T int|real 过程:压入1个 输入为: 过程:压入 个C, 输入为:id:int; id,id:real 产生式 1. 展开 C 展开: C DC' 展开 DC' id:int;id,id:real D L:T 展开 L:TC' id:int;id,id:real L idL' 展开 idL':TC' id:int;id,id:real 匹配 L':TC' :int;id,id:real L' 查表(select(L' )={:}),展开 查表( ) 展开 :TC' :int;id,id:real 匹配 TC' TC int;id,id:real T int 查表( int)={int}),展开 查表(select(T int)={int}),展开 intC' int:id,id:real 匹配 C' ;id,id:real C' ;DC' 查表(select(C' ;DC')={;}),展开 查表( 展开 ;DC' ;id,id:real 匹配 DC' id,id:real D L:T 展开 L:TC' id,id:real L IdL' 展开 idL':TC' id,id:real 匹配 L':TC' ,id:real L' ,idl' 查表(select(L' ,idL')={,}),展开 查表( ) 展开 ,idL':TC' ,id:real 匹配 L':TC' :rea l L' 查表( 查表(select(L' )={:}),展开 ) 展开 :TC' :real 匹配 TC' real T real 查表( 查表(select(T real)={real}),展开 ) 展开 C' # C' 查表( 查表(select(C' )={#}) ) # OK

中南大学软件学院编译原理2014年期末考试试卷及参考答案

中南大学软件学院编译原理2014年期末考试试卷及参考答案

中南⼤学软件学院编译原理2014年期末考试试卷及参考答案《编译原理》2014年期终考卷学号:姓名:说明:1.本考卷中⼤写字母∈V N ,其他符号∈V T;2、试卷中⼀、⼆两题请作在考卷上⼀、概念题(20分)1、编译过程⼀般分为⼏个阶段?各阶段的输⼊输出分别为什么?2、写出(a+b)*(c-d) 的逆波兰式,三元式,四元式。

⼆、判断题(10分。

注:每答对⼀题得+2分;答错⼀题得-2分;不答者得0分)1、设∑为{a,b},则a,ba,{∑},?都是∑上的正规式。

()2、对于上下⽂⽆关⽂法G[S],若S?αAB?αβγ则A→γ⼀定是⼀条产⽣式规则,其中α,β,γ∈(V T∨V N)* ()3、对于逆波兰后缀式,⽆论从哪头开始分析均可得到唯⼀正确的分解。

()4、LR(0)分析法是⼀种规范归约法。

()5、算符优先分析法只能⽤来分析算符优先⽂法。

()三、(20分)∑={a,b,c} 设计DFA M ,以b开头且只含⼀个b。

并⽤程序实现四、(30分)设⽂法G[S]为S→aAcBe 问:1、构造算符优先关系表分析abbcbe。

A→Ab|b 2、消除左递归B→d五、(本题20分)设⽂法G为:S→SaT|TT→aS|b1、写出G的拓⼴⽂法2、画出活前缀识别⾃动机3、G是否为SLR(1)?若是,构造分析表,若不是,说明原因。

软件2014班编译原理考试答案及评分细则⼀、(20分)1.词法分析语法分析语义分析与中间代码产⽣优化⽬标代码⽣成源程序单词符号语法单位中间代码中间代码⽬标代码Proc 0:getchar();CASE char OF‘a ’,’b ’,…,’z ’:‘A ’,’B ’,…,’Z ’: proc 1 else error END CASE2、波兰:ab+cd-*三元:(1)(+, a, b ) (2)(-, c, d) (3)(*, (1), (2))四元:(1)(+, a, b, T1) (2)(-, c, d, T2) (3)(*, T1, T2, T3)⼆、(每⼩题2分)1、×;2、×;3、√;4、√;5、√。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S L.L|L L LB | B B0|1 1) 能否修改该文法,使得可以得到预测分析表?若可以,请给出修改后的文法 和相应的预测分析表,并用该预测分析表对输入串进行分析;若不可以,请 说明原因。 2) 该文法是 LR(0)文法么?是 SLR(1)文法么?如果是,请构造相应的 LR 分析 表。如果不是,请说明原因。 3) 构造 LR(1)分析表。并判断该文法是 LALR(1)么?
D. 最 右 素
3、什么是翻译程序:____________ A. 将某个语言程序转换成等价的另一种语言描述的程序的程序。 B. 将某个文法转换成另一种文法的程序。 C. 将某个语言程序转换成效率相同的另一种语言描述的程序的程序。 D. 将某个文法转换成文法描述的机器代码的程序。 4、给定语言 L={anbbn|n1},下列说法正确的是__________。 A. 产生 L 的 2 型文法是 G[S]: Sabb|A AaAb B. 产生 L 的 2 型文法是 G[S]: SaSb| AaAb|b C. 产生 L 的 2 型文法是 G[S]: SaAb AaAb|b D. 无法使用上下无关文法产生 L。 5. _______________正规式能产生形如:L = {anbnc| n1}的语言。 A. 存在一个 B. 不存在任何 C. 无法判断 D. 存在多个 6. 描述文法符号语义的属性有两种,分别是_(1) 和 (2)_,_(1)_值的计算依赖于 分析树中它的_(3)_的属性值, _(2)_值的计算依赖于分析树中它的_(4)_的属性值。 (a) 综合属性 (b)L-属性 (c) 父结点 (d)兄弟结点 (e)子结点 (f) 父 结 点 和兄弟结点 (g)S-属性 (h)继承属性 对于(1)(2)(3)(4)的选择是______。 A. abde B. ahef C.hade D. ahcf
2
三、 (10')构造与下述文法 G[S] 等价的 DFA: S A0 A A0|S1|0 四、 (20’)给定文法 G[E]: E (L)|a L L, E | E (1) 句子((a,a),a)是否是该文法产生的句子,如果是,给出对应的最右推导和 语法分析树。 (2) 给定翻译模式 : E {E.d=0} ( {L.d=E.d+1} L) E a {print(E.d)} L {L1.d = L.d}L1, {E.d=L.d}E L {E.d=L.d}E 基于该翻译模式,给出句子((a,a),a)的翻译输出。
3
武汉大学国际软件学院 2013-2014 学年第二学期期中考试考试试卷
课程名称: 《 编译技术及应用 》 ( A 卷) 层次:本科 年级: 2013 专业: 软件工程 姓名:___________________学号:___________________考分:______________
说明:1、答案一律书写在答题纸上,书写在试卷上或其他地方一律无效。 2、请准确规范书写姓名和学号,否则作废。
11. 文法 G[S]AB AaAb|ab BBc|c 不是________文法。 A. 0 型 B. 1 型 C. 2 型 D. 3 型
12. 给定文法 G[S]:SAB AaAb|ab BBc|c 若有句型 aAbBc,则该句型的短语是_________。 A. aAb、c B. ab、aAb C. Bc、c D. Bc、aAb 13、 在 LR 分析法中, 分析栈中存放的状态是识别规范句型_____的 DFA 状态。 A.句柄 B. 前缀 C.活前缀 D. LR(0) 项目 14、表达式 A*(B-C*(C/D))的逆波兰式是____。
A.ABC-CD/* B.ABCCD/*-* C.ABC-*CD/* D.(A),(B),(C)均不正确
15、在语法分析处理中, FIRST 集合、 FOLLOW 集合、 SELECT 集合均是 _____。 A.非终结符集 B.终结符集 C.字母表 D. 状态集
二、 (10')请说明编译程序和解释程序的工作模式有什么不同。
一. 单选题(15×2' =30') 1. 文法 G 所描述的语言是_____的集合。 A. 文法 G 的终结符集合 VT 的闭包 VT*中的所有符号串 B. 由文法的开始符号推出的所有终结符号串 C. 由文法的开始符号推出的所有符号串 D. 文法 G 的终结符集合 VT 中所有符号组成的符号串 2、一个句型中的___________称为该句型的句柄。 A. 最左短语 B. 最左素短语 C. 最左直接短语 短语
1
7. 关于属性和属性文法的说法错误的是________。 A. 属性加工的过程即语义处理过程,必须先构造一棵树,然后再通过访问这棵 树的各个结点来计算结点的属性值。 B. 终结符可以有综合属性,但不能有继承属性。 C. 属性分为综合属性和继承属性。 D. S-属性文法一定是 L-属性文法。 8. 根据课本中的介绍,关于 PL/0 语言描述错误的是_____ A.PL/0 编译程序将 PL/0 源程序编译成类 p-code 指令代码; B.类 pcode 指令代码,它不依赖任何具体计算机; C. PL/0 的编译器在完成所有单词的词法分析之后, 接下来再进行语法分析; D.PL/0 对标识符的长度有限制。 9. 对于 LR 分析表的构造中,不可能存在____________动作冲突 A. 移进/归约 B. 归约/归约 C. 移进/移进 D.以上都不对 10. LL(1)文法的条件是______。 要求 First(Yi)∩ First(Yj)=Φ, (1i≠jn) A. 对形如 X→Y1 | Y2 | … | Yn 的规则, B. 对形如 X→Y1 | Y2 | … | Yn 的规则,若 Yi*ε,则要求 First(Yj)∩ Follow(X)=Φ,(1i≠jn) C. A 和 B D. 都不是
相关文档
最新文档