PL0
所属分类:编译器/解释器
开发工具:C/C++
文件大小:643KB
下载次数:77
上传日期:2014-01-03 01:57:15
上 传 者:
tianjilaoren46
说明: pl0拓展文法的编译器,包含实验报告、源码和测试程序。对PL0原编译器进行了以下的扩充:1. 增加以下保留字
else(elsesym), for(forsym),to(tosym),downto(downtosym),
return(returnsym),[(lmparen),](rmparen)
2. 增加了以下的运算符:
+=(eplus),-=(eminus),++(dplus),--(dminus)
取址运算符&(radsym),指向运算符@(padsym)
3. 修改单词:修改不等号#为<>
4. 扩充语句:
(1)增加了else子句
(2)增加了for语句
5. 增加运算:
(1).++运算
(2).--运算;
(3).+=运算;
(4).-=运算;
(5).&取址运算;
(6).@指向运算;
6. 增加类型:
(1).增加多维数组a[i1][i2][i3]……[i(n-1)][i(n-2)][in]
(2).增加指针类型(任何变量都能存放指针,但不支持指针的指针,
如b:=@@a应该改写为c:=@a,b:=@c)
7. 将过程procedure扩展为函数:
(1).允许定义过程时在其后加参数(var a, var b,……..,var n)
(2)允许通过指针向函数形式参数传地址;
(3)允许返回值;可以用 a:=p(a,b,c….,n) 返回
(pl0 expand grammar compiler , including lab reports , source code and test procedures. PL0 compiler for the original expansion of the following : (1) Add the following reserved words
else (elsesym), for (forsym), to (tosym), downto (downtosym),
return (returnsym), [(lmparen),] (rmparen)
(2) increase the following operators:
+ = (eplus),- = (eminus),++ (dplus),- (dminus)
Address-of operator & (radsym), pointing operator @ (padsym)
3 Modify word : Modify inequality# is <>
4 Expansion statement:
( 1 ) increasing the else clause
( 2 ) increasing the for statement
5 increase in computing :
(1 )++ operator
(2 )- operation
(3 )+ = operator
(4 )- = operator
(5 ) & check the site operator
(6 ) @ pointing operation
6 in)
文件列表:
Pl0要求.txt (3094, 2010-01-04)
源代码\&.txt (161, 2008-05-12)
源代码\1++.txt (105, 2008-05-10)
源代码\error.txt (65, 2008-05-11)
源代码\for.txt (91, 2008-05-08)
源代码\ifelse.txt (87, 2008-05-11)
源代码\pl0.c (25151, 2008-05-13)
源代码\pl0.h (3153, 2008-05-08)
源代码\pl0c.txt (25151, 2008-05-13)
源代码\pl0h.txt (3153, 2008-05-13)
源代码\repeat.txt (128, 2008-05-12)
pl0(2)\Debug\BuildLog.htm (38010, 2009-11-30)
pl0(2)\Debug\mt.dep (63, 2009-11-30)
pl0(2)\Debug\PL0.exe (524288, 2009-11-30)
pl0(2)\Debug\PL0.exe.embed.manifest (146, 2009-11-30)
pl0(2)\Debug\PL0.exe.embed.manifest.res (212, 2009-11-30)
pl0(2)\Debug\PL0.exe.intermediate.manifest (145, 2009-11-30)
pl0(2)\Debug\PL0.ilk (1078008, 2009-11-30)
pl0(2)\Debug\PL0.obj (83098, 2009-11-30)
pl0(2)\Debug\vc80.idb (35840, 2009-11-30)
pl0(2)\Debug\vc80.pdb (53248, 2009-11-30)
pl0(2)\fa.tmp (417, 2007-01-04)
pl0(2)\fa1.tmp (166, 2007-01-04)
pl0(2)\fa2.tmp (9, 2007-01-04)
pl0(2)\fas.tmp (63, 2007-01-04)
pl0(2)\lxm.PL0 (267, 2006-12-11)
pl0(2)\now.suo (8704, 2006-12-02)
pl0(2)\PL0.cpp (41880, 2007-01-04)
pl0(2)\PL0.dsp (3365, 2006-12-14)
pl0(2)\PL0.dsw (529, 2006-12-11)
pl0(2)\pl0.h (4559, 2006-12-14)
pl0(2)\PL0.ncb (347136, 2010-01-02)
pl0(2)\PL0.obj (48416, 2006-12-11)
pl0(2)\PL0.opt (48640, 2007-01-09)
pl0(2)\PL0.plg (1129, 2007-01-04)
pl0(2)\PL0.sln (870, 2009-11-30)
pl0(2)\PL0.suo (9216, 2010-01-02)
pl0(2)\PL0.vcproj (4768, 2009-11-30)
pl0(2)\PL0.vcproj.Edgewolf-PC.Edgewolf.user (1419, 2010-01-02)
pl0(2)\PL0编译器功能扩充课程设计实验报告.doc (482304, 2007-01-03)
... ...
近期下载者:
相关文件:
收藏者: