编译原理试题B及答案

合集下载

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

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

《编译原理》考试试题及答案(附录)一、判断题: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.扫描器的任务是从()中识别出一个个()。

《编译原理》试卷B答案【考试试卷答案】

《编译原理》试卷B答案【考试试卷答案】

《编译原理》试卷B 答案【考试试卷答案】《编译原理》课程考试试卷B 答案一:(每选项2分)DFABA 二:(每题2分)× √××√ 三:(每题10分) 1. 解答:S-属性文法是只含有综合属性的属性文法。

L-属性文法要求对于每个产生式A X1X2…Xn ,其每个语义规则中的每个属性或者是综合属性,或者是Xj 的一个继承属性,且该属性仅依赖于:(1) 产生式Xj 的左边符号X1,X2…Xj -1的属性; (2) A 的继承属性。

S-属性文法是L-属性文法的特例。

2.什么是句柄?什么是素短语?一个句型的最左直接短语称为该句型的句柄。

素短语是这样的一个短语,它至少包含一个终结符并且不包含更小的素短语。

3.答:(1)E ⇒T ⇒F ⇒(E) ⇒(E+T) ⇒(E+F) ⇒(E+i) ⇒(T+i) ⇒(T*F+i) (2)短语:(T*F+i), T*F+i, T*F, i 直接短语:T*F, i 句柄:T*F 素短语:T*F, i4. 答:文法:S → 1S0|A|ε A →0A1|011最小化:{1,2,3} {4}{1,2,3}0={2,4} {1,3} {2} {4}6.解答:计算文法的FIRST 和FOLLOW 集合: FIRST(M) = { a ,b ,e ,d ,ε }FIRST(T) = { a ,b ,e ,d ,ε } FIRST(B) = {b ,e ,d ,ε } FIRST(D) = {d ,ε}FOLLOW (M) = {#}FOLLOW (T) = { a ,b ,e ,d ,#} FOLLOW (B) = {a ,# }FOLLOW (D) = { b}检查文法的所有产生式,我们可以得到:1. 该文法不含左递归,2. 该文法中每一个非终结符M ,T ,B ,D 的各个产生式的候选首符集两两不相交。

3. 该文法的非终结符T 、B 和D ,它们都有ε候选式,而且FIRST(T)∩FOLLOW(T)={ a ,b ,e ,d }≠φ 所以该文法不是LL(1)文法。

编译原理考试题库B

编译原理考试题库B

西北民族大学计算机科学与信息工程学院期末考试编译原理试卷(B卷)专业:计算机科学技术课程代码: 15002171学号: 姓名:一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题后的括号内。

每小空1分,共 10 分)1、一般程序设计语言的定义都涉及 B 三个方面。

(1)语法 (2)语义 (3)语用 (4)程序基本符号的确定供选答案:A. (1)(2)(3) B. (1)(2)(4)C. (1)(3)(4)D. (2)(3)(4)[能力层次:记忆] [难易度:B]2、程序语言一般分为(A)和(C)两大类,其中(C)通常又称为面向机器的语言。

面向机器语言指的是(B),其特点是(D),在此基础上产生了与人类自然语言比较接近的(D)(1)(2)(3)(6)A. 高级语言B. 专用语言C. 低级语言D. 通用程序语言(4)A. 用于解决机器硬件设计问题的语言B. 特定计算机系统所固有的语言C. 各种计算机系统都通用的语言D.只能在一台计算机上使用的语言(5) A. 程序的执行效率低,编制效率低,可读性差B. 程序的执行效率高,编制效率高,可读性强C. 程序的执行效率低,编制效率高,可读性强D. 程序的执行效率高,编制效率低,可读性差[能力层次:记忆] [难易度:C]3、高级语言编译程序常用的语法分析方法中,递归下降分析法属于 B 分析方法。

A.自左至右B.自顶向下C.自底向上D.自右向左[能力层次:记忆] [难易度:A]4、文法 G 产生的 D 的全体是该文法描述的语言。

