Location:
Search - elsesym
Search list
Description: 对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) 返回
Platform: |
Size: 227475 |
Author: 业 |
Hits:
Description: 对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) 返回
Platform: |
Size: 434176 |
Author: 业 |
Hits:
Description: 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
Platform: |
Size: 658432 |
Author: 王浩 |
Hits: