生成词法分析器算法如下:
RE:正则表达式
NFA:非确定有限状态自动机
DFA:确定有限状态自动机
Thompson算法:
从正则表达式代码到NFA(非确定有限状态有限机)过程使用的Thompson算法
基于对RE的结构作归纳
- 对基本的RE直接构造
- 对复合的RE递归构造
例如: 如下几种正则表达式规则
进入状态转移过程时,会读取字符串中的起始字符,进行校验
- ε (空字符 "")
- e(字符e "e")
- e1 e2
- e1 | e2
- e*
按照如上规则输入一个正则表达时: a(a|b)*