自顶向下语法分析教学辅助系统设计.doc
《自顶向下语法分析教学辅助系统设计.doc》由会员分享,可在线阅读,更多相关《自顶向下语法分析教学辅助系统设计.doc(22页珍藏版)》请在沃文网上搜索。
1、蓝天工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:599057179自顶向下语法分析教学辅助软件的开发目 录摘 要IABSTRACTII第1章 绪论11.1 开发背景11.2 开发目标11.3 开发平台2第2章 基本原理概述32.1 基本知识32.2 LL(1)文法的概念32.3 预测分析程序4第3章 软件设计与实现53.1 界面设计53.2 核心算法的实现73.2.1 FIRST集合求解算法实现73.2.2 FOLLOW集合求解算法实现83.2.3 SELECT集合求解算法实现93.2.4 LL(1)文法的判定实现93.2.5 语法正确性判断实现103.2.6 预测分析表构造
2、和分析过程实现103.3 相关类的介绍11第4章 系统的运行与测试124.1 界面的运行效果124.2 系统的测试14结 论17参考文献18蓝天工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:599057179摘 要自顶而下语法分析是编译原理课程中的一个核心理论,由于理论的抽象性,常规的教学手段很难收到理想的教学效果,而教学辅助软件能以更形象化的方式把内容表达出来,因此教学辅助软件的开发十分必要。本论文以介绍该教学辅助软件的开发为核心,首先介绍开发背景、开发目标、开发平台及软件的基本功能;然后简单介绍软件开发中用到的基础理论,其中包括LL(1)文法等概念;接下来详细阐述软件的具体
3、开发过程,其中,FIRST集合、FOLLOW集合算法的实现是核心,这个实现的过程中用到了队列,在进行语法分析时用到了栈;最后对软件进行简单的测试,检查是否达到了预期目的。关键词 自顶向下语法分析,FIRST集合,FOLLOW集合,预测分析表ABSTRACTTop-down syntax analysis is a core theory in the Compiler Principle . Because this theory is abstract , conventional teaching means can not receive very good teaching resul
4、ts. But, teaching aid software can be a more figurative way to convey the content of expression.So development of a teaching aid software is very necessary.This paper mainly introduces the process of development. Firstly, it introduces the background, the objective, the platform and the basic functi
5、ons.Secondly, basic theory, such as LL(1) syntax analysis concepts ,etc, which is used in this paper is simply introduced.Thirdly, it elaborates specific process of the development, in which implementation of the algorithm of FIRST sets and FOLLOW sets is the core. Queue is used to it and in the pro
6、cess of syntax analysis stack is applied. Finally, it is a simple test,which can check the effect of the teaching aid software.Keywords Top-down syntax analysis,FIRST sets, FOLLOW sets, Predicting and Analyzing Table第 18 页第1章 绪论自顶而下的语法分析是编译原理课程中的一个重要内容,其教学辅助软件的开发对编译原理教学有着重要作用。本章介绍本软件的开发背景、开发目标,以及开发平
7、台。1.1 开发背景随着计算机的迅速普及,计算机软件的发展也正是方兴未艾,它已经渗透到社会的各个领域和各个行业,并率先应用于大学教学领域。考虑到让这些现代化教育资源的投资发挥应有的作用,大家都很重视计算机辅助教学的推广和应用。教师和学生都希望能得到高质量、使用方便的教学软件。而厂商也看到计算机教学辅助软件将会形成有潜力的市场,而积极投入了教学软件的开发和经营。教学辅助软件正是在这个大环境下逐渐有了一定的市场的,正因为它具有良好的图形界面,交互性更强,更容易被人们所接受,所以受到了教育界的普遍欢迎。在计算机专业课的学习过程中,由于所涉及的内容比较抽象,理解起来比较困难,教学辅助软件可以把抽象化的
8、概念用更加形象的方式表达出来,从而激发学生的学习兴趣,提高学习效率。1.2 开发目标自顶而下的语法分析是编译原理课程中一个十分重要的部分,同时它也是考试的重点和难点。因此,本着辅助教学的目的,软件总体上要有友好的界面,良好的交互性,较强的实用性。内容方面,LL(1)文法是一种能够进行确定、无回溯自顶而下语法分析的描述工具,软件要能够把整个LL(1)的分析过程清晰、准确、直观的展示出来。给定一个文法,首先应实现FIRST集合和FOLLOW集合的求解,实现预测分析表的构造,然后进行LL(1)文法确定性的判断,最后给定输入串,进行预测分析。1.3 开发平台在开发的过程中使用了Visual Studi
9、o 2005开发平台。Visual Studio 2005是.NET 2003的优化版和改进版,具有改进的可视化设计器。因为LL(1)分析器的核心内容是一些复杂算法的实现,选择这个平台可以方便界面设计,把精力集中于算法实现。另外Visual Studio 2005自带打包工具,在开发出来一个软件以后更加利于后期的管理,无需使用专门的打包软件,就可以进行打包。只要安装了Framework SDK V2.0就可以直接运行打过包的软件,使用起来方便、简单。随着C#2.0的问世,语言新增了几个重要的特性,例如ArrayList类、迭带器以及正则表达式,本设计中就用到了这些。第2章 基本原理概述本章介绍
10、自顶向下语法分析中的基本原理和概念,为后面的具体开发打下基础。2.1 基本知识在进行软件的设计过程中,需要了解以下基本的知识和概念。1、终结符号:是组成语言的基本符号,终结符号是一个语言的不可再分的基本符号,即单词符号,一般用英文小写字母表示。终结符号集通常用VT表示。2、非终结符号:一个非终结符号代表一个一定的语法概念,是一个类记号,它表示一定符号串的集合,通常用大写英文字母表示。非终结符号集通常用VN表示。3、开始符号:是一个特殊的非终结符号,是进行分析的入口。4、产生式:是定义语法范畴的一种书写规则。5、上下文无关文法:是文法的一种,用来定义语言的语法结构,所定义的语法范畴完全独立于这种
11、范畴可能出现的环境。表示为(VT, VN,S,P),其中VT代表终结符号集,VN代表非终结符号集,S代表开始符号,P代表产生式集合,一个产生式的形式是“A”,其中A是非终结符号,是由终结或非终结符号组成的字符串,即(VTVN)*。这些知识都是参考了而总结出来的。2.2 LL(1)文法的概念在自顶向下语法分析中,会出现回溯以及虚假匹配问题,并且由于文法的左递归性,会造成死循环。为避免以上问题,进行确定的、无回溯的自上而下分析,引入了LL(1)文法。它属于上下文无关文法的范畴,该文法满足以下特点:1、文法不含左递归;2、对于文法中每一个非终结符号A的各个产生式的侯选首符集两两不相交。即若A1|2|
12、n,则FIRST(i)FIRST(j)=;3、对于文法的每个非终结符号A,若它存在某个侯选首符集含(空字),则FIRST (A)FOLLOW(A)=。2.3 预测分析程序预测分析表是一个MA,a形式的矩阵。其中A为非终结符,a是终结符或#,#不是文法符号,我们总是把它当成输入串的结束符。矩阵元素MA,a中也存放着一条关于A的产生式,指出当A面临输入符号a时应采用的侯选。MA,a中也可能存放一个“出错标志”,指出A根本不该面临输入符号a。预测分析过程的每一步,都是取出栈顶符号和当前输入符号,并查看预测分析表进行的。预测分析器结构如图2-1所示。第3章 软件设计与实现本章主要介绍软件的具体开发过程
13、,包括界面设计、核心算法的实现和相关类的介绍。3.1 界面设计按照软件的设计流程,首先进行界面的设计。作为教学辅助软件,界面应简明、小巧、实用,软件总体界面如图3-1所示。图3-1 系统总体界面1、界面中的“帮助说明”以电子书(CHM格式)的形式展现出,需要先设计一个CHM文档,以便作为模版使用,对提出的理论进行论证说明。System.Diagnostics.Process.Start(path);/打开帮助说明文档软件的输入界面,用一个TabePage控件来进行设计,分别是终结符和非终结符、文法规则、自顶而下的语法分析三个页面。2、在输入终结符和非终结符的页面中用到了两个Textbox的文本
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 向下 语法分析 教学 辅助 系统 设计
