计算机编译原理总复习-习题与试题

合集下载

编译原理期末考试试题及答案

编译原理期末考试试题及答案

编译原理期末考试试题及答案一、选择题(每题2分,共20分)1. 编译器的前端主要负责以下哪项工作?A. 代码优化B. 目标代码生成C. 词法分析和语法分析D. 运行时支持2. 词法分析器的主要任务是什么?A. 识别语法结构B. 识别词法单元C. 构建语法树D. 代码优化3. 语法分析中,使用哪种方法可以避免回溯?A. 递归下降分析B. LR分析C. LL分析D. 自顶向下分析4. 下列哪个选项不是中间代码的形式?A. 三地址代码B. 四元组C. 抽象语法树D. 汇编语言5. 代码优化的目标不包括以下哪项?A. 提高代码执行速度B. 减少程序占用的内存C. 增加程序的可读性D. 减少程序的执行时间二、简答题(每题10分,共30分)1. 简述编译器的主要组成部分及其功能。

2. 解释什么是语法制导翻译,并举例说明其在编译过程中的应用。

3. 描述静态作用域规则和动态作用域规则的区别。

三、计算题(每题15分,共30分)1. 给定一个简单的算术表达式 `3 + (4 * 5) - 2`,请使用逆波兰表示法表示,并说明其转换过程。

2. 假设有一个简单的文法如下:```S -> A BA -> a A | εB -> b B | ε```请写出使用该文法生成字符串 "ab" 的所有派生树。

四、论述题(每题20分,共20分)1. 论述编译器中代码优化的重要性,并举例说明常见的优化技术。

参考答案一、选择题1. C2. B3. B4. D5. C二、简答题1. 编译器的主要组成部分包括前端、中端和后端。

前端负责词法分析和语法分析,中端进行语义分析和中间代码生成,后端则负责代码优化和目标代码生成。

2. 语法制导翻译是一种基于文法规则的翻译技术,它将源程序的语法结构映射到相应的语义操作上。

例如,在编译过程中,语法制导翻译可以用于将源代码中的条件语句转换为中间代码中的跳转指令。

3. 静态作用域规则是指变量的作用域在编译时确定,而动态作用域规则是指变量的作用域在运行时确定。

编译原理复习题有答案

编译原理复习题有答案

编译原理复习题有答案编译原理复习题及答案一、选择题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. 论述编译原理中的错误处理机制。

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

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

完整版编译原理复习题及答案

完整版编译原理复习题及答案

编译原理复习题及答案一、选择题1.一个正规语言只能对应( B )A 一个正规文法B 一个最小有限状态自动机2.文法G[A] :A→εA→aB B→Ab B→a是( A )A 正规文法B 二型文法3.下面说法正确的是( A ) A一个SLR(1)文法一定也是LALR (1)文法B一个LR (1)文法一定也是LALR (1)文法4.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL (1)文法的( A )A 必要条件B 充分必要条件5.下面说法正确的是( B )A 一个正规式只能对应一个确定的有限状态自动机B 一个正规语言可能对应多个正规文法6.算符优先分析与规范归约相比的优点是( A )A 归约速度快B 对文法限制少7.一个LR (1)文法合并同心集后若不是LALR (1)文法( B )A 则可能存在移进/归约冲突B 则可能存在归约/归约冲突C 则可能存在移进/归约冲突和归约/ 归约冲突8.下面说法正确的是( A )A Lex 是一个词法分析器的生成器B Yacc 是一个语法分析器9.下面说法正确的是( A )A一个正规文法也一定是二型文法B一个二型文法也一定能有一个等价的正规文法10.编译原理是对(C) 。

A 、机器语言的执行B、汇编语言的翻译C、高级语言的翻译D、高级语言程序的解释执行11.(A) 是一种典型的解释型语言。

A .BASICB .CC.FORTRAN D.PASCAL12.把汇编语言程序翻译成机器可执行的目标程序的工作是由(B) 完成的。

A. 编译器B. 汇编器C. 解释器D. 预处理器13.用高级语言编写的程序经编译后产生的程序叫(B) A .源程序B .目标程序C.连接程序 D .解释程序14.(C) 不是编译程序的组成部分。

