• 大小: 15KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-10
  • 语言: 其他
  • 标签: PL0  词法分析  

资源简介

(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

评论

共有 条评论