课程设计报告 下载本文

内容发布更新时间 : 2024/5/21 20:57:04星期一 下面是文章的全部内容请认真阅读。

编译原理实验 课 程 设计题目:

班 级:姓 名:学 号:设 计 报 告

PL/0编译器及其扩充

2016年 12 月 17 日

目录

一. PL语言及其编译器 .............................................. 2 1. PL语言介绍 .................................................... 2 参考流程图 ........................................................ 2 1) 编译程序的结构图 ............................................ 2 2) PL/0编译程序总体流程图...................................... 3 二 PL语言编译器 .................................................... 3 1 编译器的词法分析 ............................................... 3 2 语法分析 ........................................................ 4 3 语义分析 ........................................................ 6 4 代码生成 ........................................................ 6 5代码执行 ........................................................ 7 6各功能模块作用分析 .............................................. 8 1) 作用表 ....................................................... 8 2) 符号名字表结构: ............................................. 8 3) 保留关键字枚举结构: ......................................... 9 4) 名字表中标识符枚举类型: ..................................... 9 5)虚拟机 ........................................................ 9 7 错误诊断处理 ................................................... 10 三 扩充内容的设计.................................................. 11 ++--运算符的扩充................................................... 11 对于++和--运算符,扩充时要注意存在++,--有两个情况: .............. 11 3 扩充部分语法描述图: ......................................... 18 4 运行时存储组织和管理 .......................................... 19 5扩充语句测试及结果 ............................................. 20 5.1 扩充赋值运算:++和— ....................................... 20 5.2 结果截图 .................................................. 20 四 实验总结........................................................ 21

第 1 页

一. PL语言及其编译器

1. PL语言介绍

由于PL程序设计语言是一个较简单的语言,结构清晰,可读性强而又具备了一般高级程序设计语言的必须部分,因而它语言的编译程序能充分体现一个高级语言编译程序实现的基本方法可技术。它以赋值语句为基础,构造概念有顺序、条件和重复(循环)三种。PL有子程序概念,包括过程定义(可以嵌套)与调用且有局部变量说明。PL中唯一的数据类型是整型,可以用来说明该类型的常量和变量。当然PL也具有通常的算术运算和关系运算。具体的PL语法图如下。

参考流程图

1) 编译程序的结构图

源程序

词法分析 语法分析 语义分析

符号表管理错误诊断处理 代码生成 代码执行 执行结果

第 2 页