A. 词法分析程序B. 代码生成程序C.设备管理程序D. 语法分析程序15.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优目标代码生成等六个部分,还应包括(C)A .模拟执行器B .解释器C.表格处理和出错处理D .符号执行器16.编译程序绝大多数时间花在(D) A .出错处理B.词法分析C.目标代码生成D.表格管理17.源程序是句子的集A. 线性表(B) 可以较好地反映句子的结构。

编译原理试题汇总 编译原理期末试题(8套含答案 大题集)

编译原理试题汇总 编译原理期末试题(8套含答案 大题集)

编译原理考试题及答案汇总一、选择1.将编译程序分成若干个“遍”是为了_B__。

A . 提高程序的执行效率B.使程序的结构更加清晰C. 利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.正规式 MI 和 M2 等价是指__C__。

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

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

A.语法规则 B.词法规则 C.语义规则 D.等价变换规则4.后缀式 ab+cd+/可用表达式__B_来表示。

A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。

A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析7.词法分析器用于识别__C___。

A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符8.语法分析器则可以发现源程序中的___D__。

A.( ) 语义错误 B.( ) 语法和语义错误C.( ) 错误并校正 D.( ) 语法错误9.下面关于解释程序的描述正确的是__B___。

(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于 COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3)10.解释程序处理语言时 , 大多数采用的是__B___方法。

A.( ) 源程序命令被逐个直接解释执行B.( ) 先将源程序转化为中间代码 , 再解释执行C.( ) 先将源程序解释转化为目标程序 , 再执行D.( ) 以上方法都可以11.编译过程中 , 语法分析器的任务就是__B___。

计算机编译原理复习题附答案

计算机编译原理复习题附答案

编译原理(一)一、是非题1、算符优先关系表不一定存在对应的优先函。

………………………………………(√)2、数组元素的地址计算与数组的存储方式有关。

……………………………(√)3、仅考虑一个基本块,不能确定一个赋值是否真是无用的。

……………………(√)4、每个文法都能改写为LL(1)文法。

……………………………………………(×)5、对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。

…………(×)二、填空题1、从功能上说,程序语言的语句大体可分为(执行性)语句和(说明性)语句两大类。

2、扫描器的任务是从(源程序)中识别出一个个(单词符号)。

3、所谓最右推导是指:(任何一步α β都是对α中最右非终结符进行替换的)。

4、语法分析最常用的两类方法是(自上而下)和(自下而上)分析法。

5、一个上下文无关文法所含四个组成部分是(一组终结符号、一组非终结符号、一个开始符号、一组产生式。

)。

6、所谓语法制导翻译方法是(为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些子程序)。

7、符号表中的信息栏中登记了每个名字的有关的性质,如(类型、种属、所占单元大小、地址)等等。

8、一个过程相应的DISPLAY表的内容为(现行活动记录地址和所有外层最新活动记录的地址)。

9、常用的两种动态存贮分配办法是(栈式)动态分配和(堆式)动态分配。

10、产生式是用于定义(语法范畴)的一种书写规则。

三、名词解释1、遍--_指编译程序对源程序或中间代码程序从头到尾扫描一次。

2、无环路有向图(DAG)--如果有向图中任一通路都不是环路,则称庐有向图为无环路有向图,简称DAG。

3、语法分析--按文法的产生式识别输入的符号串是否为一个句子的分析过程4、短语--—令G是一个文法。

S划文法的开始符号,假定αβδ是文法G的一个句型,如果有SαAδ且AB,则称β是句型αβ相对非终结符A的短语。

5、后缀式--一种把运算量(操作数)写在前面把算符写在后面(后缀)的表示法。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题5分,共20分)1. 编译器的主要功能是什么?A. 代码优化B. 代码翻译C. 代码调试D. 代码运行答案:B2. 下列哪个选项不属于编译器的前端部分?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,文法的产生式通常表示为:A. A -> αB. A -> βC. A -> γD. A -> δ答案:A4. 下列哪个算法用于构建语法分析树?A. LL(1)分析B. LR(1)分析C. SLR(1)分析D. LALR(1)分析答案:A二、填空题(每空5分,共20分)1. 编译器的前端通常包括词法分析、语法分析和________。

答案:语义分析2. 编译器的后端主要负责________和目标代码生成。

