拜!
在阅读龙书(词法分析)的第3章时,我几乎理解了所有内容(他们如何使用正则表达式指定令牌),直到他们开始讨论有限自动机。它似乎是描述词法分析器的一个重要部分。
现在我理解有限自动机的概念,但我不理解它在词法分析器中的作用和用途?为什么不只用正则表达式指定标记?
提前致谢。
答案 0 :(得分:0)
正则表达式可以用有限自动机表示,更精确地用确定性表达式表示。
当您编写正则表达式时,词法分析器会将其转换为DFA以在文本中查找匹配项。因此,有限自动机当然在词法分析器中发挥作用。
有很简单的算法可以将Regex转换为FA,就像Thompson的构造算法(http://en.wikipedia.org/wiki/Thompson's_construction_algorithm)一样,但是你可以找到优化的算法。