单词符号的属性值:反映单词特性或特征的值
属性值的表示方法:(1)基本字,运算符,界符(一字一种)
(2)常数
(3)标识符
直接分析法
(1)基本思想
根据读来的第一个字符的种类分别转到各种子程序处理。这些子程序功能就是识别以相应字符开头的各种单词。
状态转换图法
(3)状态转换图的结构
①结点:代表状态,用圆圈表示
②箭弧:状态之间用箭弧连接
③箭弧上的标记:代表在射出节点下可能出现的字符或字符串
定理1:对于任何∑上NFA M都可构造一个∑上的正规式V,使得 L(V) = L(M)
其中,L(M)是∑上NFA M所能识别的字的全体L(V)是∑上的正规集
确定有限自动机的化简(最少化)
1.化简的概念
寻找一个状态比DFA M少的DFA M’,使得
L(M’) = L(M)
2.两个状态等价的概念
设s和t是M两个不同的状态,从s出发能读出某个字而停于终态,那么同样,从t出发也能读出同一个字而停在终态,反之亦可
3.两个状态是可区别的
若DFA M的两个状态s和t不等价,则称这两个状态是可区别的
注:终态和非终态是可区别的,因为终态可以读出空字ε,而非终态不能读出空字ε
4.化简DFA的一般步骤
(1) 检查状态转换函数是否为全函数。
所谓全函数,是指每个状态对每个输入符号都有转换
若不是全函数,可以引入一个“死状态”d,d对所有输入符号都转换到d,如果状态s对输入符号a没有转换,那么加上从s到d的a转换。
(2) 用化简算法进行化简
(3) 去掉死状态
5. DFA化简算法
(1) 基本思想
把M的状态集分割为一些不相交的子集,使得任何不同的两个子集状态都是可区别的,而同一个子集中的任何状态都是等价的,最后让每个子集选一个代表,同时消去其他等价状态