词法分析器就是NFA或DFA,这从前面可以看出。
虽然DFA比NFA快,但其特性少,而NFA则特性丰富。所以在实际应用中,NFA作为词法分析器反而应用更加广泛。像Python与Ruby的RE模块都是NFA的。
本节重点讲如何构造一个词法分析器,即如何构造一个NFA、DFA与化简的DFA。
一、NFA的构造
下面介绍一个构造NFA的算法——语法制导的构造算法。
按如上方法与顺序便可构造出一个NFA。
由上述方法产生的NFA具有下面三个性质。
</
词法分析器就是NFA或DFA,这从前面可以看出。
虽然DFA比NFA快,但其特性少,而NFA则特性丰富。所以在实际应用中,NFA作为词法分析器反而应用更加广泛。像Python与Ruby的RE模块都是NFA的。
本节重点讲如何构造一个词法分析器,即如何构造一个NFA、DFA与化简的DFA。
下面介绍一个构造NFA的算法——语法制导的构造算法。
按如上方法与顺序便可构造出一个NFA。
由上述方法产生的NFA具有下面三个性质。
</