登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

自底向上语法分析器的可视化交互仿真毕业论文

 2021-04-14 22:34:27  

摘 要

在这个信息时代,计算机和计算机相关专业飞速发展,在各大高校中这些专业以及其学生数量大幅增加,而《编译原理》作为计算机专业一门重要的专业基础课,因为过程复杂以及抽象的实现技术等因素,一直被认为是最难学的专业课之一。本文设计实现了一个可视化编译小程序,实现自底向上的语法分析功能。使用Swing图形界面组件将编译的过程和实现的方法展示出来,使其更容易被理解,将抽象的理论具象化,引导学生的学习兴趣。

本程序全部由JAVA语言完成,通过算符优先分析法和LR(0)分析法实现自底向上的语法分析。两种算法的核心部分都是分析表,使用基本方法将输入文法分析得到分析表和其他可用信息,然后通过表驱动的方法分析输入串,得到分析步骤和语法树,从而达到语法分析的目的。

关键词:编译原理,可视化,自底向上

Abstract

In this information age, with the rapid development of computer and computer-related majors, the number of these majors and their students has increased greatly in colleges and universities, and the principle of compiling is an important basic course of computer speciality, because of the complicated process and abstract technology, it has been considered as one of the most difficult courses. In this paper, a visual compiling applet is designed to realize the function of bottom-up grammar analysis. Use the Swing graphical interface component to present the process of compilation and the methods of implementation to make it easier to understand, to give an abstract theory an image, and to guide students ' interest in learning.

This program is completed by the Java language, through the operator Priority Analysis and LR (0) Analysis method to achieve bottom-up grammar analysis. The core of the two algorithms is the analysis table, using the basic method to analyze the input grammar analysis table and other available information, and then through the table-driven method to analyze the input string, the analysis steps and syntax tree, so as to achieve the purpose of grammar analysis.

Key Words:Principle of Compiling,visualization,bottom-up

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1引言 1

1.2国内外研究现状及存在的问题 1

1.2.1国内外研究现状 1

1.2.2存在的问题 2

1.3论文的研究内容与意义 2

1.4论文组织结构 3

第2章 可视化页面设计 4

2.1Swing简介 4

2.2界面格局设计 4

2.2.1算符优先分析法界面 4

2.2.2 LR分析法界面 5

2.3界面实现 6

2.3.1 JTextArea/JTextField 6

2.3.2 JTabbedPane 6

2.3.3 JPanel 6

2.3.4 JFrame 7

2.3.5 JButton 7

2.3.6 JTabel、JScrollPane 7

2.3.7 布局管理器 8

2.4本章小结 9

第3章 算符优先分析法 10

3.1基本原理及实现 10

3.1.1 算符优先文法的输入 10

3.1.2 FirstVT/LastVT集 11

3.1.3算符优先关系表的构造 11

3.1.4算符优先分析过程 12

3.1.5语法树的生成 12

3.2功能测试 13

3.3本章小结 15

第4章 LR分析法 16

4.1基本原理及实现 16

4.1.1LR文法的输入 16

4.1.2项目集 16

4.1.3 DFA状态图 17

4.1.4 LR(0)分析表的构造 18

4.1.5 LR分析过程 19

4.2功能测试 19

4.3本章小结 22

第5章 总结与展望 23

5.1总结 23

5.2展望 23

参考文献 25

致 谢 26

第1章 绪论

1.1引言

计算机的应用随着互联网的飞速发展呈现爆发增长的趋势,并且涉及到了人们生活工作的各个方面。人们通过支付宝、微信等软件进行衣食住行相关的金钱交易,使用今日头条等软件了解各种或远或近的新闻资讯,使用QQ通讯软件发送电子邮件或聊天,还有各种游戏娱乐影音等软件丰富了人们的生活。

这些多种多样的软件都是由从事开发的工作者们使用高级编程语言在编程软件中创造出来的产品,由机器运行才得以实现各种功能。然而代码是便于人读写的高级语言集合,是智慧的结晶,而机器是无法理解的。将高级语言翻译成计算机能够直接解读运行的目标代码,就是编译的过程,而编译器就是实现这个过程的一种程序。

编译器的原理十分复杂而繁多,并且和多个计算机课程相关联,学生们需要深刻理解大量的抽象理论并熟练运用,才能掌握编译器的知识[4]。并且编译器包含了词法分析、语法分析、语义分析、中间代码生成、中间代码优化以及目标代码生成这六大部分[14],整个过程漫长艰难,是一个庞大复杂的工程,在计算机科学领域中是不可或缺的重要部分。

编译器是一个系统化的工程,由许多小程序组成。本文设计实现了一个自底向上的语法分析器,通过算符优先分析法和LR(0)分析法实现了语法分析的功能,并将分析步骤和原理以可视化的方式展示出来,希望通过这种方式让学生理解编译的基本思路。并以多媒体教学的方式将复杂乏味的理论知识融入到动手实践的学习过程中,提高学生学习编译原理的兴趣,提高教学质量。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图