资源简介
(1)扩充赋值运算:*= 和 /=
(2)扩充语句(Pascal的FOR语句):
①FOR <变量>:=<表达式> TO <表达式> DO <语句>
②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句>
其中,语句①的循环变量的步长为2,
语句②的循环变量的步长为-2。
(3)增加运算:++ 和 --。
选做内容:
(1)增加类型:① 字符类型; ② 实数类型。
(2)扩充函数:① 有返回值和返回语句;② 有参数函数。
(3)增加一维数组类型(可增加指令)。
(4)其他典型语言设施。
代码片段和文件信息
//A.2 C 版 本
/*编译和运行环境:
*1Visual C++6.0VisualC++.NET and Visual C++.NET 2003
*WinNT Win 200 WinXP and Win2003
*2 gcc version 3.3.2 20031022(Red Hat Linux 3.3.2-1)
*Redhat Fedora core 1
*Intel 32 platform
*使用方法:
*运行后输入PL/0 源程序文件名
*回答是否输出虚拟机代码
*回答是否输出名字表
*fa.tmp 输出虚拟机代码
*fa1.tmp 输出源文件及其各行对应的首地址
*fa2.tmp 输出结果
*fas.tmp 输出名字表
*/
#include
#include
#include“pl0.h“
#include“string.h“
/*解释执行时使用的栈*/
#define stacksize 500
int main()
{
bool nxtlev[symnum];
printf(“Input pl/0 file ?“);
scanf(“%s“fname); /*输入文件名*/
fin=fopen(fname“r“);
if(fin)
{
printf(“List object code ?(Y/N)“); /*是否输出虚拟机代码*/
scanf(“%s“fname);
listswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
printf(“L
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6190 2013-01-01 14:33 PL0.h
文件 44242 2013-01-04 21:53 PL0.cpp
相关资源
- 编译原理课程设计,PL0程序代码和报
- 编译原理词法分析实验报告内含截图
- 编译原理——词法分析代码
- 实验一 词法分析程序实现
- SPL06-001_datasheet_V2.0
- 编译原理课程设计-PL0编译程序
- 编译原理语法分析和词法分析
- 词法分析器和语法分析器
- 编写一个词法分析器,它针对输入文
- Lex词法分析实验
- 增强版的pl0编译器,支持for循环及b
- 算符优先分析和词法分析器的设计与
- TINY+词法分析完全
- 编译原理PL0功能扩充
- 编译原理--词法分析实验(含代码)
- 一个简单编译器前端包括词法分析,
- PL0语言编译程序分析和详细注释(P
- 完整cmm解释器构造实践 二 词法分析
- pascal语言的词法分析器
- 编译原理上机作业-词法分析程序实现
- 编译程序构造
- 编译原理及实践手工构造词法分析器
- SeuLexSeuYacc
- pl0词法语法分析器
- 编译原理-PL0-实验报告
- 编译原理实验+报告+流程图
- 编译原理实验-简单的PL0编译器
- 词法分析程序构造原理与实现技术
- 词法分析实验Flex和bison包含实验报告
- 编译原理课设和实验:PL0编译器扩充
评论
共有 条评论