编译原理第三章
3-1 正则表达式
- 由较小的表达式递归定义,正则表达式定义的语言r-L(r)
- 可以表示大部分语言
- 十进制整数的RE:(1|…|9)(0|…|9)|0
八进制整数的RE:0(1|…|7)(0|…|7)
十六进制整数的RE:0x(1|…|9|a|…|f|A|…|F)(0|…|9|a|…|f|A|…|F)* - 正则文法与正则表达式等价
3-2 正则定义
- 正则定义的定义
- C语言标识符的正则定义:
digit→0|1|2|…|9
letter_→A|B|…|Z|a|b|…|z|_
id→letter_(letter_|digit)* - 无符号数的正则定义
digit
digits
选择小数
选择指数
number
3-3 有穷自动机
- FA模型
- FA接收语言
- 最长子串匹配原则:到达某个状态时,只要输入带还有符号,FA就继续前进,以便寻找最长的匹配。
3-4 有穷自动机分类
-
分类(1)DFA (2)NFA
-
DFA 的定义: