文档介绍:《编译原理课程设计》任务书
1、本课题的目的及意义
课程设计实践对学生巩固所学基础专业课程知识、进行编译系统基本技能训练、培养实践动手能力,从而掌握编译系统的基本工作原理、基本方法和基本开发技术,最终达到具有一定的编译系统的实际开发能力有重要意义。
通过课程设计,主要达到以下目的:
。
2. 巩固学生学习的编译原理、程序设计语言、数据结构等课程的基础知识,训练学生分析和解决编译系统的相关问题的能力,提高学生的综合素质。
3. 从软件工程的角度来看,《编译原理》课程设计是一个很好的实例,可以训练学生软件设计的能力以及编码调试能力。
2、本课题任务的主要内容
本课程设计主要内容包括以下几点:
1、根据选定的题目,查阅资料,熟悉相关理论、方法;
(1)掌握文献检索方法,以获得编译系统开发技术等相关资料;
(2)学台(如VC++、Java、Dephi、PB、VB等);
2、分析问题,确定系统逻辑结构;
3、确定系统所需模块及模块结构,并用流程图描述各模块;
4、编码及调试程序;
5、撰写课程设计说明书。
3、提交的成果
1、一份符合课程设计说明书撰写规范的课程设计说明书。
2、一套系统原型。
3、所有的文档及代码存放在同一个文件夹同意提交。
目录
前言 4
摘要 4
ABSTRACT 4
第1章概述 5
第2章设计目的 6
第3章设计的内容和要求 7
设计内容 7
设计要求 7
设计任务的组织与分工 7
第4章需求分析 9
9
9
9
(DFD) 9
10
E-R图 12
第5章总体设计 13
总体功能模块图 13
流程简介 13
算符优先分析思想 13
本模块简介 13
14
相关概念定义 14
相关数据结构 15
第6章详细设计 18
FirstVT集的构造,算法描述 18
,算法描述 18
算符优先关系表算法描述 19
21
21
计数子项数量函数 21
TEMP_VT_ITEM_REF构造函数 22
将内部所有的终结符复制到Target中 22
计数子项数量函数 23
TEMP_VT_ITEM_REF构造函数 24
所有的终结符复制到Target中 25
小结 26
致谢 26
参考文献 27
前言
随着计算机科学的飞速发展,形式语言与自动机理论和方法的研究也越来越受到人们的重视,当前已成为计算机科学的理论基础。本文主要研究自动机在编译方面的应用,并将讨论的重点放在算符优先算法分析上,并用此理论完成算术表达式的正确与否的判断。
根据算符优先分析算法,编写一个语法分析程序,程序具有通用性,即所有编制的语法分析程序能够适用于不同文法以及各种输入单词串,语法分析前首先要对输入的文法和句子进行词法分析,去除多余的字符,并将产生式和终结符、非终结符填入有关数组,为语法分析做前期的准备,算符优先分析法的核心算法书本已给出,因此所要做的事就是对其进一步分析细化并将其编程实现。
本课程设计的前面几章是对题目的介绍,理解,以及对组员的具体分工,后面的详细设计及其算法描述对自己的任务做了详细的描述, 在整个设计中有很多不足的地方望老师细心指导,让我们在以后的学习中取得更大的进步。
摘要
算符优先分析是自底向上优先分析(移进-归约分析)思想基础上的一种重要的算法,算符优先分析法是一种简单直观、特别方便于表达式分析,易于手式实现的方法。算符优先分析法是仿效算数四则运算而建立起来的。做四则运算时,为了保证计算结果和过程的唯一性,规定了一个统一的四则运算法则,规定了运算符之间的优先关系。算符优先分析法仿效四则运算过程,它预先规定了相邻终结符之间的优先关系,然后利用这种优先关系来确定句型的“句柄”,并进行归约。
关键字
自底向上分析法算符优先关系表句子移进-归约
Priority Structure Analyzer Operator Analog Design
Abstract
Analysis of operator priority is the analysis of bottom-up priority (Moved into - Reduction Analysis)thinking on the basis of an important algor