- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1
贵州师范大学数学与计算机科学学院
实验报告
课程名称:编译原理
教师:张琦
姓名:
班级:2013级计算机专业本科班
PAGE I
目录
TOC \o 1-3 \h \z \u 实验任务1: 熟悉概念图软件 1
实验任务2:体会编译器的功能 2
实验任务3:绘制编译原理课程学习概念图 3
实验任务4:正则表达式的使用 4
实验任务5:熟练掌握课程中涉及到的算法 5
实验任务6:编写词法分析程序 6
实验任务7:熟悉YACC的使用方法 7
实验任务8:测试一个完整的编译器前端程序 8
PAGE 20
实验任务1: 熟悉概念图软件
1.实验目的:熟悉概念图软件的使用,为绘制课程学习概念图打下基础
2.实验内容:总结现有的概念图软件的优缺点,选择一款你认为比较优秀的概念图软件,安装并撰写该软件的使用说明书。
3.验收时间:第4周
1.什么是概念图?
答:概念图,又被称为概念地图,是用图形化的形式显示概念与概念之间联系的方式。诺瓦克指出概念图是一种能形象表达命题网络中一系列概念涵义及其关系的结构化图形,它由结点(概念语词)、连概念的线段和标签(连接词)组成,能清楚的表达某一命题中各概念结点间的内在逻辑。
2. 介绍概念图有哪些形式?
答:
3.介绍制作概念图的基本步骤
1)打开软件
2)找到下图中的注册之后,点击MM就打开了画图的界面
4. 介绍常用概念图软件有哪些?对比优缺点。
答:
1)MindMapper Pro 2008 826 汉化绿色版_可视化的概念图...
2)CmapTools 5.04.02 多语版_概念图软件 - 绿色软件联盟
3)概念图软件inspiration - 下载频道 - CSDN.NET
4)概念图_有关概念图的软件_工具 - 绿色软件下载站 - 未来软件园
5)CmapTools 5.04.02 免费版 (概念图制作软件) 下载_大众源码网...
6)概念图工具 Keystone ConceptMap v3.74 - 俺下载
我个人觉得1)比较好用,文件小,也是汉化版的,是初学者的最佳选择,更是英语不好的人的选择。而其他的软件很大,不易懂。
7.选择一款你认为比较优秀的概念图软件,给出概念图
实验任务2:体会编译器的功能
1.实验目的:理解编译器的功能
2.实验内容:例举你所使用过的编译器,并从中选择一个最熟悉的,写出从编写到运行一个应用程序的全过程。
3.验收时间:第4周
实验目的:理解编译器的功能
答:编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。编译器将原始程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源代码一般为高阶语言 (High-level language), 如 Pascal、C++、Java 等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)
2. 实验内容:例举你所使用过的编译器,并从中选择一个最熟悉的,写出从编写到运行一个应用程序的全过程。
答:目前我学过的编译器主要有visual c++ 6.0、C#、Masm5.0、6.15,主要操作:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 连接器 (Linker) → 可执行程序 (executables)编译是从源代码(通常为高阶语言)到能直接被计算机或虚拟机执行的目标代码(通常为低阶语言或机器语言)的翻译过程。程序清单如下:
// 交换两个数.cpp : 定义控制台应用程序的入口点。
#include stdafx.h
#include iostream
using namespace std;
class exchange
{
private:
int x,y;
public:
void ex()
{
cout请输入x的值:endl;
cinx;
cout请输入y的值:endl;
ciny;
int temp;
temp=x;
x=y;
y=temp;
coutx=x y=yendl;
}
};
exchange exc
int _tmain()
{ exc.ex();
return 0;
}
?
实验任务3:绘制编译原理课程学习概念图
1.实验目的:学会利用概念图复制和巩固本课程中所讲授的知识
2.实验内容:编译原理课程每个章节的内容讲解完之
文档评论(0)