毕业论文范文网-论文范文
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 学前教育 德语论文 工程管理 文化产业 工商管理 会计专业 行政管理 广告学
机械设计 汉语文学 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 药学论文 播音主持 人力资源 金融论文 保险学
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 计算机论 电子信息 市场营销 法学论文 财务管理 投资学
体育教育 小学教育 印刷工程 土木工程 书法论文 护理论文 心理学论 信息管理 公共事业 给水排水 新闻专业 摄影专业 广电编导 经济学
  • 范文首页 |
  • 毕业论文 |
  • 论文范文 |
  • 计算机论文 |
  • 外文翻译 |
  • 工作总结 |
  • 工作计划 |
  • 现成论文 |
  • 论文下载 |
  • 教学设计 |
  • 免费论文 |
  • 原创论文 |
搜索 高级搜索

原创毕业论文

当前位置:毕业论文范文网-论文范文 -> 免费论文 -> 计算机论文

编译演示系统的开发-计算机文档

作者: 浏览:371次
免费专业论文范文
免费专业论文
政治工作论文
计算机论文
营销专业论文
工程管理论文范文
医药医学论文范文
法律论文范文
生物专业论文
物理教学论文范文
人力资源论文范文
化学教学论文范文
电子专业论文范文
历史专业论文
电气工程论文
社会学专业论文
英语专业论文
行政管理论文范文
语文专业论文
电子商务论文范文
焊工钳工技师论文
社科文学论文
教育论文范文
数学论文范文
物流论文范文
建筑专业论文
食品专业论文
财务管理论文范文
工商管理论文范文
会计专业论文范文
专业论文格式
化工材料专业论文
英语教学专业论文
电子通信论文范文
旅游管理论文范文
环境科学专业论文
经济论文
人力资源论文范文
营销专业论文范文
财务管理论文范文
物流论文范文
财务会计论文范文
数学教育论文范文
数学与应用数学论文
电子商务论文范文
法律专业论文范文
工商管理论文范文
汉语言文学论文
计算机专业论文
教育管理论文范文
现代教育技术论文
小学教育论文范文
机械模具专业论文
报告,总结,申请书
心理学论文范文
学前教育论文范文

收费计算机专业论文范文
收费计算机专业论文
Delphi
ASP
VB
JSP
ASP.NET
VB.NET
java
VC
pb
VS
dreamweaver
c#.net
vf
VC++
计算机论文
毕业论文范文题目:编译演示系统的开发-计算机文档,论文范文关键词:编译演示系统的开发-计算机文档
编译演示系统的开发-计算机文档毕业论文范文介绍开始:

张豪生 计算机科学与工程学院

 

指导教师   孙永新

 

 

摘要:由于编译原理的算法比较抽象,要理解它们很难。利用可视化技术可以使得这些算法的学习过程容易些。一个编译算法动画演示系统被设计出来以满足这方面的需要。该系统实现了词法分析和语法分析中的基本算法,由网页和Java Applet程序构成。Java Applet程序用图和表显示动态数据的方式模拟算法执行过程。由于采用了基于网页的方式实现系统,系统易部署且通过一个浏览器如IE即可访问。

 

关键词:编译原理 算法演示 词法分析 语法分析 Java Applet

 

 

Development of the Compiling Algorithm Animation System

 

Zhang Hao-sheng  College of Computer Science and Engineering

 

Faculty adviser  Sun Yong-xin

 

 

Abstract: It is very difficult to understand compiling algorithms because of their abstractness. Visualization technology can be used to make the learning process for these algorithms easier. A compiling algorithm animation system was designed to meet this need. The system, which consisted of web pages and Java Applet programs, implemented the basic algorithms in lexical analysis and grammatical analysis. The Java Applet programs simulated the algorithms by showing the dynamic data with graphs and tables. Web-based implementation makes the system easily deployed and accessible with a web browser like IE.

 

Keyword: Compiling Principle; Algorithm Animation; Lexical analysis; Grammatical analysis; Java Applet

 

1 前言

 

