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

编译原理课设

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

课程设计报告Course Project Report

报告编号 Report No: 撰写日期 Date: 2015-06-29

“编译原理”课程设计报告

Report on Project of Course “Principles of Compilation”

姓名

(计算机科学与技术专业 2012年级 班 学号)

实验课程:“编译原理”课程设计(Course Code 0601045) Project of Course “Principles of Compilation” 主讲教师:余宇峰 Yufeng Yu 所属课程:编译原理(Course Code 0601077) Principles of Compilation 主讲教师:李士进 Li Shijin 学 分 数:3+1 Credits 开设学院:计算机与信息学院 College of Computers & Information 开设时间:2015学年第二学期 2nd Semester, 2015

成绩Grade:

河 海 大 学

“编译原理”课程设计报告 CPR-1206010231

目录

1 引言 ........................................................................................................................................ 3 2 实验内容 ................................................................................................................................ 3

基本实验部分 ..................................................................................................................... 3

单元1:词法分析程序设计 ...................................................................................... 3 开放实验部分(可选) ................................................................................................... 11

单元2:基于预测分析方法的表达式语法分析器 ................................................. 11

3 总结与体会 .......................................................................................................................... 24 致谢: ...................................................................................................................................... 24 附录: ...................................................................................................................................... 24

Page 2 of 24

“编译原理”课程设计报告 CPR-1206010231

“编译原理”课程设计报告

Report on Project of Course “Principles of Compilation”

姓名

(计算机科学与技术专业 2012年级 2班 学号)

Email: 954881730@qq.com 1 引言

编译原理是将高级程序设计语言翻译成低级语言的软件,包括的过程有词法分析、语法分析、语义分析、中间代码生成、代码生成和目标代码生成。词法分析和语法分析是编译过程的第一个和第二个阶段,是编译的基础。词法分析是将字符序列转换为单词序列的过程,语法分析是在词法分析的基础上将单词序列组合成各类语法短语,目的是为了掌握自顶向下的分析方法以及LL(1)文法中堆栈的实现过程。

2 实验内容

基本实验部分

单元1:词法分析程序设计 【实验1.1】实验目的

1、理解词法分析在编译程序中的作用; 2、加深对有穷自动机模型的理解; 3、掌握词法分析程序的实现方法和技术。 【实验1.2】设计思想

词法分析在程序中的实现主要包括三个模块,第一个模块是扫描ID,关键字包含在其中;第二个模块是扫描NUM;第三个模块是扫描符号。对每个单词进行扫描时,先判定是不是ID或者关键字,若是,则置ID或关键字的类别码;若不是再判定是不是NUM,若是,则置NUM的类别码;若不是再判定是不是符号,若是,则置符号的类别码。当不满足以上条件,则置种别码为-1并输出ERROR。 全局变量:char chter[200]; char token[10]; char ch; int syn;

//待扫描的字符串

//令牌,存放单词自身的字符串

//用于扫描的每个字符 //单词种别码 //整形常数

//扫描

int sum=0; 函数模块: void scan()

Page 3 of 24

“编译原理”课程设计报告 CPR-1206010231 {

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) {

for(n=0;n<6;n++) {

if(strcmp(token,keyword[n])==0) { } } }

else if((ch>='0'&&ch<='9')) { }

else switch(ch) { } }

详细的流程图如下图所示:

【注:因为流程图过大,所以流程图采用VISIO绘制,图片过大导致下图不清晰,故附上一份词法分析流程图的vsd文件和一份jpg文件,望老师谅解】

//扫描符号

//扫描NUM //扫描关键字

//扫描ID

图1 词法分析程序流程图

【实验1.3】主要源代码

该程序的主要部分如下: void scan()

Page 4 of 24

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