A .句型 B. 终结符集 C. 非终结符集 D. 句子[能力层次:记忆] [难易度:A]5、下列属于三性文法的是: CA.G1:S→AbB S→AAS A→Bab B→bB.G2: S→A ASA→abbSa bSA→ABB AS→aabbb A→baC.G3: S→aB S→aA A→bA B→bD.G4: S→Aa S→Babb A→Cc A→Bb B→Bb B→a C→D C→Bab D→d[能力层次:简单运用] [难易度:C]二、判断题(认为对的,在题后的括号内打“√”,认为错的打“×”。

完整word版,编译原理试卷及答案,推荐文档

完整word版,编译原理试卷及答案,推荐文档

东 北 大 学秦 皇 岛 分 校课程名称: 编译原理 试卷: (B )答案 考试形式: 闭卷授课专业: 计算机科学与技术 考试日期: 年 月 日 试卷:共 2 页 题号 一 二 三 四 总分得分 阅卷人一、填空题(每空2分,共30分)1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是 理 和出错处理。

表格管2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。

3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。

4、LR (0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。

5、数据空间的动态存储分配方式可分为 栈式 和 堆式 两种。

6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。

7、确定有穷自动机DFA 是 NFA 的一个特例。

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

二、选择题(每题2分,共20分)1、LR 语法分析栈中存放的状态是识别 B 的DFA 状态。

A 、前缀B 、可归前缀C 、项目D 、句柄 2、 D 不可能是目标代码。

A 、汇编指令代码B 、可重定位指令代码C 、绝对机器指令代码D 、中间代码 3、一个控制流程图就是具有 C 的有向图A 、唯一入口结点B 、唯一出口结点C 、唯一首结点D 、唯一尾结点 4、设有文法G[S]:S →b|bBB →bS ,则该文法所描述的语言是C 。

A 、L (G )={b i |i ≥0}B 、L (G )={b 2i |i ≥0}C 、L (G )={b 2i+1|i ≥0}D 、L (G )={b 2i+1|i ≥1}5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。

A 、编译器B 、汇编器C 、解释器D 、预处理器 6、在目标代码生成阶段,符号表用于 D 。

电子科技大学编译原理--B答案--网络教育

电子科技大学编译原理--B答案--网络教育

《计算机编译原理》试卷B参考答案一、单项选择题(每小题1分,共25分)1、有文法G:E→E*T|TT→T+i|i句子1+2*8+6按该文法G归约,其值为___B___。

A、23B、42C、30D、172、规范归约指___B___。

A、最左推导的逆过程B、最右推导的逆过程C、规范推导D、最左归约的逆过程3、词法分析所依据的是___B___。

A、语义规则B、构词规则C、语法规则D、等价变换规则4、词法分析器的输出结果是___C___。

A、单词的种别编码B、单词在符号表中的位置C、单词的种别编码和自身值D、单词自身值5、正规式M1和M2等价是指___C___。

A、M1和M2的状态数相等B、M1和M2的有向弧条数相等C、M1和M2所识别的语言集相等D、M1和M2状态数和有向弧条数相等6、下面的状态转换图接受的字集为___D___。

A、以0开头的二进制数组成的集合B、以0结尾的二进制数组成的集合C、含奇数个0的二进制数组成的集合D、含偶数个0的二进制数组成的集合7、词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,___B___。

A、词法分析器应作为独立的一遍B、词法分析器作为子程序较好C、词法分析器分解为多个过程,由语法分析器选择使用D、词法分析器并不作为一个独立的阶段8、若a为终结符,则A→α·aβ为___B___项目A、归约B、移进C、接受D、待约9、若项目集I k含有A→α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α·”动作的一定是___D___。

A、LALR文法B、LR(0)文法C、LR(1)文法D、SLR(1)文法10、就文法的描述能力来说,有___C___。

A、SLR(1)⊂LR(0)B、LR(1)⊂LR(0)C、SLR(1)⊂LR(1)D、无二义文法⊂LR(1)11、在LR(0)的ACTION子表中,如果某一行中存在标记“r j”的栏,则___A___。

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

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

《编译原理》参考资料一、单选题1.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个(C)把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

A.重定位程序B.解释程序C.连接装配程序D.诊断程序2.一个句型中的( A)称为该句型的句柄。

A.最左直接短语B.最右直接短语C.终结符D.非终结符3.将编译程序分成若干个“遍”是为了(B)。

A.提高程序的执行效率B.使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率4.语法分析器接收以(C)为单位的输入,并产生有关信息供以后各阶段使用。

A.表达式B.产生式C.单词D.语句5.词法分析器用于识别(C )A.句子B.产生式C.单词D.句型6.语言的词法规则一般用Chomsky的(D)型文法来描述A.0B.1C.2D.37.由文法的开始符经0步或多步推导产生的文法符号序列是(C)。

A.短语B.句柄C.句型D.句子8.LR(k)文法(A )A.都是无二义性的B.都是二义性的C.一部分是二义性的D.无法判定9.Chomsky把文法分成四种类型,其中,(D)也称正规文法A.0型B.1型C.2型D.3型10.( C)不是编译程序的组成部分。

A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序11.编译程序绝大多数时间花在(D)上。

A.出错处理B.词法分析C.目标代码生成D.管理表12.设G为算符优先文法,G的任意终结符对a、b有以下关系成立(C)。

A.若f(a)>g(b),则a>bB.若f(a)<g(b),则a<bC.a~b都不一定成立D.a~b一定成立13.使用(A)可以定义一个程序的意义。

A.语义规则B.词法规则C.产生规则D.词法规则14.在运行空间的划分中有一个单独的区域叫堆,用来存放(C)。

编译原理试题及参考答案

编译原理试题及参考答案

编译原理试题及参考答案课程测试试题(04A卷)I、命题院(部):数学与计算机科学学院II、课程名称:编译原理III、测试学期:2006-2007 学年度第1 学期IV、测试对象:数计、国交学院计科专业2004 级1、2、国交班V、问卷页数(A4):3 页VI、答卷页数(A4):4 页VII、考试⽅式:闭卷(开卷、闭卷或课程⼩论⽂,请填写清楚)VIII、问卷内容:(请⽼师在出题时安排紧凑,填空题象征性的留出⼀点空格,学⽣将所有的答案做在答题纸上的规定位置,并写清楚⼤题、⼩题的题号)⼀、填空题(共30分,30个空,每空1分)1、典型⾼级程序设计语⾔编译系统的⼯作过程⼀般分为六个阶段,即词法分析、语法分析、语义分析、中间代码⽣成、、⽬标代码⽣成。

编译阶段的两种组合⽅式是组合法和按遍组合法,这两种组合⽅式的主要参考因素都是的特征。

2、Chomsky将⽂法按其所表⽰语⾔的表达能⼒,由⾼往低分为四类:0型,1型,2型,3型⽂法。

其中,2型⽂法也称,它的所有规则α→β都满⾜:α∈,β∈ ((V N∪V T) *且,仅当β= ε时例外。

3、现代编译系统多采⽤⽅法,即在语法分析过程中根据各个规则所相联的或所对应的语义⼦程序进⾏翻译的办法。

该⽅法使⽤为⼯具来说明程序设计语⾔的语义。

4、构造与NFA M等价的正规⽂法G的⽅法如下:(1)对转换函数f(A,a)=B或f(A,ε)=B,改成形如或的产⽣式;(2)对可识别终态Z,增加⼀个产⽣式:。

5、代码⽣成要考虑的主要问题:充分利⽤的问题、选择的问题、选择的问题。

6、设有穷⾃动机M=(K,∑,f,S,Z),若当M为时,满⾜z0∈f(S,α)且z0∈Z,或当M为时,满⾜f(S,α)=P∈Z,则称符号串α∈∑*可被M所。

7、符号表中每⼀项对应⼀个多元组。

符号表项的组织可分为组织、组织、组织等。

8、对于A∈?VN 定义A的后续符号集:FOLLOW(A)={a|S=*>uAβ,a∈VT,且a∈,u∈VT*,β∈V+;若,则#∈FOLLOW(A)。

2008.6编译原理期末考试试卷(B卷)答案(20201110155547)

2008.6编译原理期末考试试卷(B卷)答案(20201110155547)

华南农业大学期末考试答案(B 卷)2007学年第2学期考试科目:编译原理—、简述编译程序的工作过程。

(10) 编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是 非常复杂的,就其过程而言,一般可以划分为五个工作阶段:①词法分析,对构成 源程序的字符串进行扫描和分解,识别出一个个的单词;②语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;③语义分析与中间代码产生,即对⑤目标代码生成,把中间代码变换成特定机器上的低级语言指令形式。

彳、S FQ S QQ S&S aaaeS 右aaea2、 S aSeS aaSeS aaaeS aaaea各类语法单位, 分析其汉一并进行初步翻译; ④代码优化,以期产生更高效的代码;二、构造下列正规式相应的DFA (用状态转换图表示)1(0 I 1) *1四、 (1)(45)4⑶(0|5)(1*01*01=^) * (2)伸 |2|3|4|5|6|7|8|9)* (3) =炉10曲 ) 对句子8眈閃存在如下两个不同的最左推导序列:因此,文法是二义的。

五、给出下面语言的相应文法:(10)_{a 仞n> 1} Lz={a n b m+n a m | nA 1, m> 0}G1・ G1 :S^aSb|abS—ABA —*aAb | abB —> bBa | E六、设有文法G[A]:L BCc|gDBB~bCDE | £C ―¥ DaB | caD—dD |£E—^gAf | c(1) 计算该文法的每一个非络篩FIRST集和FOLLOW集;(2) 试判断该文法是禹LL(1)文法。

(讪 _D d, £a,b,c,f,gE c,ga,c,d,f.g 是LL(1)文法。

七、G :L ABA TO A'A L OA’AfOA'B B八、对表达式文法G :E — E+T | T T -> T*F | F F 一 (E)|l(1) 造各非终结符的FIRSTVT 和LASTVT 集合; (2)构造文法的算符优先关系表。

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

编译原理试题B
一、单项选择题(每题1分,共20分)
1、对编译系统有关概念描述正确的是( B)
A.目标程序只能是机器语言 B. 编译程序处理的对象是源语言
C.解释程序属于编译程序 D. 词法分析无法自动进行
2. 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么
(B)
A.词法分析 B. 语法分析
C.语义分析 D. 代码生成
3. 下面不能用于对文法进行描述的是(A )
A.源语言 B. EBNF C.BNF D. 语法图
4. 设有文法G[S]: S→0S|1A|0,A→1|1S|0B,B→1A|0B,下列符号串中是该文法的句子的是
()?A.1010001001101 B.0101001110010010
C.1101010011110111 D.1010011101101010
(可画出DFA验证)
5. 文法G[S]:
S→aA|bC|a
A→aS|bB
B→aC|bA|b
C→aB|bS ,则不是L(G)句子的是( B )
A.a100b50ab100 B. a1000b500aba
C.a500b60aab2a D. a100b40ab10aa
(画出DFA)
6. 哪个不是DFA的构成成分(B)
A.有穷字母表 B. 初始状态集合
C.终止状态集合 D. 有限状态集合
7.词法分析器的输入是( B )
A.单词符号串 B.源程序 C.语法单位 D.目标程序
8.在词法分析阶段不能识别的是(C )
A.标识符 B. 运算符 C.四元式 D. 常数
9.设有一段C语言程序
while(i&&++j)
{
c=2.19;
j+=k;
i++;
} ,经过词法分析后可以识别的单词个数是(B )
A.19 B.20 C.21 D.23
10.自上而下语法分析的主要动作是( B )
A.移进 B. 推导 C.规约 D. 匹配
11.下面不属于LL(1)分析器的自称部分是( D )
A.LL(1)总控程序 B. LL(1)分析表
C.分析栈 D.源程序串
12.设有文法G[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.{#}
13.设有文法G[S]:
S→Ap|Bq,A→a|cA,B→b|dB ,则FIRST(Ap)为( C )A.{p,q} B. {b,d} C.{a,c} D. 其他
14.自下而上语法分析的主要分析动作是(D )
A.推导 B. 规约 C.匹配 D. 移进-规约
15.算法优先分析中,可规约串是( C )
A.句柄 B.活前缀 C.最左素短语 D.素短语
16. 设有文法G={{S},{a},{S→SaS|ε},S},该文法是( B )
A.LL(1)文法 B.二义性文法
C.SLR(1)文法 D.算法优先文法
17、中间代码生成时所以据的是(C )
A.语法规则 B.词法规则 C.语义规则D.等价变换规则
18、给定文法G: E→E+T|T,T→T*F|F,F→i|(E)
则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为( C )
A.iii*i++ B.ii+iii**+ C.ii+ii*i*+ D.其他
19.在编译程序中与生成中间代码的目的无关的是 (B )
A .便于目标代码优化
B .便于存储空间的组织
C .便于目标代码的移植
D .便于编译程序的移植
20.中间代码是介于源语言程序和什么之间的一种代码 ( D )
A .源代码 B. 机器语言 C. 汇编语言 D. 目标代码
二.简答(每题3分,共12分)
1. 什么是解释程序?
解释程序也是一种翻译程序,它将源程序作为输入并执行之,即边解释边执行。

2. 词法分析器的主要任务是什么?
词法分析器的主要任务是逐步扫描和分解构成源程序的字符串,识别出一个一个的单词符号。

3. 文法有哪几部分组成?
文法是一个四元组,由非终结符号集合、终结符号集合、非空有穷的文法规则集合、文法的开始符号(识别符号)组成。

4. 语法分析的基本任务是什么?
在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单元。

三、解答题(本大题共6小题,每小题4分,共24分)
1.写正则式:所有表示偶数的串。

(0|1|…|9)*(0|2|4|6|8)
2.构造有限自动机M ,使得:L(M)={a n b n c n |n ≥1}。

应是L(M)={a n b m c k |n,m,k ≥1}
3.给定文法G[S]:S→aAcB|BdS,B→aScA|cAB|b,A→BaB|aBc|a,试检验aacb 是不是其句子。

SÞaAcBÞaacBÞaacb ,所以aacb是句子
4.文法G[S]=({A,B,C},{a,b,c},A,P),其中P有以下产生式组成:
A→abc,A→aBbc,Bb→bB,Bc→Cbcc,bC→Cb,aC→aaB,aC→aa,问此文法表示的语言是什么?
L(G)={a n b n c n|n>=1}
5.把下列表达式变换成后缀表达式:(x:=x+3)*4
同试卷A
6.把下列表达式变换成后缀表达式:(not A and B) or (C or not D)
同试卷A
四、求解题(本大题共5小题,每小题6,共30分)
得分
1.设文法G[E]: E→E+T|E-T|T,T→T*F|T/F|F,F→F↑P|P,P→(E)|i,求T*(T-i)+P的短语、直接短语、素短语和句柄。

同试卷A
2. 对文法G[R]:R→R’|’T|T,T→TF|F,F→F*|C,C→(R)|a|b,消除文法左递归。

同试卷A
3. 给定程序:
void fun(int x,int y)
{
x++;y++;
}
main()
{
int x=0;
fun(x,x);
printf(x);
}
调用函数fun时,若参数传递机制是1)按值传递,那么输出结果为多少?
2)按引用传递,那么输出结果为多少?
3)按值-结果传递,那么输出结果为多少?
同试卷A
4. 把下列表达式翻译成三地址代码:i:=(j+k)*(10+m)。

同试卷A
5.已知文法G的EBNF表示为:
A→[B,B→X]{A},X→(a|b){a|b},试用C语言写出其递归下降子程序。

同试卷A
五、综合题(本大题共2小题,每小题7分,共14分) Array
1.将下列NFA确定化,并画出最小化的DFA。

同试卷A
2. 给定文法G[S]:S→AS|b,A→SA|a,
1)构造它的LR(0)项集规范簇;
2)构造识别该文法所有活前缀的DFA。

同试卷A
如有侵权请联系告知删除,感谢你们的配合!。

相关文档
最新文档