资 源 简 介
在本编译程序中,源语言为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
-the compiler, the source language of PL/0 language, target language of the imaginary stack of computer assembly language. PL/0 language Pascal language is a subset of, PL/0 compilers including the right PL/0 language source analysis, category PCODE compiler code generation and the virtual machine running on to explain the formation PCODE category code functions. PL/0 language compiler