广工编译原理复习例题(有客观题的答案

合集下载

广工编译原理真题

广工编译原理真题

内容加上

的DISPLAY表的
三 有穷自动机M接受字母表={0,1}上所有满足下述条件的串:每个1 都有0直接跟在右边。构造一个最小的DFA M及和M等价的正规式。
四 证明正规式(ab)*a 与正规式a(ba)*等价 (用构造他们的最小的 DFA方法)。
五 写一个文法,使其语言是:
L = { 1n0m1m0n | m,n≥0 }
试构造它的LR(1)项目集、可归前缀图和LR(1)分析表。 八 已知源程序如下:
prod:=0; i:=1; while i≤20 do
begin prod:=prod+a[i]*b[i]; i:=i+1
end; 试按语法制导翻译法将源程序翻译成四元式序列(设A是数组a的起始地 址,B是数组b的起始地址;机器按字节编址,每个数组元素占四个字 节)。
编译原理
一 选择题
【 】1.____型文法也称为正规文法。
[A] 0
[B] 1
[C] 2
[D] 3
【 】2.____文法不是LL(1)的。
[A] 递归
[B] 右递归
[C] 2型 [D] 含有公共
左因子的
【 】3. 文法E→E+E|E*E|i的句子i*i+i*i的不同语法分析树的
总数为______。
六 对文法G[S] S → aSb | P P → bPc | bQc Q → Qa | a (1) 它是否是算符优先文法?请构造算符优先关系表
(2) 文法G[S]消除左递归、提取左公因子后是否是 LL(1)文法?请证实。
七 已知文法G为: (0) S′→ S (1) S → aAd (2) S → bAc (3) S → aec (4) S → bed (5) A → e

编译原理样题1(有答案)

编译原理样题1(有答案)

编译原理一、是非题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”。

每题1分,共5分)l、一个LL( l)文法一定是无二义的。

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

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

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

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

……………………………………………………………………………………()二、填空题(每题2分,共5分)1、语法分析是依据语言的( )规则进行的,中间代码产生是依据语言的( )规进行的。

2、程序语言的单词符号一般可以分为( )等等。

3、语法分析器的输入是( ),其输出是( )。

4、所谓自上而下分析法是指( )。

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

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

7、逆波兰式ab十c+d*e—所表达的表达式为( )。

8、一个名字的属性包括( )和( )。

9、对于数据空间的存贮分配,FORTRAN采用( )策略,PASCAL采用( )策略。

10、所谓优化是指( )。

三、名词解释题(每题2分,共10分)l、词法分析器:2、语法:3、最右推导:4、语法制导翻译:5、基本块:四、简述题(每题4分,共24分)l、考虑下面的程序:…………Var i:integer;a:array[1··2] of integer;prncedure Q( b);Var b:integer;Begini:=1;b:=b十2;i:=2;b:=b+3End;Begina[1]:=5;a[2]:=6;i:=1;Q(a[i]);print(a[l],a[2])End.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出a[l],a[2]的值是什么?2、画出识别pascal中实常数(可带正负号,但不含指数部分)的状态转换图。

编译原理复习题有答案

编译原理复习题有答案

编译原理复习题有答案编译原理复习题及答案一、选择题1. 编译器的主要功能是什么?A. 代码格式化B. 代码优化C. 将源代码转换为机器码D. 错误检测和修复答案:C2. 词法分析阶段的主要任务是什么?A. 语法分析B. 语义分析C. 识别源程序中的词法单元D. 代码生成答案:C3. 下列哪个不是编译原理中的常见数据结构?A. 栈B. 队列C. 哈希表D. 链表答案:D4. 语法分析通常采用哪种方法?A. 递归下降分析B. 动态规划C. 贪心算法D. 深度优先搜索答案:A5. 代码优化的目的是什么?A. 增加程序长度B. 减少程序运行时间C. 提高程序的可读性D. 增加程序的复杂性答案:B二、简答题1. 简述编译过程的主要阶段。

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