编译器是一个程序,它读入用某种语言(源语言)编写的程序并将其翻译成一个与之等价的以另一种语言(目标语言)编写的程序[1]。我们接触最多的高级语言,如JAVA、C++、VB等,要在计算机中运行都离不开编译器。世界上存在上千种源语言、上千种目标语言,同时也意味着存在上千种编译器。编译器虽然是多种多样的,但是它们所要完成的基本任务都是相同的。由于编译器的普遍性和重要性,学习编译器原理对深入理解计算机体系的意义就更为重大了。但是由于编译原理的理论及算法都比较抽象,要理解它们并不容易。但如果把这些算法的过程都以可视化技术[2-3]显示出来,就比较容易被理解了。想想看,如果把它作为辅助教学的,抽象的算法过程都以图形化的方式直接显示出来,学生就可以快速的理解算法的思想及过程,从而大大的提高学习效率以及教学效果。

 

2 Java Applet概述

 

Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。 

 

当用户访问这样的网页时, Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽的限制。用户可以更好地欣赏网页上Applet产生的多媒体效果。 

 

在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。[5]

 

3 系统设计

 

3.1 总体设计

 

网页中提供演示程序算法的相关说明。演示程序利用了JFLAP[7]库中的一部分图形组件并使用JAVA  Applet开发,最终嵌入到网页中。

 

3.2 网站设计

 

网站的所有的页面的宽度都是950像素,而演示程序的大小是900 * 600。网站分为五个栏目,分别是首页、词法分析、语法分析、帮助说明、相关链接。各栏目的内容如下:

 

首页:网站的总体说明,并提供演示的快捷链接。

 

词法分析:提供词法分析演示页的简要说明及链接。

 

语法分析:提供语法分析演示页的简要说明及链接。

 

帮助说明:提供演示程序及相关编译原理知识的说明。

 

相关链接:提供相关知识网站的链接。

 

3.3 演示程序设计

 

整个系统总共包括9个演示程序。分别为正规表达式生成NFA演示、NFA到DFA演示、DFA化简演示、正规表达式到最简DFA演示、蛮力分析演示、消除左递归公共左因子演示、LL(1)分析表构造演示、LR(0)分析表构造演示、SLR(1)分析构造演示。

 

4 详细设计

 

4.1 主要数据结构说明

 

系统主要使用到JFLAP的两个数据结构:Automaton和Grammar。

 

Automaton类是表示自动机数据的基类。系统中演示的是有限自动机,因此主要使用了它的派生类FiniteStateAutomaton。FiniteStateAutomaton与Automaton的功能基本上是一样的。

 

Automaton的主要结构结构图如下:

 

 

 

图1 Automaton类结构图

 

 

Automaton类中主要包含有一系列的Transition(弧)和State(状态),其中有一个初始状态和一组终止状态。类中还维护着两个关系:状态到以该状态为起点的弧的映射transitionFromStateMap;状态到以该状态为终点的弧的映射transitionToStateMap。

 

Grammar类是表示文法数据的抽象基类。主要使用了它的派生类ContextFreeGrammar(自由文法)。

 

Grammar类主要维护着一个Production(产生式)的列表、一个Variable(非终结符)的集合、一个Terminal(终结符)的集合和一个开始符号。所有的符号都以String(字符串)有存储。而产生式中的符号都在Variable或Terminal集合中。

 

Grammar的主要结构如下:

 

 

 

图2 Grammar类结构图

 

 

4.2 演示类结构说明

 

系统的所有的演示都继承于BaseDemo的演示基类。它的主要结构如下:

 

 

 

图3 BaseDemo类结构图

 

 

它维护着一个JTabbedPane类型的标签页对象来放置演示页对象。它派生出九个演示类,分别是REToNFADemo(正规表达式生成NFA演示)、NFAConvertDemo(NFA转DFA演示)、MinimizeDFADemo(DFA化简演示)、REToMinimizeDFADemo(正规表达式到最简DFA演示)、BruteParseDemo(蛮力分析演示)、TopDownOperationDemo(消除左递归公共左因子演示)、LL1TableCreationDemo(LL(1)分析表构造演示)、LR0TableCreationDemo(LR(0)分析表构造演示)、SLR1TableCreationDemo(SLR(1)分析表构造演示)。每个演示类就是一个演示小程序。而演示的效果如下图:

 

 

 

图4 演示效果图

 

 

这里以DFA化简演示来详细说明演示程序的结构。DFA化简演示以MinimizeDFADemo类来实现。它的主要结构如下:

 

 

 

图5 MinimizeDFADemo类结构图

 

 

该类拥有一个MinimizeDFADemo对象。MinimizeDFADemo类含有一系列的JButton按钮和一个EditorPane来提示生成DFA的功能。其中一个按钮可生成DFA识别符号串的演示对象FSAMatchPane。MinimizePane对象用于演示简化DFA的过程(图6),它的主要结构如图7所示:

 

 

 

