本科毕业设计简单词法分析器生成工具的设计和实现摘 要本文描述一个简单的词法分析器生成工具的设计和实现过程。该词法分析器生成工具的功能是,它能根据给定的正则表达式构造出语言识别器。该语言识别器能够判断输入的句子是否是给定的正则表达式所描述的语言的句子WhatsApp网页版WhatsApp网页版,并在文件或标准输出中显示、保存所识别句子的信息。构造语言识别器的过程为:首先,从词法分析器生成工具读入正则表达式,将该正则表达式转换成等价的不确定的有限自动机WhatsApp网页版,从而构造出确定的有限自动机,然后构造出确定的有限自动机的状态转换表,词法分析器生成工具利用该状态转换表生成语言识别器的C语言源文件,编译链接该C语言源文件即可生成语言识别器。在实现过程中,本文用语法分析器生成工具Bison来扫描正则表达式自动的来构造不确定的有限自动机目 录1 引言 12 基本概念 32.1 正则表达式 32.2 确定的有限自动机(DFA)和非确定的有限自动机(NFA) 32.3 产生式 53语言识别器生成工具的实现 63.1 实现的算法 73.1.1 由正则表达式构造NFA--Thompson构造法 83.1.2 LR语法分析法自动构造NFA 113.1.3 子集构造法 143.1.4 语言识别器的识别算法 163.2 数据结构 173.2.1 NFA的存储结构 173.2.2 DFA的存储结构 193.2.3 状态转换表的存储结构 203.3本章内容小结 204 编译运行及其性能 215 总结 24参考文献 25需要的联系请:QQ506425246