编译原理 之 词法分析
2010-04-10 13:41
239 查看
编译原理(第二章):
一. 例: ∑={a,b},下面是 ∑ 的正规式和相应的正规集
正规式 正规集
ba* 以b为首后跟任意多个a的字
a(a|b)* 所有以a为首的字
(a|b)*(aa|bb)(a|b)* 所有含有两个相继aa或bb的字
二、确定有限自动机(DFA)
一个确定的有限自动机是一个五元式M=(S,∑,f,S0,Z)
其中
1.S是一个有限集,他的每个每个元素都是一个状态
2.∑是一个又穷字母表,他的每个元素称为一个输入字符
3.f是一个从S×∑至S的(单值)部分映照。F(s,a)=s'意味着:当现行状态为s,输入字符为a时,奖转换到下一个状态s'。我们把s'称为s的一个后继状态。
4.S0∈S是唯一的一个初态;
5.Z∈是一个终极态(可空)。
三、
一个DFA可用一个矩阵表示,该矩阵的行表示状态,列表示输入字符,矩阵元素表示f(s,a)的值,这个矩阵称为状态矩阵。
四、NFA
一. 例: ∑={a,b},下面是 ∑ 的正规式和相应的正规集
正规式 正规集
ba* 以b为首后跟任意多个a的字
a(a|b)* 所有以a为首的字
(a|b)*(aa|bb)(a|b)* 所有含有两个相继aa或bb的字
二、确定有限自动机(DFA)
一个确定的有限自动机是一个五元式M=(S,∑,f,S0,Z)
其中
1.S是一个有限集,他的每个每个元素都是一个状态
2.∑是一个又穷字母表,他的每个元素称为一个输入字符
3.f是一个从S×∑至S的(单值)部分映照。F(s,a)=s'意味着:当现行状态为s,输入字符为a时,奖转换到下一个状态s'。我们把s'称为s的一个后继状态。
4.S0∈S是唯一的一个初态;
5.Z∈是一个终极态(可空)。
三、
一个DFA可用一个矩阵表示,该矩阵的行表示状态,列表示输入字符,矩阵元素表示f(s,a)的值,这个矩阵称为状态矩阵。
四、NFA
相关文章推荐
- 编译原理课设——《TINY编译器》,用lex和yacc生成词法语法分析源码,实现编译器
- 编译原理丨第十三周 ——1000. 输入输出LL(1)语法分析程序
- 关于Basic程序解释器及编译原理的简单化(1)--词法分析和代数式求值
- 编译原理学习笔记12——(魔镜魔镜告诉我—— 构造预测分析程序)——2014_1_28
- 编译原理-词法分析01-扫描程序
- 编译原理-词法分析02-正则表达式
- 链式队列的c++代码和原理以及编译分析
- 编译原理LL1文法分析表算法实现
- linux下编译原理分析
- 编译原理_pl0程序分析及注释
- 编译原理手记05-文法和语法分析中一些概念的解释
- 编译原理:LL(1)文法 语法分析器(预测分析表法)
- [编译原理]词法分析器的分析与实现
- 编译原理程序设计实践(三) 错误处理和词法分析代码
- Unity编译Android的原理解析和apk打包分析
- Java虚拟机原理分析之Win10下VS2017编译OpenJDK8与单步调试HotSpot VM过程详细记录
- 文法G[E]分析表分析字符串(i+)-编译原理
- 编译原理实验4——LL(1)文法分析
- [置顶] [编译原理读书笔记][第3章 词法分析]
- 编译原理语法分析LR1