图6 MinimizePane类对象图

 

 

 

图7 MinimizePane类结构图

 

 

该类含有MinimizeController和Minimizer对象。MinimizeController对象是MinimizePane的控制器,控制MinimizePane的各种行为;Minimizer用于简化DFA的对象。SelectionDrawer对象用于显示待简化的DFA;ControlPanel对象基本上就是一个工具栏;SelectTreeDrawer对象用于演示划分符号的集合的过程;而MinimizeNodeDrawer对象用于显示划分树的。

 

5 总结

 

本系统采用了Java Applet + XHTML[6]的模式来编写,搭建了一个演示系统。系统采用了模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将系统各个部分置于不同的模块当中,方便了程序的扩展与维护,同时建立了程序功能复用的基础。演示系统实现了算法计算过程及结果以图形化的形式输出,并根据用户的相互来演示。通过这种直观的演示方式,使得学习编译原理相关算法的效果有了很大的提高。该系统除了可用于辅助教学,还可以作为一个工具快速求解所涉及算法的结果。

 

参考文献:

 

[1](美)Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman. 编译原理(Compilers: Principles, Techniques, and Tools)[M]. 北京:机械工业出版社,2003.8.

 

[2]刘孟仁,刘海庆.软件可视化技术及其应用研究[J]. 计算机应用研究,2002 (6): 26–28. 

 

[3]袁国明,周宁. 信息可视化和知识可视化的比较研究[J]. 科技情报开发与经济, 2006 (12): 93–95. 

 

[4]陈火旺,刘春林,谭庆平等. 程序设计语言编译原理(第3版)[M]. 北京:国防工业出版社,2004.1.

 

[5]百度百科. Applet http://baike.baidu.com/view/150834.htm.

 

[6]豆瓣douban. 什么是XHTML http://www.douban.com/group/topic/2703758/.

 

[7]JFLAP. JFLAP http://www.jflap.org/.

 


以上为本篇毕业论文范文编译演示系统的开发-计算机文档的介绍部分。
本论文在计算机论文栏目,由论文网(www.zjwd.net)整理,更多论文,请点论文范文查找

毕业论文降重 相关论文

收费专业论文范文
收费专业论文
汉语言文学论文
物理学论文
自动化专业论文
测控技术专业论文
历史学专业论文
机械模具专业论文
金融专业论文
电子通信专业论文
材料科学专业论文
英语专业论文
会计专业论文
行政管理专业论文
财务管理专业论文
电子商务国贸专业
法律专业论文
教育技术学专业论文
物流专业论文
人力资源专业论文
生物工程专业论文
市场营销专业论文
土木工程专业论文
化学工程专业论文
文化产业管理论文
工商管理专业论文
护理专业论文
数学教育专业论文
数学与应用数学专业
心理学专业论文
信息管理专业论文
工程管理专业论文
工业工程专业论文
制药工程专业论文
电子机电信息论文
现代教育技术专业
新闻专业论文
艺术设计专业论文
采矿专业论文
环境工程专业论文
西班牙语专业论文
热能与动力设计论文
工程力学专业论文
酒店管理专业论文
安全管理专业论文
交通工程专业论文
体育教育专业论文
教育管理专业论文
日语专业论文
德语专业论文
理工科专业论文
轻化工程专业论文
社会工作专业论文
乡镇企业管理
给水排水专业
服装设计专业论文
电视制片管理专业
旅游管理专业论文
物业管理专业论文
信息管理专业论文
包装工程专业论文
印刷工程专业论文
动画专业论文
环境艺术专业论文
信息计算科学专业
物流专业论文范文
人力资源论文范文
营销专业论文范文
工商管理论文范文
汉语言文学论文范文
法律专业论文范文
教育管理论文范文
小学教育论文范文
学前教育论文范文
财务会计论文范文

电子商务论文范文

上一篇:产品设计信息研究 下一篇:基于JSF的毕业设计管理系统-计算..

最新论文

精品推荐

毕业论文排版

热门论文


本站简介 | 联系方式 | 论文改重 | 免费获取 | 论文交换

本站部分论文来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:229120615@qq.com

毕业论文范文-论文范文-论文同学网(www.zjwd.net)提供计算机论文毕业论文,毕业论文范文,毕业设计,论文范文,毕业设计格式范文,论文格式范文

Copyright@ 2010-2024 zjwd.net 毕业论文范文-论文范文-论文同学网 版权所有