词法分析负责将源代码分解成词法单元;语法分析构建语法树,检查源代码的语法结构;语义分析检查程序的语义正确性;代码生成将源代码转换成目标代码或机器码。

2. 什么是自底向上的语法分析方法?答案:自底向上的语法分析方法是一种从叶子节点开始,逐步向上构建语法树的方法。

它通常使用移进-归约分析技术,通过将输入符号与栈顶符号进行匹配,不断地将它们归约成非终结符,直到整个输入被归约为起始符号。

3. 请解释什么是中间代码,并说明其作用。

答案:中间代码是一种介于源代码和目标代码之间的代码形式,通常用于代码优化和目标代码生成。

它具有高级语言的可读性,同时又能表达程序的控制流和数据流信息。

中间代码使得编译器可以在不同的阶段对程序进行优化,提高程序的执行效率。

三、论述题1. 论述编译原理中的错误处理机制。

答案:编译原理中的错误处理机制主要包括错误检测、错误恢复和错误报告。

错误检测是指在编译过程中识别出源代码中的语法或语义错误;错误恢复是指在检测到错误后,编译器采取的措施以继续编译过程,避免因单个错误而中断整个编译;错误报告则是向程序员提供错误信息,帮助其定位和修复错误。

编译原理习题及答案

编译原理习题及答案

( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 10.× 22.√
) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 11.
二、填空题: 2.编译过程可分为 ( 词法分析) , (语法分析) , (语义分析与中间代码生成 ) , (优化)和(目标 代码生成 )五个阶段。 3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( 二义性的 4.从功能上说,程序语言的语句大体可分为( 5.语法分析器的输入是( 单词符号 6.扫描器的任务是从( 源程序中 执行性 )语句和(说明性 ) 。 ) 。 ) ,其输出是( 语法单位 )中识别出一个个( 单词符号 ) 。 )语句两大类。
因此,文法 G[为二义文法。
五.计算题(10 分) 已知文法 A->aAd|aAb| ε
判断该文法是否是 SLR(1) 文法,若是构造相应分析表,并对输入串 ab# 给出分析过程。 解:增加一个非终结符 S/后,产生原文法的增广文法有: S'->A A->aAd|aAb|ε 下 面 构 造 它 的 LR(0) 项 目 集 规 范 族 为 :
对输入串 ab#给出分析过程为:
一、是非题:
1.一个上下文无关文法的开始符,可以是终结符或非终结符。 2.一个句型的直接短语是唯一的。 3.已经证明文法的二义性是可判定的。 4.每个基本块可用一个 DAG 表示。 5.每个过程的活动记录的体积在编译时可静态确定。 6.2 型文法一定是 3 型文法。 7.一个句型一定句子。 8.算符优先分析法每次都是对句柄进行归约。 X 9.采用三元式实现三地址代码时,不利于对中间代码进行优化。 10.编译过程中,语法分析器的任务是分析单词是怎样构成的。 11.一个优先表一定存在相应的优先函数。 13.递归下降分析法是一种自下而上分析法。 14.并不是每个文法都能改写成 LL(1)文法。 15.每个基本块只有一个入口和一个出口。 16.一个 LL(1)文法一定是无二义的。 17.逆波兰法表示的表达试亦称前缀式。 18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 19.正规文法产生的语言都可以用上下文无关文法来描述。 20.一个优先表一定存在相应的优先函数。 21.3 型文法一定是 2 型文法。 22.如果一个文法存在某个句子对应两棵不同的语法树, 则文法是二义性的。 答案:1.× 12.√ 13.× 2.× 14.√ 3.× 15.√ 4.√ 16.√ 5.√ 17.× 6.× × 18.√ 19.√ 20.× 21.√ 7.× 8.× 9.√ X 12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

广工编译原理复习例题

广工编译原理复习例题

编译原理复习例题2.设有文法G:S→S+S|S*S|i|(S)。

(1)对于输入串i+i*i 给出一个最左推导;(2)该文法是否是二义性文法?请证明你的结论。

解:(1)i+i*i的最左推导:S => S+S => i+S => i+S*S => i+i*S => i+i*i(2)该文法是二义性的。

因为对于句子i+i*i可以画出两棵语法树(语法树略)。

3.给出语言{a m b m c n|m≥1,n≥0}的上下文无关文法(2型)。

解:G: S→AB|AA→a Ab|abB→cB|c4.给出语言{a k b m c n|k,m,n≥1}的正规文法(3型)。

解: G: A→aA|aBB→bB|bCC→cC|c5.将文法G改写成等价的正规文法(3型)。

G: S→dABA→aA|aB→bB|b解: G: S→dAA→aA|aBB→bB|b6.构造一文法产生任意长的a,b串,使得|a|≤|b|≤2|a|其中,“|a|”和“|b|”分别表示串中的字符a和b的个数。

解:b的个数在a的个数和其2倍之间,串的结构形如aSBS和BSaS,其中B为1或2个b。

故得文法G: S→aSBS|BSaS|εB→b|bb 7.设有字母表{a,b}上的正规式R=(ab|a)*。

(1)构造R的相应有限自动机;解:(2)构造R的相应确定有限自动机;(3)构造R的相应最小确定有限自动机;解:对(2)得到的DFA化简,合并状态0和2 为状态2:(4)构造与R等价的正规文法解:令状态1和2分别对应非终结符B和A G: A→aB|a|εB→aB|bA|a|b|ε可化简为:G: A→aB|εa+aB→aB|bA|ε8.写出如图所示的自动机描述的语言的正规式解:abb*|abb*aa*b|aaa*b9.写出在{a,b}上,不以a开头,但以aa 结尾的字符串集合的正规式(并构造与之等价的最简DFA)。

解:依题意,“不以a开头”,则必以b开头,又要“以aa结尾”,故正规式为:b(a|b)*aa(构造与之等价的最简DFA,此略)10.写一个LL(1)文法G,使其语言是L(G)={ a m b n c2n | m>=0,n>0 } 并证明文法是LL(1)。

广工编译原理(精选题集+必考大题

广工编译原理(精选题集+必考大题

《编译原理》期末试题(二)1、描述由正规式b*(abb*)*(a| ε)定义的语言,并画出接受该语言的最简DFA。

2、证明文法E → E + id | id是SLR(1)文法。

3、下面是表达式和赋值语句的文法,其中and的类型是bool ⨯ bool → bool,+的类型是int ⨯ int → int,=的类型是int ⨯ int → bool,:= 要求id和E的类型都是int或者都是bool。

为该文法写一个语法制导定义或翻译方案,它完成类型检查。

S →id := EE → E and E | E + E | E = E |id6、描述由正规式b*a(bb*a)*b*定义的语言,并画出接受该语言的最简DFA。

7、下面的文法产生代表正二进制数的0和1的串集:B → B 0 | B 1 | 1下面的翻译方案计算这种正二进制数的十进制值:B →B1 0 {B.va l := B1.val⨯ 2 }| B1 1 {B.val := B1.val⨯ 2 +1}| 1 {B.val := 1 }请消除该基础文法的左递归,再重写一个翻译方案,它仍然计算这种正二进制数的十进制值。

编译原理试卷二答案1、由正规式b*(abb*)*(a| ε)定义的语言是字母表{a, b}上不含子串aa的所有串的集合。

最简DFA如下:2、先给出接受该文法活前缀的DFA如下:I0和I3都只有移进项目,肯定不会引起冲突;I2和I4都无移进项目并仅含一个归约项目,也肯定不会引起冲突;在I1中,E'的后继符号只有$,同第2个项目的展望符号“+”不一样,因此I1也肯定不会引起冲突。

由此可以断定该文法是SLR(1)的。

3、语法制导定义如下。

S →id := E { S.type := if (id.type = bool and E.type = bool) or (id.type = int and E.type = int)then type_ok else type_error }E → E1and E2 { E.type := if E1.type = bool and E2.type = bool then bool elsetype_error }E → E1 + E2 { E.type := if E1.type = int and E2.type = int then int else type_error }E → E1 = E2{ E.type := if E1.type = int and E2.type = int then bool else type_error }E →id { E.type := lookup(id.entry) }6、正规式b*a(bb*a)*b*体现的特点是,每个a的左边都有若干b,除非a是第一个字母。

广工编译原理复习例题(有客观题的答案

广工编译原理复习例题(有客观题的答案

编译原理复习例题一选择题1.编译的各阶段工作都涉及 B 。

[A]词法分析 [B]表格管理 [C]语法分析 [D]语义分析2. D 型文法也称为正规文法。

[A] 0 [B] 1 [C] 2 [D] 33. D 文法不是LL(1)的。

[A]递归 [B]右递归 [C]2型 [D]含有公共左因子的4.文法E→E+E|E*E|i的句子i*i+i*i有 C 棵不同的语法树。

[A] 1 [B] 3 [C] 5 [D] 75.文法 S→aaS|abc 定义的语言是 C 。

[A]{a2k bc|k>0} [B]{a k bc|k>0}[C]{a2k-1bc|k>0} [D]{a k a k bc|k>0}6.若B为非终结符,则 A→α.Bβ为 D 。

[A]移进项目 [B]归约项目 [C]接受项目 [D]待约项目7.同心集合并可能会产生新的 D 冲突。

[A]二义 [B]移进/移进 [C]移进/归约 [D]归约/归约8.代码优化时所依据的是 C 。

[A]语法规则 [B]词法规则[C]等价变换规则 [D]语义规则9.表达式a-(-b)*c的逆波兰表示(@为单目减)为 B 。

[A]a-b@c* [B]ab@c*- [C]ab@- [D]ab@c-*10.过程的DISPLAY表是用于存取过程的 B 。

[A]非局部变量 [B]嵌套层次 [C]返回地址 [D]入口地址11. 已知右图所示自动机M,请问下列哪个字符串不是M[A] bbaa [B] abba [C] abab [D] aabb12.若状态k含有项目“A→α.”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A→α”归约的语法分析方法是 D 。

[A] LALR分析法 [B] LR(0)分析法[C] LR(1)分析法[D] SLR(1)分析法13.有一语法制导翻译如下所示:(第8章)S->bAb {print “1” }A->(B {print “2” }A->a {print “3” }B->Aa) {print “4” }若输入序列为b(((aa)a)a)b,则采用自下而上的分析方法,则输出是 B 。

编译原理试题及答案

编译原理试题及答案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(2)将NFA M确定化为DFA M’
I -0 +1 2 S SZ A
Ia SZ SZ S
Ib A A
8. 有穷自动机M接受字母表={0,1}上所有满足下述条件的串:串中 至少包含两个连续的0或两个连续的1。请写出与M等价的正规式。 解:(0|1)*(00|11)(0|1)* 9.对右图所示的有限自动机 (1)若是确定的,则写出其转换矩阵;若不是,则将其确定化; (2)最小化。 (注:确定化和最小化均应给出转换矩阵和图示)。 解: (1) 符号 a b 状态 -1 2 +3 +4 5 2 1 2 1 5 3 4 5 6 5
[C]
基本
,从而逐个 P→(E)|i,句
最左规约
4.符号表的信息栏中登记了每个名字的有关属性,如 符号名 、符号的类型、符号的存储类别和符号的作用域及可视性等。 5. 一个确定有穷自动机由五部分组成: 有穷状态集 、 有穷字母 表 、 转换函数 、初态和 终态集 。 6. 最常用的两类语法分析方法是 自顶向下 上 分析法。 7. 单词的三种描述工具: 正规文法 、 有穷自动机 互相之间具有等价性。 8. 和 自底向 正规式 和
6 6 6 (2)首先将状态按终态和非终态分成两个集合{1,2,5,6}和{3,4} 检查子集{1,2,5,6},由于f(1,a)=2,f(2,a)=1,
f(5,a)=4,f(6,a)=3,所以子集{1,2,5,6}可进一步划分为{1,2} 和{5,6} 检查子集{3,4},由于f(3,a)=2,f(4,a)=1以及f(3,b)=5, f(4,b)=6,所以不用进一步划分了。 检查子集{1,2},由于f(1,a)=2,f(2,a)=2以及f(1,b)=3, f(2,b)=4,所以不用进一步划分了。 检查子集{5,6},由于f(5,a)=4,f(6,a)=3以及f(5,b)= ¢, f(6,b)= ¢,所以不需要进一步划分了。 因此最终划分的结果是{1,2}、{3,4}和{5,6},重新命名状态, 令{1,2}为1,{3,4}为3和{5,6}为5,则得到化简后的DFA为 符号 a b 状态 -1 +3 5 1 1 5 3 5 5

解答题
1.给定文法G和句型(T+F)*i+T, G: E→E+T | T T→T*F | F F→(E) | i (1)画出句型的语法树; (2)写出句型的全部短语、简单短语和句柄。 解:(略) 2.设有文法G:S→S+S|S*S|i|(S)。 (1)对于输入串i+i*i 给出一个最左推导; (2)该文法是否是二义性文法?请证明你的结论。 解:(1)i+i*i的最左推导: S => S+S => i+S => i+S*S => i+i*S => i+i*i (2)该文法是二义性的。因为对于句子i+i*i 可以画出两棵语法树(语法树略)。 3.给出语言{ambmcn|m≥1,n≥0}的上下文无关文法(2型)。 解: G: S→AB|A A→aAb|ab B→cB|c
13.对文法G[S]: S → aSb | P P → bPc | bQc Q → Qa | a 构造简单优先关系表。该文法是否是简单优先文法? 解:简单优先关系矩阵如下: S a b P Q c
S a b P Q = = < > <
= < < > > < = = < = = >
c > > 由于矩阵中有元素存在多种优先关系,故不是简单优先文法。 14.考虑文法 G: S → AS | b A → SA | a (1)构造文法的可归前缀图(活前缀的DFA); (2)判断文法是否是LR(0)文法,并说明理由。 解:(1)可归前缀图 (2)因为存在冲突,所以不是LR(0)文法。 15.已知文法G[S]:S→ Uta | Tb T→ S | Sc | d U→ US | e (1) 试判断G是LR(0),SLR(1),LALR(1)还是LR(1),说明理 由。 (2) 构造相应的分析表。 解: (1) 首先拓广文法为G',增加产生式S'→S (0) S'→S (1) S→UTa (2) S→Tb (4) T→Sc (5) T→d (6) U→US G′的LR(0)项目集族及识别活前缀的DFA如下图所示:
在PL/0的目标代码解释执行时,寄存器B总是指向当前执行 过程活动记录的 起始地址 ,而寄存器T总是指向 栈顶 。
9.LR(0)分析法的名字中”L”表示 自左向右扫描输入符号串 ,”R”表示 最右推导的逆过程 ,“0”表示 向前看的输入符号的个数 。 10. 两种常用的动态存储分配办法是 动态分配。 栈式动态分配和堆式
编译原理复习例题
一 选择题
1.编译的各阶段工作都涉及 B 。 [A]词法分析 [B]表格管理 [C]语法分析 [D] 语义分析 2. D 型文法也称为正规文法。 [A] 0 [B] 1 [C] 2 [D] 3 3. D 文法不是LL(1)的。 [A]递归 [B]右递归 [C]2型 [D]含有公 共左因子的 4.文法E→E+E|E*E|i的句子i*i+i*i有 C 棵不同的语法 树。 [A] 1 [B] 3 [C] 5 [D] 7 5.文法 S→aaS|abc 定义的语言是 C 。 [A]{a2kbc|k>0} [B]{akbc|k>0} [C]{a2k-1bc|k>0} [D]{akakbc|k>0} 6.若B为非终结符,则 A→.B 为 D 。 [A]移进项目 [B]归约项目 [C]接受项目 [D]待约项目 7.同心集合并可能会产生新的 D 冲突。 [A]二义 [B]移进/移进 [C]移进/归约 [D]归约/归 约 8.代码优化时所依据的是 C 。 [A]语法规则 [B]词法规则 [C]等价变换规则 [D]语义规则 9.表达式a-(-b)*c的逆波兰表示(@为单目减)为 B 。 [A]a-b@c* [B]ab@c*[C]ab@[D]ab@c-* 10.过程的DISPLAY表是用于存取过程的 B 。 [A]非局部变量 [B]嵌套层次 [C]返回地址 [D]入口地址 b 0
+123 123
+13
123
0 1 2 a a b a -+ + + (3)构造R的相应最小确定有限自动机; 解:对(2)得到的DFA化简,合并状态0和2 为状态2: 1 2 a a b -+ + (4)构造与R等价的正规文法 解:令状态1和2分别对应非终结符B和A G: A→aB|a|ε B→aB|bA|a|b|ε 可化简为: G: A→aB|ε B→aB|bA|ε 7.已知正规文法G[S]: S → aS | bA | a A → aS (1)构造与之等价的自动机NFA M
14. 局部优化是对 [A] 表达式 [C] 循环体 15. 削减运算强度是对
D
进行的优化。 [B] 部分代码 [D] 基本块 D 的一种优化。
[A] 表达式 [B] 过程 块 [D] 循环 二 填空题
1.词法分析阶段的任务式从左到右扫描 源程序 识别 单词 。 2.对于文法G[E]:E→T|E+T 型T+T*F+i的句柄是 T 3.最右推导的逆过程称为 规范规约 。 T→F|T*F 。 F→P^F|P ,也称为
10.写出在{a,b}上,不以a开头,但以aa结尾的字符串集合的正规式 (并构造与之等价的最简DFA)。 解:依题意,“不以a开头”,则必以b开头,又要“以 aa结尾”,故正规式为:b(a|b)*aa (构造与之等价的最简DFA,此略) 11.写一个LL(1)文法G,使其语言是 L(G)={ ambnc2n | m>=0,n>0 } 并证明文法是LL(1)。 解:文法G(S):S aS | E E bE’ E’ Ecc | cc Select(S aS)∩Select (S E)= Ф Select(E’ Ecc)∩Select (E’ cc) =Ф 故文法为LL(1)的 12.将文法G改写成等价的LL(1)文法,并构造预测分 析表。 G:S→S*aT|aT|*aT

判断题(认为正确的填“T”,错的填“F”)
【 T 】1.同心集的合并有可能产生“归约/归 约”冲突。 【 T 】2.一个文法所有句子的集合构成该文法定 义的语言。 【 F 】3.非终结符可以有综合属性,但不能有继 承属性。 【 T 号。 【 F 态。 【 F 】4.逆波兰表示法表示表达式时无需使用括 】5.一个确定有穷自动机有且只有一个终 】6.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元 素。
1 a a 2 + + b a b 11. 已知右图所示自动机M,请问下列哪个字符串不是M所能识别的。D [A] bbaa [B] [C] abab [D] aabb
12. 若状态k含有项目“A→α.”,且仅当输入符号a∈FOLLOW(A)时, 才用规则“A→α”归约的语法分析方法是 D 。 [A] LALR分析法 [B] LR(0)分析法 [C] LR(1)分析法 [D] SLR(1)分析法 13. 有一语法制导翻译如下所示:(第8章) S->bAb {print “1” } A->(B {print “2” } A->a {print “3” } B->Aa) {print “4” } 若输入序列为b(((aa)a)a)b,则采用自下而上的分析方法,则输出是 B 。 [A] 32224441 [B] 34242421 [C] 12424243 [D] 34442212
4.给出语言{akbmcn|k,m,n≥1}的正规文法(3型)。 解: G: A→aA|aB B→bB|bC C→cC|c 5.将文法G改写成等价的正规文法(3型)。 G: S→dAB A→aA|a B→bB|b 解: G: S→dA A→aA|aB B→bB|b 6.设有字母表{a,b}上的正规式R=(ab|a)*。 (1)构造R的相应有限自动机; 解: 0 1 2 3 b a a ε ε + (2)构造R的相应确定有限自动机; 解:将(1)所得的非确定有限自动机确定化 Ia +013 123 13 Ib
相关文档
最新文档