对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) 返回
标签: downtosym returnsym elsesym downto
上传时间: 2016-07-02
上传用户:saharawalker
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity counter is Port ( clk : in std_logic; resetn : in std_logic; dout : out std_logic_vector(7 downto 0); lcd_en : out std_logic; lcd_rs : out std_logic; lcd_rw : out std_logic); end counter;
上传时间: 2013-10-30
上传用户:wqxstar
在本编译程序中,源语言为PL/0语言,目标语言为假想栈式计算机的汇编语言.PL/0语言是Pascal语言的一个子集,PL/0的编译程序包括了对PL/0语言源程序进行分析处理、编译生成类PCODE代码,并在虚拟机上解释运行生成的类PCODE代码的功能。 PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告功能。在源程序没有错误编译通过的情况下,调用类PCODE解释程序解释执行生成的类PCODE代码。 该软件为PL/0语言编译程序,所实现的扩充功能如下: 1.增加单词:保留字 ELSE,FOR,TO, downto 2.增加运算 +=,-=,++,-- 3.不等号# 改为 <> 4.增加条件语句的ELSE子句 5.扩充语句: ①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> downto<表达式> DO <语句> 其中,语句①的循环变量的步长为1, 语句②的循环变量的步长为-1。 概述 源文件: *.plo 目标文件: *.COD 实现平台:C++ Builder6.0
上传时间: 2015-06-22
上传用户:hanli8870
1. PL/0 语言介绍 ●PL/0 程序设计语言是一个较简单的语言,它以赋值语句为基础,构造概念有顺序、条件和重复(循环)三种。PL/0 有子程序概念,包括过程定义(可以嵌套)与调用且有局部变量说明。PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。在源程序没有错误编译通过的情况下,调用类PCODE解释程序解释执行生成的类PCODE代码。 ●保留字(关键字):所谓保留字是指在Pascal语言中具有特定的含义。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有51个。下面是Pascal语言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,downto,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH,EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL
上传时间: 2015-07-17
上传用户:zm7516678
plo 清华版的第二章的那个!! 1. 基本内容(成绩范围:“中”、“及格”或“不及格”) 对PL/0作以下修改扩充: (1)增加单词:保留字 ELSE,FOR,TO, downto 运算符 +=,-=,++,-- 修改单词:不等号# 改为 <> 增加条件语句的ELSE子句 (2)扩充赋值运算:+= 和 -= (3)扩充语句(Pascal的FOR语句): ①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> downto <表达式> DO <语句> 其中,语句①的循环变量的步长为1, 语句②的循环变量的步长为-1。 选做内容: (1)增加运算:++ 和 --。 (4)增加一维数组类型(可增加指令)
上传时间: 2014-01-10
上传用户:Breathe0125
---实现的部分VHDL 程序如下。 --- elsif clk1x event and clk1x = 1 then ---if std_logic_vector(length_no) >= “0001” and std_logic_vector(length_no) <= “1001” then -----数据帧数据由接收串行数据端移位入接收移位寄存器---rsr(0) <= rxda --- rsr(7 downto 1) <= rsr(6 downto 0) --- parity <= parity xor rsr(7) --- elsif std_logic_vector(length_no) = “1010” then --- rbr <= rsr --接收移位寄存器数据进入接收缓冲器--- ...... --- end if
标签: clk1x std_logic_vector length_no elsif
上传时间: 2015-10-28
上传用户:cainaifa
编译原理课程设计 PL0 (报告实验和课程设计报告,已经设计方法,步骤) 1. 基本内容 (1)扩充赋值运算:+= 和 -= (2)扩充语句 REPEAT <语句序列> DOWHILE <条件> 其中,<条件>是循环条件,即条件成立时,重复执行循环体的<语句序列> 2. 选做内容 (1)增加运算:++ 和 --。 (2)增加类型:① 字符类型; ② 实数类型。 (3)扩充函数:① 有返回值和返回语句;② 有参数函数。 (4)增加一维数组类型(可增加指令)。 (5)其他典型语言设施。 3.本人在课程设计中已实现的功能 (1)增加单词:保留字 ELSE,REPEAT,DOWHILE,RETURN 运算符 +=,-=,++,-- (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句 (4)扩充赋值运算:+= 和 -= (5)扩充语句 REPEAT <语句序列> DOWHILE <条件> (6)增加运算:++ 和 --(包括前后++、--运算) (7)增加类型:① 字符类型;② 实数类型。 (8)其他典型语言设施:FOR TO语句,FOR downto语句;
上传时间: 2014-01-10
上传用户:天诚24
1)增加单词:保留字 ELSE,FOR,TO,downto,RETURN 运算符 +=,-=,++,―― 其中FOR,TO,downto,RETURN属于选做内容。 (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句 (4)增加单词:保留字 ELSE,FOR,TO,downto,REPEAT, DOWHILE, UNTIL。 (5)增加运算:++ 和 --。(已做,前++ 后++ 前-- 后--) (6)其他典型语言设施。(已做for 语句) (7)添加编译错误提示功能
标签: ELSE
上传时间: 2014-01-18
上传用户:小儒尼尼奥
VHDL编写的4选一数据选择器 entity mux41a is port(a,b:in std_logic; s1,s2,s3,s4:in std_logic; y: out std_logic); end entity mux41a; architecture one of mux41a is signal ab:std_logic_vector(1 downto 0);
上传时间: 2020-05-15
上传用户:cdga