实现一个一遍扫描的pl/0编译程序,源于编译原理课程设计,实现了IF_THEN_ELSE条件语句和REPEAT_UNTIL重复语句,运行环境Visual C++6.0。
实现编译原理的pl0,分为以下几个步骤:(1)PL/0编译程序的C语言源代码输入(2)运行PL/0编译程序的C语言源代码,调试运行PL/0编译程序(3)对PL/0编译程序进行功能扩充(4)PL/0编译
* PL/0 编译系统C版本头文件pl0.h */ typedef enum {false, true} bool; #define norw 13 /* 关键字个数 */ #define txmax
课设要求: (1)扩充赋值运算:+= 和 -= (2)扩充语句(Pascal的FOR语句): FOR := STEP UNTIL DO (3)增加运算:++ 和 --。 实验要求: 对PL/0作以下修
带说明文档的编译原理课程设计,PL0语言可看成是Pascal [1] 语言的子集,它的编译程序是一个编译解释执行系统。
语法分析器,用C语言写的 还可以的 可以运行
编译原理课程的最终实验,内容包含了C语言为宿主语言的Java词法分析器和语法语义分析,两部分的源代码和测试用例和实验报告。
PL/0语言编译过程采用一趟扫描方式,以语法分析程序为核心,词法分析程序和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就调用词法分析程序,而当语法分析正确需生成相应的目标代码时,则调用代码
为PL/0语言建立一个语法分析程序,建立一个解释执行目标程序的函数,完成了编译器的语法分析以及解释执行过程
编译原理PL0源码(C语言版)/***PL0COMPILERWITHCODEGENERATION***///--------------------------------------------
用户评论