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)
... ...

近期下载者

相关文件


收藏者