编译原理B卷

合集下载

中山大学-03编译原理B卷

中山大学-03编译原理B卷

(A) FIRST(α)∩FOLLOW(β) = Φ
(B) FIRST(α)∪FIRST(β) = Φ
(C) FIRST(α)∩FIRST(β) = Φ
(D) FIRST(α)∪FOLLOW(β) = Φ
【答案】:C。
5. 表达式 a*b-c-d$e$f-g-h*i 中,运算符的优先级由高到低依次为-、*、$,且均为右结合,
是。 (A) 属于 0 型文法,但不属于上下文有关文法 (B) 属于上下文有关文法,但不属于上下文无关文法 (C) 属于上下文无关文法,但不属于正规文法 (D) 属于正规文法 【答案】:B。
二、简述题(每小题 5 分,共 4×5=20 分)
1. 写出表达式(a+b/c)*(a+b)-d 的逆波兰表示(即后缀表示)及三元式序列。
输入符号
符号
(
)
,
a
$
S
(L)
a
L
SL’
SL’
L’
ε
, S L’
3. 根据如下定义的翻译模式
D→D;D
D→T
{ L.type:=T.type }
L
T → int
{ T.type:=INT }
T → real
{ T.type:=REAL }
L→ L1 , id
L → id
{ L1.type:=L.type } { enter (, L.type)} { enter (, L.type)}
7. 对于一个有 m 个非终结符号、n 个终结符号的文法,如果可以为该文法建立一个 SLR 分
析表,则该分析表应有 列。
(A) m+n+1
(B) n+1
(C) m+n

