本类下载TOP10
SLR1设计文档
全文下载
Word文件格式下载
5 文钱
文钱不够?
摘 要 编译原理是计算机专业的一门必修课,在教学中具有非常重要的地位,大多数学生感觉编译原理是一门晦涩难懂的课程,逻辑性太强,而且相对比较抽象,难以在有限的教学时间里掌握;作为教学工作着,虽然他们为教好这门课付出许多辛劳,而教学效果却时常并非如他们所愿。即使学生对计算机编译过程有了一定的了解,在完成期终小型编译器的制作过程中也会因为时间或软件技术等原因而收不到理想的效果而草草结束。随着在许多课程教学过程中教学辅助系统(CAI)的发挥,对这门课程的教学工作者和学生来说,都急切的需要一种有效的教学辅助软件,本课题正是基于这种需要,采用面向对象的技术,开发出一套编译原理教学辅助软件系统,旨在让学生对编译原理这门课程有较为直观的认识,唤起学生对编译原理这门课程的学习兴趣,减轻教师教学过程中的教学负担,打好计算机专业知识的基础。 本软件采用的是可视化集成环境,利用简单易学的VC++语言作为开发工具,使得软件不仅开发难度降低,而且较易操作实施。在运行阶段对编译的总体过程做了较为详细的说明,包括SLR(1)文法的判定,分析器的构造和一些具体的实现过程。在软件的制作过程中考虑到了界面友好,方便快捷等特点,使得本软件有很强的使用价值。 关键字:编译原理 教学辅助系统 SLR(1) 目 录 引言…………………………………………………………………………………4 第一章、 开发工具介绍………………………………………………………..... 5 1.1 面向对象的程序设计语言C++特点………………………………………..5 1.2 Visual C++特点………………………………………………………………5 第二章、语法分析器相关原理介绍……………………………………………… 6 2.1 语法分析简述………………………………………………………………...6 2.2 LR分析器……………………………………………………………………..7 第三章、项目需求分析及规划……………………………………………………..9 3.1 需求分析………………………………………………………………………9 3.2 总体设计……………………………………………………………………..12 3.3 详细设计……………………………………………………………………..12 第四章、系统设计和实现…………………………………………………………16 4.1 界面设计……………………………………………………………………..16 4.2 代码开发…………………………………………………………………… .16 4.3 测试设计……………………………………………………………………..17 小结…………………………………………………………………………… ……21 致谢………………………………………………………………………………….21 参考文献…………………………………………………………………………….22 附录………………………………………………………………………………….23 引言 如我们所知,当前所使用的计算机是一种符号运算自动机。作为人类智能的延伸,这种运算工具在信息处理之中的广泛应用成为信息社会的一大标志。语言信息是最接近于人类智能特征的一种信息,语言信息自动处理技术的进步正推动着信息社会的发展。 编译程序是现代计算机系统的基本组成部分之一,编译程序的工作过程一般可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码生成、优化、目标代码生成。每个阶段都是从上一个阶段得到结果,对他进行分析,并且根据一些外部环境(例如符号表等)得到最终的输出结果。要构造一个编译程序,可以按照这样的阶段来分别构造,最后来连调。语法分析是编译程序的核心部分,识别由语法分析给出的单词符号序列是否是给定文法的正确句子,把词法记号流按语言的语法结构层次地分组,以形成语法短语。本文介绍了SLR(1)分析器的一般原理、实现思想、基本设计方法以及主要实现技术和工具,并依据相应原理设计语法分析课件,具有用户使用简单、功能完善等优点。 编译程序是一极其庞大而又复杂的系统,掌握它比较苦难。但是一旦对其掌握,对以后的程序语言设计,系统软件分析,系统软件设计,形式语言研究等方面都是非常有好处的。