第一范文网 - 专业文章范例文档资料分享平台

编译原理课程设计报告-简单文法的编译器的设计与实现

来源:用户分享 时间:2025/7/19 12:36:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

提供全套毕业论文,各专业都有

课 程 设 计 报 告

设计题目:简单文法的编译器的设计与实

级:计算机1206

组长学号:20123966 组长姓名:

指导教师:

设计时间:2014 年 12 月

1

摘 要

编译原理是计算机科学与技术专业一门重要的专业课, 它具有很强 的理论性与实践性,目的是系统地向学生介绍编译系统的结构、工作原 理以及编译程序各组成部分的设计原理和实现技术,在计算机本科教学 中占有十分重要的地位。计算机语言之所以能由单一的机器语言发展到 现今的数千种高级语言,就是因为有了编译技术。编译技术是计算机科 学中发展得最迅速、最成熟的一个分支,它集中体现了计算机发展的成 果与精华。

本课设是词法分析、语法分析、语义分析的综合,外加上扩展任务 中间代码的优化和目标代码的生成,主要是锻炼学生的逻辑思维能力, 进一步理解编译原理的方法和步骤。

关键词:编译原理,前端,目标代码,后端

2

摘要.....................................................3 1. 概述..................................................6 2. 课程设计任务及要求....................................8

2.1 设计任务..........................................8 2.2 设计要求..........................................9 2. 算法及数据结构.......................................10 3.1 算法的总体思想....................................10 3.2 词法分析器模块....................................11 3.2.1 功能..........................................11 3.2.2 数据结构......................................11 3.2.3 算法..........................................12 3.3 语法分析器模块....................................13 3.3.1 功能..........................................13 3.3.2 数据结构......................................13 3.3.3 算法..........................................14 3.4 中间代码产生器模块................................24 3.4.1 功能..........................................24 3.4.2 数据结构......................................24 3.4.3 算法..........................................25 3.5 优化器模块........................................27 3.5.1 功能..........................................27 3.5.2 数据结构......................................27 3.5.3 算法..........................................28 3.6 目标代码生成器模块................................30 3.6.1 功能...........................................30 3.6.2 数据结构.......................................30 3.6.3 算法...........................................31

3

4. 程序设计与实现.........................................32

4.1 程序流程图.........................................32 4.2 程序说明...........................................33 4.3 实验结果...........................................35 4. 结论...................................................42 5. 参考文献...............................................43 6. 收获、体会和建议.......................................44

4

1

概述

在计算机上执行一个高级语言程序一般要分为两步;第一步,用 一个编译程序把高级语言翻译成机器语言程序;第二步,运行所得的机 器语言程序求得计算结果。在学习《编译原理》课程过程中,逐渐掌握 各章节构造编译程序的基本理论,并能独立完成词法分析器、语法分析 器和语义分析器实验,在基本实验完成的基础上,逐步完成课程设计。 针对自己的理解和学习,实现一个小编译器括符号表的构造。

编译程序的工作过程一般可以划分为五个阶段:词法分析、语法 分析、语义分析和中间代码产生、优化、目标代码生成。

第一阶段,词法分析。词法分析的任务是:输入源程序,对构成 源程序的字符串进行分解和扫描,识别出一个个的单词或符号。我们设 计了符号表,包括名字栏和信息栏,其中名字栏作为关键字,根据给定 的名字,在符号表中查找其信息。如果该名字在符号表中不存在,则将 其加入到符号表中,否则返回指向该名字的指针,从符号表中删除给定 名字的表项,并且设计了词法分析器,具体实现为设计各单词的状态转 换图,并为不同的单词设计种别码。将词法分析器设计成供语法分析器 调用的子程序。词法分析器具备预处理功能。将不翻译的注释等符号先 滤掉,只保留要翻译的符号串,即要求设计一个供词法分析调用的预处 理子程序;,能够拼出语言中的各个单词,将拼出的标识符填入符号表, 返回识别单词或符号的种别码和 属性值。

第二阶段,语法分析。在词法分析的基础上,根据语言的语法规则, 把单词符号串分解成各类语法单位。通过语法分析,确定整个输入串是 否构成语法上正确的“程序”。我们实现了语法分析器,能够使用预测

5

编译原理课程设计报告-简单文法的编译器的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3fjtm4p5gq8qp2012imx4yj364q3d4011m0_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top