VB一个编译原理语法分析器的实现与设计
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
系统模块流程图
系统的模块流程图如图4所示: [资料来源:http://THINK58.com]
图4系统模块流程图
[资料来源:http://www.THINK58.com]
《一个编译原理语法分析器的设计与实现》 [资料来源:http://think58.com]
主要分为四个模块: [来源:http://think58.com]
1.文件读取模块 [版权所有:http://think58.com]
文件读取模块主要完成将记事本中的待分析文法读入到内存中的功能。其中包括了对可能出现的文法BNF表示法的判断以及对文法中是否存在直接左递归规则的判断。 [资料来源:http://THINK58.com]
2.算法分析模块 [资料来源:http://think58.com]
算法分析模块是《一个编译原理语法分析器的设计与实现》
中的关键模块。本模块包含了LL(1)算法中的大部分重要数据和信息,其中包括获取输入文法的终结符集和非终结符集,对文法中每一条规则求select集(select集的求解又包括求first集或者follow集),以及对select集合法性的判断,即同一非终结符所对应的不同规则的select集中不能有相同的终结符。
3.分析表构造模块 [资料来源:http://think58.com]
分析表构造模块的主要功能是将算法分析模块所求解出的符合LL(1)算法规则的文法的select集转化成文法分析表,以便下一模块的调用。 [版权所有:http://think58.com]
4.句子分析模块
句子分析模块是整个《一个编译原理语法分析器的设计与实现》的主体演示模块,包括句子读取、句子合法性判断、句子分析等部分。其中句子合法性的判断又分为句子中是否有文法终结符以外的符号和句子是否符合文法规则的判断。下面将对以上四个模块的具体实现技术、数据结构及关键程序片段进行详细的说明。
[资料来源:http://think58.com]
文件读取模块
本模块通过调用VB中CommonDialog控件的ShowOpen方法启动打开文件对话框,获取需要读取的文件的路径,再调用Open命令打开文件,将文件中保存的文法读入内存,用二维数组进行保存。
[版权所有:http://think58.com]
毕业设计(www.think58.com)