标签:
相关定义:
识别器:可以在字符流中识别特定单词的程序。
有限自动机(FA):识别器的一种形式化方法,包含一个有限状态集,一个字母表,一个转移函数,一个起始状态和一个或多个接受状态。
正则表达式:有限自动机所接受的单词的集合,形成的语言。eg:n(ew|ot)
RE--NFA--DFA--最小DFA--词法分析器
RE-NFA:Thompson构造法,re的连接,选择,闭包等有一个模板,各部分的连接也有一个模板,按照模板构造
NFA--DFA:子集构造法(不动点计算,即即便计算过程中不断添加要计算的数据,但添加的数目是有限的,循环都会停止),即将&转移能到达的状态放到一个集合里,再对每个字符进行检索,将相同的状态放到一个集合里,对这些集合检索,直至没有需要检索的集合。
DFA--最小DFA:Hopcroft算法:构造出所有DFA状态的集合。
词法分析器的实现:
1.表驱动词法分析器:即利用两个表来查找匹配输入流
2.直接编码词法分析器:即利用代码的跳转来实现,少了查表得开销。
3.手工编码:自己实现各种细节,对输入函数的Nextchar和ROLLback都可以自己实现。
标签:
原文地址:http://www.cnblogs.com/xuehongyang/p/5475854.html