目录
前言 1
一、概述 1
1.编写目的: 1
2.实现要求: 1
(1)词法分析: 1
(2)语法分析: 2
3.开发环境: 2
4. 基本原理 2
二、 分析过程 2
1. 词法分析器分析过程 2
2. 语法分析器分析过程 5
三. 主要函数 7
词法分析: 7
语法分析: 7
四.程序设计示例 8
五.感悟心得: 16
六.参考资料: 16
前言
《编译原理》是计算机专业的一门重要的专业课程,其中包含大量软件设计细想。通过课程设计,实现一些重要的算法,或设计一个完整的编译程序模型,能够进一步加深理解和掌握所学知识,对提高自己的软件设计水平具有十分重要的意义。
整个设计过程持续两个周的时间,包括前期的搜集资料,整理思路,到前面一个周的编写程序,调试代码,优化代码。这样的设计过程很是锻炼我们的编程能力和对词法分析、语法分析的理解。
一、概述
1.编写目的:
巩固编译原理课程中学到的知识,学习程序设计语言编译程序的一般原理、基本设计方法、主要实现技术,加深对词法分析、语法分析的理解和认识,通过编程给出具体的实现,进而掌握词法分析和语法分析的基本思想。
2.实现要求:
(1)词法分析:
创建一个词法分析程序,它支持对正规文法的分析。必须使用DFA(确定性有限自动机)或NFA(非确定性有限自动机)来实现这一项目。该程序的输入是一个文本文件,包括一组由该正规文法产生的产生式以及待识别源代码字符串。该程序的输出是一个符号表(二元式),它由5种类型符号:关键词,识别符,常量,界符和操作符。
(2)语法分析:
创建一个语法分析程序,它采用LL(1)方法或LR(1)方法。该程序的输入是一个文本文档,包括一组2型文法(上下文无关文法)的产生式和任务1程序输出的符号表。任务2的输出是一个YES或NO,即源代码字符串是否符合本2型文法。
3.开发环境:
操作系统:windows 7
编程语言:C++