答案:代码优化3. 编译器中的词法分析器通常使用________算法来识别单词。

答案:有限自动机4. 语法分析中,________分析是一种自顶向下的分析方法。

答案:递归下降三、简答题(每题10分,共30分)1. 简述编译器的作用。

答案:编译器的主要作用是将高级语言编写的源代码转换成计算机能够理解的低级语言或机器代码,以便执行。

2. 解释一下什么是语法制导翻译。

答案:语法制导翻译是一种翻译技术,它利用源语言的语法信息来指导翻译过程,使得翻译过程能够更好地理解源代码的语义。

3. 什么是词法分析器?答案:词法分析器是编译器前端的一部分,它的任务是将源代码文本分解成一系列的标记(tokens),这些标记是源代码的最小有意义的单位。

四、计算题(每题10分,共30分)1. 给定一个简单的文法G(E):E → E + T | TT → T * F | FF → (E) | id请计算文法的非终结符号E的FIRST集和FOLLOW集。

答案:E的FIRST集为{(, id},FOLLOW集为{), +, $}。

2. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

编译原理期末总复习题(含答案)

编译原理期末总复习题(含答案)

第八节习题一、单项选择题1、将编译程序分成若干个“遍”是为了 b 。

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

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

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

a.出错处理b.词法分析c.目标代码生成d.管理表格5、 d 不可能是目标代码。

a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码6、使用 a 可以定义一个程序的意义。

a.语义规则b.词法规则c.产生规则d.词法规则7、词法分析器的输入是 a 。

a.单词符号串b.源程序c.语法单位d.目标程序8、中间代码生成时所遵循的是- d 。

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

a.汇编程序的翻译b.高级语言程序的解释执行c.机器语言的执行d.高级语言的翻译10、语法分析应遵循 b 。

a.语义规则b.语法规则c.构词规则d.等价变换规则解答1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。

2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。

3、对编译而言,变量既持有左值又持有右值,故选c。

4、编译程序打交道最多的就是各种表格,因此选d。

5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。

6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。

因此选a。

7、b 8、c 9、d 10、c二、多项选择题1、编译程序各阶段的工作都涉及到bc 。

a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析2、编译程序工作时,通常有abce 阶段。

完整版编译原理复习题及答案

完整版编译原理复习题及答案
一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的( A )
A必要条件B充分必要条件
下面说法正确的是( A )
A一个正规文法也一定是二型文法
B一个二型文法也一定能有一个等价的正规文法 编译原理是对(C)。
A、机器语言的执行B、汇编语言的翻译
D、咼级语言程序的解释执行
(A)是一种典型的解释型语言。
A.线性表B.树
词法分析器的输出结果是(D)。
A、单词自身值
C、单词的种别编码 词法分析器不能(D)
A.识别出数值常量
C.扫描源程序并识别记号
C.完全图D.堆栈
B、单词在符号表中的位置
D、单词的种别编码和自身值
B.过滤源程序中的注释
D.发现括号不匹配
文法:G:StxSx|y所识别的语言是(D)。
A、xyxB、(xyx)*
A.状态数相等
C.所识别的语言相等
若状态k含有项目“ 归约的语法分析方法是
LR分析法
源程序
(C)。
Af a
(D)。
B.LR(0)分析法
a•为(B)项目。
B.移进
_宀曰 一定是
但不能用正则表达式表示。
无法判定是否存在
C. a0b0a
D. cba
(D)
D. bc10
C.非终结符集
(A)
C.二义性的
A.BASICB.C
把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。
A.编译器
B.汇编器
C.解释器
D.
预处理器
用高级语言编写的程序经编译后产生的程序叫
(B)
A•源程序
B.目标程序
C.连接程序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、填空题
2.2(6分)编译程序的基本组成有:词法分析、 、 、中
间代码生成、 、 、 和

2.3(1分)正规式r和s等价说明
相同。
2.4(2分)不含子串baa的所有a、b符号串的正规式是

