好文档 - 专业文书写作范文服务资料分享网站

广东工业大学10级编译原理课程设计报告 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

广东工业大学10级编译原理课程设计报告

-CAL-FENGHAI.-(YICAI)-Company One1

《 编译原理 》 课程设计

实验时间: 实验班级: 姓 名: 焦王 学 号: 实验教师:

计算机学院 广东工业大学

2

3

一、基本内容

(1)扩充赋值运算:*= 和 /=

(2)扩充语句(Pascal的FOR语句):

①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 其中,语句①的循环变量的步长为2, 语句②的循环变量的步长为-2。 (3)增加运算:++ 和 --。

(4)选做内容(成绩评定范围扩大到:“优”和“良”)

(1)增加类型:① 字符类型; ② 实数类型。 (2)扩充函数:① 有返回值和返回语句;② 有参数函数。 (3)增加一维数组类型(可增加指令)。 (4)其他典型语言设施。

二、实验环境与工具

(1)计算机及操作系统:PC机,Windows7,WindowsXP (2)程序设计语言:C++Builder5,VC 6.0 (3)教学型编译程序:PL/0 三、设计方案

(1)概述:源、目标语言,实现工具(平台),运行平台 源语言:PL/0语言 目标语言:类PCODE 实现工具:C++Builder

4

运行平台:windows 7

(2)结构设计说明--各功能模块描述

1、

int POSITION(ALFA ID, int TX):查找标识符在名字表中的位置

2、 int BASE(int L,int B,int S[]):通过静态链求出数据区的基地址 3、 4、 5、 6、 7、 是否合法

8、 表

9、 void ConstDeclaration(int LEV,int &TX,int &DX):常量说明处理 10、void VarDeclaration(int LEV,int &TX,int &DX):变量说明处理 11、void CharDeclaration(int LEV,int &TX,int &DX):字符说明处理 12、void RealDeclaration(int LEV,int &TX,int &DX):实数说明处理 13、void ListCode(int CX0):列出目标代码清单

14、void FACTOR(SYMSET FSYS, int LEV, int &TX) :因子处理 15、void TERM(SYMSET FSYS, int LEV, int &TX) :项处理

16、void EXPRESSION(SYMSET FSYS, int LEV, int &TX):表达式处理 17、void CONDITION(SYMSET FSYS,int LEV,int &TX) :条件处理 18、void STATEMENT(SYMSET FSYS,int LEV,int &TX) :语句部分处理

5

void ENTER(OBJECTS K, int LEV, int &TX, int &DX):登录名字void Error(int n) :错误处理,打印出错位置和错误编码 void GetCh():漏掉空格,读取一个字符 void GetSym():词法分析,读取一个单词

void GEN(FCT X, int Y, int Z):生成目标代码,并送入目标程序区 void TEST(SYMSET S1, SYMSET S2, int N):测试当前单词符号

广东工业大学10级编译原理课程设计报告 - 图文

广东工业大学10级编译原理课程设计报告-CAL-FENGHAI.-(YICAI)-CompanyOne1《编译原理》课程设计实验时间:实验班级:姓名:焦王学号:
推荐度:
点击下载文档文档为doc格式
00yig8w6770fluh9boav3qhtz4wh9l00tvp
领取福利

微信扫码领取福利

微信扫码分享