编译原理考试题库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]二、判断题(认为对的,在题后的括号内打“√”,认为错的打“×”。

秋兰大编译原理课程作业B

秋兰大编译原理课程作业B

秋兰大编译原理课程作业B————————————————————————————————作者:————————————————————————————————日期:单选题编译程序使用_____区别标识符的作用域。

A: 说明标识符的过程或函数名B: 说明标识符的过程或函数的静态层次C: 说明标识符的过程或函数的动态层次D: 标识符的行号单选题编译程序是一种常用的______软件。

A: 应用B: 系统单选题扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即( ) A: 字符B: 单词C: 句子D: 句型单选题栈式动态分配与管理在过程返回时应做的工作有()。

A: 保护SPB: 恢复SPC: 保护TOPD: 恢复TOP单选题语言是( )A: 句子的集合B: 产生式的集合C: 符号串的集合D: 句型的集合单选题编译程序是对_____。

A: 汇编程序的翻译B: 高级语言程序的解释执行C: 机器语言的执行D: 高级语言的翻译单选题构造编译程序应掌握____。

A: 源程序B: 目标语言C: 编译方法D: 以上三项都是单选题一个LR(1)文法合并同心集后,如果不是LALR(1)文法必定存在( )A: 移进--归约冲突B: 归约--归约冲突单选题下推自动机识别的语言是( )A: 0型语言B: 1型语言C: 2型语言D: 3型语言单选题若文法 G 定义的语言是无限集,则文法必然是 _____。

A: 递归的B: 前后文无关的C: 二义性的D: 无二义性的单选题四元式之间的联系是通过()实现的。

A: 指示器B: 临时变量C: 符号表D: 程序变量单选题间接三元式表示法的优点为_____。

A: 采用间接码表,便于代码优化处理B: 节省存储空间,不便于表的修改C: 便于代码优化处理,节省存储空间D: 节省存储空间,不便于代码优化处理单选题文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是 ____。

电子科技大学编译原理--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___。

湖南工业大学 编译原理 B卷 答案(通信02)

湖南工业大学 编译原理 B卷 答案(通信02)

编译原理试卷(B卷)答案__通信02一、是非题(下列各题,你认为下确的,请在题干的括号内打“√”错的打“×”。

每题2分,共10分)1、算符优先分析法只在终结符之间定义优先关系。

……………………………… (√)2、编译过程中,阶段的划分和遍的划分不一定相同。

…………………………… (√)3、一个上下文无关文法的产生式的左部符号可以是非终结符也可以是终结符。

(×)4、使用自上而下分析法首先须消去文法的左递归性。

……………………………(√)5、使用自下而上分析法首先须消去文法的左递归性。

……………………………(×)二、填空题(每题2分,共16分)1、一个上下文无关文法包括四个组成部分是(一组终结符号;一组非终结符号;一个开始符号;一组产生式)。

2、对程序语言单词符号两种定义方式,即(正规式、正规文法)。

3、代码生成要着重考虑的两个问题是(使目标代码较短)和(充分利用寄存器)。

4、确定的自上而下分析法要求描述语言的文法是(LL(1))文法。

5、确定的有穷自动机(DFA)是这样定义的:(确定的有穷自动机M是一个五元组M=(Q,Σ,f,S,Z),其中Q是一个有穷状态集合,每一个元素称为一个状态;Σ是一个有穷输入字母表,每个元素称为一个字符;f是一个从Q×Σ到Q的单值映射;S∈Q,是唯一的一个初态;Z Q,是一个终态集。

)6、算符优先文法的归约过程与规范归约是不同的,它不是对(句柄)进行归约,而是对(最左素短语)进行归约。

7、语法分析是依据语言的(语法)规则进行的,中间代码产生是依据语言的(语义)规则进行的。

8、LR分析表中包括(移进、归约、接受、报错)等四种可能的动作。

三、名词解释题(每题3分,共15分)1、符号表——符号表是编译程序中的一个主要数据结构,它用来存放程序语言中出现的有关标识符的属性信息。

2、属性文法——属性文法是说明语义的一种工具,属性描述了计算机处理对象的特征。

04编译原理B卷

04编译原理B卷

中山大学计算机科学系《编译原理》期末考试B卷(附参考答案与评分标准)班级:2004级A、B、C、D班专业:计算机科学与技术专业、网络工程专业考试时间:共2小时考试形式:闭卷任课教师:李文军、舒忠梅注意:所有答案必须写在答题纸上!考试后请自己保存试卷留作纪念。

Part I、词法分析(共4题,35分)1、(10分)考虑字母表∑ = { a }上的语言,该语言包含的所有串的长度要么是2的倍数,要么是3的倍数,其中包括了空串ε。

(1) (4分)试写出该语言的正则表达式。

(2) (3分)画出识别该语言的不确定有限自动机(NFA);你可直接画NFA,不必运用机械算法从上一小题的正则表达式转换得到。

(3) (3分)画出识别该语言的确定有限自动机(DFA);你可直接画DFA,不必运用机械算法从上一小题的NFA确定化得到。

〖参考答案〗(1) 正则表达式为:(a a)*|(a a a)*(2) 识别该语言的NFA如下:(3) 识别该语言的DFA如下:〖评分标准〗注意这一类写正则表达式的题目的答案通常不是惟一的。

(1) 将答案写作((a a)|(a a a))*则扣2分;将答案写作上下文无关文法,而不是正则表达式,即使正确也扣3分。

(2) 将循环弧指向起始状态导致NFA接收过多的字符串,则扣2分。

(3) 若存在一个状态有两个射出弧标记为a,则扣3分;为一条弧标记了两个终结符号,则扣3分;状态数目少于6个,则扣1~2分。

2、(10分)在C++程序设计语言的规格说明中,如此定义C++语言的整型常量:An integer constant consisting of a sequence of digits is taken to be decimal (base ten) unless it begins with 0 (digit zero). A sequence of digits starting with 0 is taken to be an octal integer (base eight). The digits 8 and 9 are not octal digits. A sequence of digits preceded by 0x or 0X is taken to be a hexadecimal integer (base sixteen). The hexadecimal digits include a or A through f or F…. The type of an integer depends on its … suffix. [An integer may have no suffix. ] …If [the integer] if suffixed by u or U, its type is …. If it is suffixed by l or L, its type is …. [Either or both试为C++语言的整型常量设计一个正规定义式,要求其中仅使用正则表达式的基本算子“|”、“*”和连接,禁止使用lex或flex等软件工具扩展的表示;在正则表达式中可以使用括号和空串ε。

编译原理试题B及答案

编译原理试题B及答案

编译原理试题B一、单项选择题每题1分;共20分1、对编译系统有关概念描述正确的是 BA.目标程序只能是机器语言 B. 编译程序处理的对象是源语言C.解释程序属于编译程序 D. 词法分析无法自动进行2. 设有表达式ab-c;将其中ab识别为表达式的编译阶段是什么BA.词法分析 B. 语法分析C.语义分析 D. 代码生成3. 下面不能用于对文法进行描述的是 AA.源语言 B. EBNF C.BNF D. 语法图4. 设有文法GS: S→0S|1A|0;A→1|1S|0B;B→1A|0B;下列符号串中是该文法的句子的是A. B.C. D.可画出DFA验证5. 文法GS:S→aA|bC|aA→aS|bBB→aC|bA|bC→aB|bS ;则不是LG句子的是 BA.a100b50ab100 B. a1000b500abaC.a500b60aab2a D. a100b40ab10aa画出DFA6. 哪个不是DFA的构成成分 BA.有穷字母表 B. 初始状态集合C.终止状态集合 D. 有限状态集合7.词法分析器的输入是 B A.单词符号串 B.源程序 C.语法单位 D.目标程序8.在词法分析阶段不能识别的是 C A.标识符 B. 运算符 C.四元式 D. 常数9.设有一段C语言程序whilei&&++j{c=2.19;j+=k;i++;} ;经过词法分析后可以识别的单词个数是 B A.19 B.20 C.21 D.2310.自上而下语法分析的主要动作是 B A.移进 B. 推导 C.规约 D. 匹配11.下面不属于LL1分析器的自称部分是 D A.LL1总控程序 B. LL1分析表C.分析栈 D.源程序串12.设有文法GS为S→AB|bC; A→ε|b;B→ε|aD;C→AD|b;D→aS|c则FOLLOWA为 AA.{a;c;} B.{c;} C.{a;} D.{}13.设有文法GS:S→Ap|Bq;A→a|cA;B→b|dB ;则FIRSTAp为 CA.{p;q} B. {b;d} C.{a;c} D. 其他14.自下而上语法分析的主要分析动作是 DA.推导 B. 规约 C.匹配 D. 移进-规约15.算法优先分析中;可规约串是 CA.句柄 B.活前缀 C.最左素短语 D.素短语16. 设有文法G={{S};{a};{S→SaS|ε};S};该文法是 BA.LL1文法 B.二义性文法C.SLR1文法 D.算法优先文法17、中间代码生成时所以据的是 CA.语法规则 B.词法规则 C.语义规则 D.等价变换规则18、给定文法G: E→E+T|T;T→TF|F;F→i|E则LG中的一个句子i+i+iii的逆波兰表示为 CA.iiii++ B.ii+iii+ C.ii+iii+ 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|…|90|2|4|6|82.构造有限自动机M;使得:LM={a n b n c n|n≥1}..应是LM={a n b m c k|n;m;k≥1}3.给定文法GS:S→aAcB|BdS;B→aScA|cAB|b;A→BaB|aBc|a;试检验aacb 是不是其句子..S aAcB aacB aacb ;所以aacb是句子4.文法GS={A;B;C};{a;b;c};A;P;其中P有以下产生式组成:A→abc;A→aBbc;Bb→bB;Bc→Cbcc;bC→Cb;aC→aaB;aC→aa;问此文法表示的语言是什么LG={a n b n c n|n>=1}5.把下列表达式变换成后缀表达式:x:=x+34同试卷A6. 把下列表达式变换成后缀表达式:not A and B or C or not D四、求解题本大题共5小题;每小题6;共30分1.设文法GE: E→E+T|E-T|T;T→TF|T/F|F;F→F↑P|P;P→E|i;求TT-i+P 的短语、直接短语、素短语和句柄..同试卷A2. 对文法GR:R→R’|’T|T;T→TF|F;F→F|C;C→R|a|b;消除文法左递归..同试卷A3. 给定程序:void funint x;int y{x++;y++;}main{int x=0;funx;x;printfx;}调用函数fun时;若参数传递机制是1按值传递;那么输出结果为多少2按引用传递;那么输出结果为多少3按值-结果传递;那么输出结果为多少4. 把下列表达式翻译成三地址代码:i:=j+k10+m..同试卷A5.已知文法G的EBNF表示为:A→B;B→X{A};X→a|b{a|b};试用C语言写出其递归下降子程序..同试卷A五、综合题本大题共2小题;每小题7分;共14分1.将下列NFA确定化;并画出最小化的DFA..同试卷A2. 给定文法GS:S→AS|b;A→SA|a;1构造它的LR0项集规范簇;2构造识别该文法所有活前缀的DFA..同试卷A。

编译试卷b

编译试卷b

第1页-C (共4页)哈尔滨学院2010年春季学期期末试卷评分标准B课程名称:《编译原理》考试时间: 120 分钟 考试方式: 闭卷一、单项选择题(每题1分,共10分)1、若某翻译程序所处理的源程序是高级语言编写的程序,目标程序是汇编语言程序或机器语言程序,则称它为(C )。

(A )汇编语言程序 (B )高级语言程序 (C )编译程序 (D)连接程序2、为了使编译程序能对程序设计语言进行正确的翻译,必须采用(C )方法定义程序设计语言。

(A )非形式化(B )自然语言描述问题 (C )形式化(D )自然语言和符号体系相结合3、设x 是符号串,符号串的幂运算x 1=(B )。

(A )1 (B )x (C )ε (D )φ4、编译程序中词法分析器所完成的任务是从源程序中识别出一个一个具有独立意义的(D )。

(A )表达式 (B )语句 (C )过程 (D )单词符号5、用l 代表字母,d 代表数字,∑={l ,d},则定义标识符号单词的正规式是(C )。

(A )ld *(B )ll *(C )l (l|d )*(D )ll *|d *6、编译程序中的语法分析器接受以(C )为单位的输入,并产生有关信息供以后各阶段使用。

(A )表达式 (B )字符串 (C )单词 (D )语句7、在高级语言编译程序常用的语法分析方法中,预测分析法属于(B )分析方法。

(A )自左至右 (B )自上而下 (C )自下而上 (D )自右向左8、编译程序中安排优化的目的是为了得到(C )的目标代码。

(A )结构清晰 (B )较短 (C )高效率(D )使用存储空间最小9、FORTRAN 语言编译中的存储分配策略是(A )。

(A )静态存储分配策略 (B )最佳分配策略 (C )动态存储分配策略 (D )时钟分配策略 10、下列各项中,(D )不能作为编译程序生成的目标代码形式。

(A )能够立即执行的机器语言代码 (B )汇编语言程序(C )待装配的机器语言代码 (D )中间语言代码二、多项选择题(每题1分,共5分)1、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为几个阶段,分别是:(A 、C )。

13-14学年第2学期期末考试《编译原理》B详解

13-14学年第2学期期末考试《编译原理》B详解

我以一名大学生的人格尊严保证,在本场考试中,自觉遵守考试纪律,服从考试管理,决不作弊或帮助别人作弊!签名:学院专业学号级班··················密···················封·····················线··················命题人签字:系主任签字:审核院长签字:共印份数:第 1 页共 4页聊城大学计算机学院13—14学年第2学期期末考试2011级《编译原理》试题(闭卷B卷)一、填空题(共10题,每空1分,共15分)1、语法分析是依据语言的规则进行的,中间代码产生是依据语言的紧密联系的。

2、规范归约是推导的逆过程。

3、表达式a+b/5*(e+f)*3的逆波兰式为。

4、自顶向下语法分析会遇到的主要问题有和。

5、对于文法G,仅含终结符号的句型称为。

6、LL(K)文法中,第一个L表示,第二个L表示,K表示。

7、若两个正规式所表示的相同,则认为二者是等价的。

8、设有文法G[S]=({b},{S,B},S,{S →b|bB,B→bS}),该文法所描述的语言是。

北京理工大学计算机科学与技术类《编译原理与设计》试卷 B (2018.06)

北京理工大学计算机科学与技术类《编译原理与设计》试卷 B (2018.06)

循环。
5.
二义文法一定不是上下文有关文法。
6.
句柄是最长活前缀的一个后缀。
7.
单词的属性字一般应该包括单词类别和单词的内码。
8.
LR 分析过程中使用的分析栈分为两部分:状态栈和符号栈。
9. DFA M 的状态表表示如下图,则该 DFA 可以接受符号串 0100110000111。
0
0
1
0
1
2
1
1 1
与该文法等价的 LL(1)文法为



7. 下表为右图所示流图的到达定值信息,则变量 d 在 d4 点的 ud 链为【
】。
in(B1)

out(B1)
1(b),2(c)
in(B2)
1(b),2(c),3(a),4(d),5(d),6(c),7(e)
out(B2)
1(b),2(c),3(a),4(d),6(c),7(e)
inc
esi
//esi 自增
cmp
esi, ecx
//比较 esi 和 ecx
jl L2
L3:inc
cmp
jl L1
//小于跳转
ecx
//ecx 自增
ecx, 100
//比较 ecx 和 100
//小于跳转
10
1
2
3
4
5
6
7
8
9
10
答案
1.
通常情况下 C 语言程序是编译执行的,Python 语言程序是解释执行的。
2.
对集合 A,有 A+=AA*,所以对任意集合 A, 一定有 A+A*。
3.
DISPLAY 表用来记录每层过程的最新活动记录地址,它的大小在运行时确定。

编译原理期末考试试卷(B卷)

编译原理期末考试试卷(B卷)

G’: S→AB A→0A’ A’→00A’ | ε B→1B’ B’→11B’ |ε
文法G’[S]是LL(1)文法。 预测分析表:
0
1
#
S
S→AB
A
A→0A’
A’ A’→00A’ A’→ε
B
B→1B’
B’
B’→11B’ B’→ε
五、设有文法G[A]: A→BCc | gDB
B→bCDE |ε C→DaB | ca D→dD |ε
一、简述编译程序的工作过程。(10)
编译程序的工作过程,是指从输入源程序开始到输出目标程序 为止的整个过程,是非常复杂的,就其过程而言,一般可以划 分为五个工作阶段:①词法分析,对构成源程序的字符串进行 扫描和分解,识别出一个个的单词;②语法分析,根据语言的 语法规则,把单词符号串分解成各类语法单位;③语义分析与 中间代码产生,即对各类语法单位,分析其汉一并进行初步翻 译;④代码优化,以期产生更高效的代码;⑤目标代码生成, 把中间代码变换成特定机器上的低级语言指令形式。
二、给出下面的正规表达式(15) (4) 以01结尾的二进制数串; (5) 能被5整除的十进制整数; (6) 包含偶数个1或偶数个0的二进制数串。
(1)(0|1)*01
(2)digit=0|1|2|3|4|5|6|7|8|9
digit*(0|5)
(3)((0*10*1)*0*)|((1*01*0)*1*)
E→gAf | c (3) 计算该文法的每一个非终结符的FIRST集和FOLLOW集; (4) 试判断该文法是否为LL(1)文法。(15)
FIRST
A
A,b,c,d,g
B
b
C
A,c,d
D
D

编译原理试题及答案(期末复习版)

编译原理试题及答案(期末复习版)

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

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

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

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

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

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

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

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

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

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

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

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)构造预测分析表。

上海大学编译原理试卷B--试卷格式3(B4)-答案

上海大学编译原理试卷B--试卷格式3(B4)-答案
(2) 将所给文法消除左递归得 G’: (6 分)
S (L) | a L SL L ,SL |
5. 无左递归的文法是 LL(1)文法。
(F)
6. LR 分析法是一种规范归约分析法。
(T)
7. 文法符号的属性有两种,即继承属性和综合属性。
(T)
8. 紧跟在条件转移语句后的语句是基本块的入口语句。
(T)
9. PL0 程序具有分程序结构、过程可嵌套且支持递归调用。
(T)
10. 符号表可以辅助上下文语义正确性检查。
【解答】 (1) 最右推导为:(4 分)
S (L) (L,S) (L,(L)) (L,(L,S)) (L,(L,(L))) (L,(L,(L,S))) (L,(L,(L,a))) (L,(L,(S,a))) (L,(L,(a,a))) (L,(S,(a,a))) (L,((L),(a,a))) (L,((L,S),(a,a))) (L,((L,a),(a,a))) (L,((S,a),(a,a))) (L,((a,a),(a,a))) (S,((a,a),(a,a))) (a,((a,a),(a,a)))
A. ab0
B. a0c01
C. aaa
D. bc10
4..如果在推导过程中的任何一步 α β 都是对 α 中的最右非终结符进行替换,则称这种推导为
得__ BD__ _.
分A. 直接推导
B. 最右推导
C. 最左推导
D. 规范推导
5. 程序设计语言的单词符号一般可分为 5 种,它们是 ACD _ _及运算符和界符.

第1页 (共4页)

上海大学 09 ~ 10 学年 秋 季学期试卷(B) 绩
7. 通常程序设计语言的单词符号都能用 AC _ _描述.

专升本《编译原理》_试卷_答案

专升本《编译原理》_试卷_答案

专升本《编译原理》一、(共75题,共150分)1. 语言学家Chomsky将文法和语言分为四大类,其中1型文法又称为()。

(2分)A.正规文法B.上下文无关文法C.上下文有关文法D.短语文法标准答案:C2. 编译程序的编译方式有()种。

(2分).2 C标准答案:B3. 设是任意符号串,则下列为恒等式的是()。

(2分)A.B.C.D.标准答案:C4. 通常可以采用(),描述计算机高级语言的语法。

(2分)A.短语文法B.上下文无关文法C.上下文有关文法D.正规文法标准答案:C5. 已知文法,该文法不属于()。

(2分)型文法 B.右线性3型文法C.左线性3型文法D.正规文法标准答案:B6. 已知文法()。

(2分)A.{SB.{S ,AC.{S,A,BD.{A,B标准答案:A7. 文法所描述的语言是()的集合。

(2分)A.文法的字汇表V中符号组成的符号串B.文法的字汇表V中终结符号组成的符号串C.由文法开始符推导的符号串D.由文法开始符推导的终结符号串标准答案:D8. 已知文法,其句子的最右推导为()。

(2分)A.B.C.D.标准答案:C9. 已知文法,()是该文法的句子。

(2分)标准答案:D10. 文法产生的语言是()。

(2分)A.B.C.D.标准答案:B11. 已知文法,()是句型PaFaFbP的最左素短语。

(2分)标准答案:B12. 词法分析器的输出结果是()。

(2分)A.单词的种别编码B.单词在符号表中的位置C.单词的种别编码和自身值D.单词自身值标准答案:C13. 常用()来识别一个正规集。

(2分)A.图灵机B.下推自动机C.有穷自动机D.无穷自动机标准答案:C14. 已知字母表,下列选项中()不是字母表∑上的正规式。

(2分)A.B.C.D.标准答案:B15. 递归子程序语法分析方法的分析过程是()的过程。

(2分)A.最左推导B.最右推导C.规范推导D.规范归约标准答案:A16. 算符优先分析方法是总是对当前句型的()进行归约的。

编译原理B卷

编译原理B卷

编译原理B卷编译原理试卷B⼀、选择题(每空2分,共20分)1.下⾯说法正确的是:BA⼀个正规式只能对应⼀个确定的有限状态⾃动机;B ⼀个正规语⾔可能对应多个正规⽂法;2. 表达式E*(F-C*(C/D))的逆波兰表⽰为( B )A. EFC-CD/**B. EFCCD/*-*C. EFC-*CD/*D. 前三个选项都不对3.下⾯说法正确的是:AA Lex是⼀个词法分析器的⽣成器B Y acc是⼀个语法分析器4.⽂法G产⽣的(D )的全体是该⽂法描述的语⾔。

A句型 B 终结符集 C ⾮终结符集 D 句⼦5.若⽂法G定义的语⾔是⽆限集,则⽂法必然是(A)。

A递归的 B 前后⽂⽆关的 C ⼆义性的 D ⽆⼆义性的6.⼀个⽂法所描述的语⾔是(A);描述⼀个语⾔的⽂法是( B )。

A惟⼀的 B 不惟⼀的7. Chomsky定义的四种形式语⾔⽂法中,0型⽂法⼜称为(A)⽂法;1型⽂法⼜称为(C )⽂法;2型⽂法可由(G )识别。

A短语结构⽂法 B 前后⽂⽆关⽂法 C 前后⽂有关⽂法 D 正则⽂法E 图灵机F 有限⾃动机G 下推⾃动机⼆、问答题第1题(10分) 将⽂法G[S] 改写为等价的G'[S],使G'[S]不含左递归和左公共因⼦。

G[S]:S→SAe|AeA→dAbA|dA|d答: ⽂法G[S] 改写为等价的不含左递归和左公共因⼦的G'[S]为:S →AeS'S' →AeS'|εA →dA'A' →AB|εB →bA |ε第2题(20分) 判断下⾯⽂法是否为LL(1)⽂法,若是,请构造相应的LL(1)分析表。

S→aDD→STe|εT→bH|HH→d|ε第2题⾸先计算⽂法的 FIRST集和FOLLOW集如下表。

⽂法的FIRST集和FOLLOW集由于select(D→STe)∩se lect(D→ε)={a}∩{# ,b ,d ,e }= select(T→bH)∩select(T→H)={b}∩{e }= select(H→d)∩select(H→ε)={ d }∩{ e }=所以该⽂法是LL(1)⽂法,LL(1)分析表如下表。

编译原理卷B

编译原理卷B
2.若文法G定义的语言是无限集,则文法必然是()
A.上下文无关文法B.正规文法C.二义性文法D.递归文法
3.文法G描述的语言是该文法产生的
A.句型的全体B.终结符集C.非终结符集D.句子的全体
4.简单优先分析每次归约的是()
A.最左直接短语B.直接短语C.最左素短语D.控制结点
5.最适合动态建立数据实体的内存分配方式是()
A→SdA|S,
给出句型(SdSdS)的短语,简单短语句柄,素短语和最左素短语。
32.已知题32的自动机,给出相应的正规文法。
题32图
33.构造产生语言{anbmcp|n,m,p≥0}的文法。
34.设有基本块如下:
T1:=A+B
T2:=5
M:=T2*4
T3:=C-D
T4:=M+T3
L:=T1*T3
T4:=A+B
A.唯一的B不唯一的C可能唯一,好可能不唯一
9.数组的内情向量中肯定不含有数组的哪一一种信息
A.维数B.类型C.各维的上下界D.各维的界差
10.__________不是NFA的成分。
A.有穷字母B.开始状态集合C.终止状态集合D.非空有穷状态集合
11.__________不是编译程序的组成部分。
A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序
D.上下文无关文法的能力相当于自动机。
20.()对自动机描述正确的是
A.一个非确定有穷的自动机,一定存在着一个确定的有穷自动机和它等价。
B.一个正规表达式,一定存在着一个唯一的确定的有穷自动机和它等价。
C.一个确定的有穷自动机是一个五元组DFA(Q,t,∑,Q0,F),其中Q0是开始状态集。

清华版编译原理课程考核04B

清华版编译原理课程考核04B

xx大学课程考核命题双向细目表学院:数计专业:计算机科学技术课程:编译原理(B卷)课程测试试题(B卷)I、命题院(部):数学与计算机科学学院II、课程名称:编译原理III、测试学期:2006-2007 学年度第1 学期IV、测试对象:数计、国交学院计科专业2004 级1、2、国交班V、问卷页数(A4):3 页VI、答卷页数(A4):4 页VII、考试方式:闭卷(开卷、闭卷或课程小论文,请填写清楚)VIII、问卷内容:(请老师在出题时安排紧凑,填空题象征性的留出一点空格,学生将所有的答案做在答题纸上的规定位置,并写清楚大题、小题的题号)一、填空题(共30分,30个空,每空1分)1、典型编译过程一般分为词法分析、语法分析、语义分析、(并非所有的编译程序都包含此阶段)、代码优化、目标代码生成六个阶段,其中词法分析的任务是对构成源程序的字符串进行扫描和分解,识别出(如标识符等)符号;为代码生成阶段收集类型信息,并进行类型审查和违背语言规范的报错处理是的任务。

2、文法是一些规则的有穷集合,它是以有穷规则集来刻划无穷集合的工具。

文法的四元组表示G =(V N,V T,P,S)中,元素V N,V T 分别是非空有限的。

且二者交集为φ;P为产生式/规则集,是文法的核心部分;S ∈V N,是文法的开始符号(或识别符) ,它是一个非终结符,至少要在一条规则中作为出现。

3、构造LR(0)项目集规范族的项目类型分为四种:形如A→α.aβ的、形如的待约项目、形如A→αBβ.的归约项目、形如S'→α.的。

4、一个优先关系矩阵对应的优先函数;所表示优先关系唯一的矩阵不一定存在优先函数;当两个终结符对之间无优先关系时,可以将相应元素置出错信息,而使用却无法识别这种情况,不能准确指出出错位置。

5、在编译程序中用符号表来存放语言中出现的有关的语义特征属性信息。

程序设计语言中通用的标识符属性主要有如下几种:符号名、符号的、符号的存储类别、符号的、符号变量的存储分配信息及数组的内情向量等其它属性。

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

编译原理试卷B
一、选择题(每空2分,共20分)
1.下面说法正确的是:B
A 一个正规式只能对应一个确定的有限状态自动机;
B 一个正规语言可能对应多个正规文法;
2. 表达式E*(F-C*(C/D))的逆波兰表示为( B )
A. EFC-CD/**
B. EFCCD/*-*
C. EFC-*CD/*
D. 前三个选项都不对
3.下面说法正确的是:A
A Lex是一个词法分析器的生成器
B Yacc是一个语法分析器
4.文法G产生的(D )的全体是该文法描述的语言。

A 句型
B 终结符集
C 非终结符集
D 句子
5.若文法G定义的语言是无限集,则文法必然是( A )。

A 递归的
B 前后文无关的
C 二义性的
D 无二义性的
6.一个文法所描述的语言是(A );描述一个语言的文法是( B )。

A 惟一的
B 不惟一的
7. Chomsky定义的四种形式语言文法中,0型文法又称为(A )文法;1型文法又称为(C )文法;2型文法可由(G )识别。

A 短语结构文法
B 前后文无关文法
C 前后文有关文法
D 正则文法
E 图灵机
F 有限自动机
G 下推自动机
二、问答题
第1题(10分) 将文法G[S] 改写为等价的G'[S],使G'[S]不含左递归和左公共因子。

G[S]:S→SAe|Ae
A→dAbA|dA|d
答: 文法G[S] 改写为等价的不含左递归和左公共因子的G'[S]为:
S →AeS'
S' →AeS'|ε
A →dA'
A' →AB|ε
B →bA |ε
第2题(20分) 判断下面文法是否为LL(1)文法,若是,请构造相应的LL(1)分析表。

S→aD
D→STe|ε
T→bH|H
H→d|ε
第2题
首先计算文法的 FIRST集和FOLLOW集如下表。

文法的FIRST集和FOLLOW集
非终结符FIRST集FOLLOW集S{a}.........{# ,b ,d ,e}.
D{a ,ε}....{# ,b ,d ,e }
T{b ,d ,ε}{e}.............
H{d ,ε}....{e}.............
由于select(D→STe)∩se lect(D→ε)={a}∩{# ,b ,d ,e }= select(T→bH)∩select(T→H)={b}∩{e }=
select(H→d)∩select(H→ε)={ d }∩{ e }=
所以该文法是LL(1)文法,LL(1)分析表如下表。

LL(1)分析表
a e
b d#
S→aD.
D→STe→ε→ε→ε→εT→H.→bH→H.
H→ε→d.
第3题(10分) 给出与正规式R=((ab)*|b)*(a|(ba)*)a 等价的NFA。

解:与正规式R=((ab)*|b)*(a|(ba)*)a 等价的NFA如下图
第4题(20分) 某语言的文法G为: E → aTd|ε
T → Eb|a
证明G不是LR(0)文法而是SLR(1)文法,请给出该文法的SLR(1)分析表。

问答第4题
解:拓广文法G',增加产生式S'→E
在项目集I
0中:
有移进项目E →·aTd
和归约项目E→·
存在移进-归约冲突,所以G不是LR(0)文法。

若产生式排序为:
(0) S′→E
(1) E → aTd
.
(2) E →ε
(3) T → Eb
(4) T → a
G′的LR(0)项目集族及识别活前缀的DFA如下图:
由产生式知:
Follow(E)={# ,b}
Follow(T)= {d}
在I0,I2中:
Follow(E) ∩{a}={# ,b} ∩{a}=
在I5中:
Follow(E) ∩{a}={# ,b} ∩{a}=
Follow(T) ∩{a}= {d} ∩{a}=
Follow(T) ∩ Follow(E) = {d} ∩{# ,b}=
所以在I0, I2, I5中的移进-归约和归约-归约冲突可以由Follow集解决,所以G′是SLR(1)文法。

构造的SLR(1)分析表如下表。

SLR(1)分析表
ACTION GOTO Name
a b d#E T
0S2r2r21
1acc
2S5r2r243
4S7
5S5r2r4r243
6r1r1
7r3
项目集的全体项目。

第5题(10分) 给出文法G[S]的LR(1)项目集规范族中I
G[S]为:S →D;D|D
D →DB|B
B →a|b
问答第5题
解:I0:
问答第6题(10分)文法G[M]及其LR分析表如下,请给出对串dada#的分析过程。

G[M]: 1) S →VdB2) V →e
3) V →ε 4) B →a
5) B →Bda 6) B →ε
ACTION GOTO 状态
d e a#S B V
0r3 S312
1acc
2S4
3r2
4r6S5r66
问答第6题
解:对串dada#的分析过程如下表
对输入串dada#的分析过程
第7题(10分)C语言的条件语句的结构为:
Stmt→if (Expr) Stmt;[else Stmt;]
试给出相应的属性翻译文法。

答:Condition→if (Expr)
{BackPatch($2.TC, NXQ);$$.Chain=$2.FC;}
Statement→Condition Statement; else
{ int q=NXQ;
GEN(j,0,0,0);
BackPatch($1.Chain, NXQ);
$$.Chain=Merge($2.Chain,q); }
Statement→CondStElse Statement;
{$$.Chain=Merge($1.Chain, $2.Chain ); }。

相关文档
最新文档