在本编译程序中,源语言为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