这是我参与更文挑战的第22天,活动详情查看: 更文挑战
第三章:词法分析
3.1、词法分析程序输出的单词符号的表示
(单词种别,单词自身的值)
3.2、正规式、正规集、服从的代数规律
3.3、正规式转正规文法
3.4、正规文法转正规式
3.5、有穷自动机定义(考名词解释)
能准确识别正规集,即:识别正规文法所定义的语言和正规式所表示的集合
3.6、确定的有穷自动机(定义考名词解释)
K:有穷集(它的每个元素称为一个状态)
:有穷字母表(输入符号表)
f:转换函数
S:,是唯一的初态(用=>)表示
Z:终态集(用双圈表示)
表示:状态图、矩阵
3.7、不确定的有穷自动机(定义考名词解释)
M=()
K:有穷集
:有穷字母表
f:从K到K的全体子集的影像*,即:,其中表示K的幂集
S:非空状态集(注意:不确定初始状态可能有多个)
Z:终态集
区别:
- f:确定的有穷自动机表示是转换函数;不确定的有穷自动机表示的是:从K到K的全体子集的影像*
- S:确定的有穷自动机只有一个初态;不确定的有穷自动机可能有多个初态
3.8、***NFA 转DFA
-
算法:子集法
-
步骤
-
首先找出初态,初态通过n条可以到达的状态集合,标记为T1
-
然后对T1分别通过终结符集合中的终结符,可以到达的若干集合进行标记,如果之前出现过则无需标记;如果没有出现过则标记为新的集合T2,T3...
-
不断进行步骤2,直到所有的状态都被标记
具体看例题
-
解题步骤yyds
3.9、有穷自动机的化简
目的
- 消除多余状态
- 合并等价状态
状态等价的条件:
- 一致性原则:状态s和t必须同时为可接受状态或不可接受状态
- 蔓延性原则:对于所有输入符号,状态s和状态t必须转换到等价的状态里
方法:分割法
3.10、正规式与有穷自动机的转换
3.11、正规文法与有穷自动机
**正规式转最小化DFA解题步骤
- 转NFA
- 确定化
- 最小化