1 / 17
文档名称:

【实用】编译原理实验指导书.pdf

格式:pdf   页数:17
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【实用】编译原理实验指导书.pdf

上传人:精品下载 2012/3/25 文件大小:0 KB

下载得到文件列表

【实用】编译原理实验指导书.pdf

文档介绍

文档介绍:编译原理

实验指导书










《编译原理》课程组

2003年12月







1
概述

一、本课程实践的目的和任务
编译原理是一门实践性很强的课程,只有通过实践,才能真正掌握。
实际的编译程序是十分复杂的,有时由多达十几万条指令组成。为此,编译原
理的实践教学,采用简化编译过程的办法,选择最关键的3个环节──词法分析、语
法分析(包括语义处理、产生无优化的目标指令)、连接调试,进行编程和调试训
练。每个环节作为一个实践课题。先分别编程调试,再连接在一起总调。
二、实践方法
任何一个实用的高级语言,其语法都比较复杂,如选其作为源语言,很难实践
全过程。故本实践将定义一个简化的语言── C/C++ 语言的一个子集作为源语言,
分3个课题,设计调试出它的编译程序。前后贯穿这一条主线进行实践。每次都可
利用课余时间编程,利用上机时间进行输入和调试。
建议使用 C/C++ 语言或C语言。
三、实践报告的规范和要求
每个课题完成后写出实践报告。实践报告包括程序设计时考虑的算法和方法;
调试过程中出现的问题和解决的措施;打印出程序清单和调试时所用的源程序。
四、简化的 C/C++ 语言子集的定义
⒈ C/C++ 语言子集的语法定义
〈 C/C++ 子集程序〉→〈变量说明〉〈分程序〉。
〈变量说明〉→〈空〉|VAR〈变量表〉:INTEGER;
〈变量表〉→〈变量〉|〈变量〉,〈变量表〉
〈变量〉→〈标识符〉
〈分程序〉→BEGIN〈语句组〉END
〈语句组〉→〈语句〉|〈语句〉;〈语句组〉
〈语句〉→〈赋值语句〉|〈条件语句〉|〈WHILE语句〉|〈分程序〉
〈赋值语句〉→〈变量〉:=〈算术表达式〉
〈条件语句〉→IF〈布尔表达式〉THEN〈语句〉ELSE〈语句〉
2
〈WHILE语句〉→WHILE〈布尔表达式〉DO〈语句〉
〈算术表达式〉→〈项〉|〈算术表达式〉+〈项〉|〈算术表达式〉-〈项〉
〈项〉→〈初等量〉|〈项〉*〈初等量〉|〈项〉/〈初等量〉
〈初等量〉→〈无符号数〉|〈变量〉|(〈算术表达式〉)
〈关系表达式〉→〈算术表达式〉〈关系运算符〉〈算术表达式〉
〈标识符〉→〈字母〉|〈标识符〉〈字母〉|〈标识符〉〈数字〉
〈无符号数〉→〈数字〉|〈无符号数〉〈数字〉
〈关系运算符〉→〈|〈= | =| 〉=| 〉|〈〉
〈字母〉→ A│B│C│D│E│F│G│H│I│J│K│L│M│N│O│P│Q│R│S│T│
│U│V│W│X│Y│Z
〈数字〉→ 1│2│3│4│5│6│7│8│9│0


实验1 词法分析

介绍词法分析程序的编程与调试。(2学时)
一、目的与要求
1)目的
通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课
堂教学的理解;提高词法分析方法的实践能力。
2)要求
⑴掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的
方法。
⑵掌握词法分析的实现方法。
⑶上机调试编出的词法分析程序。
二、实践题
⒈题目
用 C/C++ 语言编写前述 C/C++ 子集的词法分析程序。
1)主程序设计考虑,(参阅后面给出的程序框架)
主程序的说明部分为各种表格和变量安排空间。
3
数组k为关键字表,每个数组元素存放一个关键字。采用定长的方式,较短的关
键字后面补空格。
P 数组存放分界符。为了简单起见,分界符、算术运算符和关系运算符都放在
p表中(学生编程时,应建立算术运算符表和关系运算符表,并且各有类号),合并
成一类。
id 和ci 数组分别存放标识符和常数。
instring 数组为输入源程序的单词缓存。
outtoken 记录为输出内部表示缓存。
还有一些为造表填表设置的变量。
主程序开始后,先以人工方式输入关键字,造k表;再输入分界符等造 p 表。
主程序的工作部分设计成便于调试的循环结构。每个循环处理一个单词;接收
键盘上送来的一个单词;调用词法分析过程;输出每个单词的内部码。
2)词法分析过程考虑
该过程取名为 lexical,它根据输入单词的第一个字符(有时还需读第二个字
符),判断单词类,产生类号:以字符k表示关键字;i表示标识符;c 表示常数;p
表示分界符;s 表示运算符(学生编程时类号分别为1,2,3,4,5)。
对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表
中已有该元素,

最近更新

2025年新疆铁道职业技术学院单招职业倾向性测.. 40页

2025年无锡职业技术学院单招职业技能测试题库.. 40页

2025年晋中师范高等专科学校单招职业倾向性测.. 39页

2025年杭州医学院单招职业适应性测试题库带答.. 39页

2025年柳州城市职业学院单招职业适应性测试题.. 40页

2025年桐城师范高等专科学校单招职业技能测试.. 41页

2025年江苏农林职业技术学院单招综合素质考试.. 40页

2025年江苏城市职业学院江都办学点单招职业技.. 40页

2025年江苏航空职业技术学院单招职业技能考试.. 41页

2025年江西信息应用职业技术学院单招职业技能.. 41页

2025年江西洪州职业学院单招职业倾向性考试模.. 42页

2025年河北交通职业技术学院单招职业技能测试.. 43页

2025年河北省廊坊市单招职业适应性考试模拟测.. 41页

2026年上海电机学院单招职业倾向性考试题库附.. 41页

2026年中国计量大学单招职业倾向性考试题库必.. 41页

2025年河南省信阳市单招职业倾向性考试模拟测.. 40页

2025年河南轻工职业学院单招职业倾向性测试模.. 38页

2025年泉州幼儿师范高等专科学校单招职业倾向.. 39页

2025年泉州职业技术大学单招职业适应性考试模.. 41页

2025年泸州职业技术学院单招职业倾向性测试题.. 42页

2025年济南工程职业技术学院单招职业技能测试.. 42页

2025年浙江交通职业技术学院单招综合素质考试.. 41页

2025年浙江师范大学单招职业适应性测试模拟测.. 41页

2025年医院感染管理质量控制评价内容及考核标.. 2页

2024年常州机电职业技术学院单招职业适应性测.. 78页

食品安全自查、从业人员健康管理、进货查验记.. 9页

民间非盈利组织会计制度 7页

大坝浸润线分析报告 26页

专题:立体几何之球的切、接问题(学生版) 2页

现行有效奇瑞企业标准 25页