2.9(4分) 已知文法G定义如下:
S→eT|RT
T→DR|ε
R→dR|ε
D→a|bd
则FIRST(S)= ,FIRST(D)= ,FIRST(T)= ,FIRST(R)= 。
( 4 )用分析表对句子 - id+id *id 和 -( id+id )*id 进行分析(以
格局变化的方式)
(5)根据(4)的分析给出-id+id*id的分析树和剪句柄的过程
解:作为练习,本题的每一步都是必要的。相对来说分析表的
构造并不重要。
(具体步骤有时间板书)
构造SLR(1)分析表的方法:
1.可移进项直接从DFA上看:
下是已经有了形式化描述(CFG)。解题思路是先用所给 的产生式集合产生若干句子,然后分析句子的共性,从中 找出规律。根据这一思想再看习题解答。
习题3.7
设计一文法G,使得L(G)={ω|ω是不以0开始的正奇数} 问题:不知怎样着手做设计题,通常步骤是什么? (看到这样的问题我要疯掉了,都是一样的思路吗) 思路:首先根据集合的描述设计几个句子,然后从句子中找
遍程序,得出结果; 2. 找台机子把程序敲进去试试(辅助手段) 比较困惑的是:表达式a+b如何可以作为复写-恢复的实参? 解决方案:忽略返回值问题(因为复写-恢复一般要求形参要
有左值);其实这一思想可以推广到任何不支持某种方式 的情况(放心,考试中不会有这种很困惑的问题) 具体结果(略)
认真复习、迎接考试 (结 束)
program main(input output);
procedure p(x,y,z);
begin y:=y+1; z:=z+x end;
begin a:=2; b:=3; p(a+b, a, a); print a end;
两种解题的思路: 1. 把自己当作计算机,按照参数传递的实现方式 “ 运行 ”
(d)(4分)将文法G简化为:E→E*T|T,T→T+F|F,F→id。给出
它的识别活前缀的DFA。
部分习题解答
If there is a wrong way to do something, most of people will do it every time. 同学提出希望讲解的题目: 2.4 2.9 2.10 3.2 3.17 4.4 5.5
习题2.9
用自然语言给出下述正规式所描述的语言,并构造他们的最小DFA
10*1
(0|1)*011(0|1)*
问题:看得懂,但是不太会用自然语言较好的表达
说明:所谓用自然语言描述就是解释字符串的性质,一般情 况下是已经有了形式化描述。注意:这就是练习的目的。
解: 10*1:首尾是1中间有零或若干个0的01串。 (0|1)*011(0|1)* :至少含一个011的01串。 注意:绝对不允许用正规式形式表示,因为正规式已经给出
|F
{T.place=F.place;}
F→(E) {F.place=E.place;}
| id
{F.place=;}
(a)(4分)求句型(T+F)*id 的短语、直接短语以及句柄;
(b)(4分)根据语法制导翻译写出句子a*b+c*d的中间代码;
(c)(3分)若a=3,b=5,c=7,d=8,案中的错误(续1)
100页:图4.2:将A.code=(3)“(x,:=,(2))”改为
“(:=,x,(2))”
129页:例4.17的中间代码:将“t3:=+r t4”改为“t3:=C +r
t4”
133页:例4.18的中间代码:将“t5:=t3*t4”改为“t5:=t3*4”,
2.2 语法分析、语义分析、代码优化、目标代码生成、 符号表管理和出错处理 2.3 r和s表示的正规集 2.4 a*(b|ba)* 2.9 FIRST(S)= {e,d,ε,a,b} ,FIRST(D)= {a,b} ,
FIRST(T)= {ε,a,b} ,FIRST(R)= {d,ε} 。
三、计算题(3.3)
警示
千万不要作弊!命运掌握在自己的手中!
3
实际试题举例
一、简答题
1.1(2分)有哪些方法可以去除文法的二义性。 1.2(2分)写出 -((a+b)*c)+d 的后缀式。 1.5(4分)试证明正规式(ab)*a与a(ba)*是等价的。
1.1 (1)改写文法 (2)规定文法符号的优先级和结合性 1.2 ab+c*@d+(或ab+c*-d+) 1.5 证明:
对于文法G3.4和它所产生的句子-id+id*id 和 -(id+id)*id
E → E+T|T
T → T*F|F
(G3.4)
F → (E) |-F|id
(1)构造基于LR(0)项目集的识别活前缀的DFA
(2)指出DFA中所有含有冲突的项目集,并说明这些冲突可以
用SLR(1)方法解决;
(3)构造文法G3.4的SLR(1)分析表
出规律(或共性),把它们的性质用产生式表示出来。 解: 正规式: 个位:[13579] 个位以上:[0-9]* 最高位:[1-9] 三段连起来:[1-9][0-9]*[13579] 产生式:
S→ACB|B
A→1|2|3|4|5|6|7|8|9
B→1|3|5|7|9
C→ε|0C|AC
习题 3.17
To know how to do something well is to enjoy it.
战略上藐视敌人,战术上重视敌人。 The trees that are slow to grow
bear the best fruit.
20
附件1:教材与习题答案中的错误
教材
23页:例2.7上边两行:将“M[si,sj]”改为“M[si,ch]” 将“...是从状态si到状态sj的边上的标记ch(或ε)。”改为 “...是从状态si经ch(或ε)到达的下一状态sj。” 24页:倒11行:将“M[si,sj]”改为“M[si,ch]” 25页:图2.7最后一行状态“000”应改为“012” 34页:算法2.6方法④2、3行:将“从si出发”改为“从si'出 发”,将“称为D的初态”改为“称为D'的初态” 45页:10行:将“N是仅出现”改为“仅N是可以出现” 70页:例3.23:将FOLLOW集合中的“$”改为“#” 75页:到4行:将“文法G3.13”改为“文法G3.12” 81页:图3.22:将I0中的“T→.-F”改为“F→.-F”
将“V7”改为“V5”
134页:图4.16:将“V5、V6、V7”分别改为“V6、V7、V5”
语法制导翻译与运行环境(30分) • 考试范围:1-4章讲过的内容 • 侧重考察:基本概念与基本方法的掌握
易犯的错误
1. 不认真审题(题目的要求理解错误:意思理解错、难题想 容易、容易题想难。关键问题是基本概念不清楚)
2. 所答非所问(例如:没有要求LL分析却将文法改为LL的) 3. 画蛇添足(例如:仅问有无冲突却将分析表先构造出来) 4. 偷工减料(例如:有若干问,仅回答部分或问题仅答一半)
A=((00|11)|(01|10)(00|11)*(10|01))* 3. 符合要求的所有串:A1A、A0A1A0A(为什么没有后两个?) 结果:A1A | A0A1A0A 思考:识别它的DFA又应该如何构造?
(4) C的形如/*…*/ 的注释。其中…代表不含*/的字符串
思路:注释中若遇到*:若后边是/则结束注释否则仍然是注释 步骤: 1. 注释串是空; 2. 考虑没有*的注释; 3. 考虑含*的注释 结果:(4) "/*" ([^\*] | (\*)*[^\*/])* (\*)* "*/"
考虑L((ab)*a)中的任意一个串ababab...aba, 由串连接的结合性可得:a(ba)(ba)(b...a)(ba),它恰好 是L(a(ba)*), 即L((ab)*a)= L(a(ba)*)。 也可以用归纳法证明(提示:以ab重复0次、1次作为归纳 基础,假设ab重复n次成立,证明ab重复n+1次也成立)。
组成,如a, b等):E→E*T|T T→T+F|F F→(E)|id
和G的语法制导翻译如下:
E→E1*T {E.place=newtemp; emit(*,E1.place,T.place,E.place;}
|T
{E.place=T.place;}
T→T1+F {T.place=newtemp; emit(+,T1.place,F.place,T.place;}
8
习题2.4
写出下述语言的正规式描述 (1) 由偶数个0和奇数个1构成的所有01串 (2) 所有不含子串011的01串 (3) 每个a后面至少紧随两个b的ab串 (4) C的形如/*…*/ 的注释。其中…代表不含*/的字符串
问题:拿到这类题该怎样思考,然后去解决?(特别是(1))
思路:分析题意,从最简单的例子考虑,然后找出统一规律 步骤: 1. 最简单的符合要求的串:1、010(还有100或001) 2. 所有01均为偶数的串:
习题2.10
有一NFA的状态转换矩阵下表,其中S为初态,D为终态
a b cε
S A,B C,D D A,B.C
AA
CB
BA D
C
1. 求出它的最小DFA 2. 用正规式描述DFA所
相关文档
最新文档