虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

自动代码生成

  • 在本编译程序中,源语言为PL/0语言,目标语言为假想栈式计算机的汇编语言.PL/0语言是Pascal语言的一个子集

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

    标签: Pascal 语言 PL 编译

    上传时间: 2015-06-22

    上传用户:hanli8870

  • 1. PL/0 语言介绍 ●PL/0 程序设计语言是一个较简单的语言

    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

    标签: PL 语言 程序设计语言

    上传时间: 2015-07-17

    上传用户:zm7516678

  • 一个开源heml语意分析器 ekhtml: The El-Kabong HTML parser SUMMARY: El-Kabong: A speedy, yet forgiving,

    一个开源heml语意分析器 ekhtml: The El-Kabong HTML parser SUMMARY: El-Kabong: A speedy, yet forgiving, SAX-stylee HTML parser. PROJECT INFORMATION: Web Site: ekhtml.sourceforge.net The web site contains links to locations where one can: - file bugs - join mailing lists - download the latest release - browse documentation - get CVS information BUILDING: See the file INSTALL for information、目标代码生成、符号表的构造和运行时存储空间的组织等8部分组成。

    标签: El-Kabong forgiving SUMMARY ekhtml

    上传时间: 2014-12-08

    上传用户:dapangxie

  • pl/0编译器的C++实现

    pl/0编译器的C++实现,包含了词法分析,语法分析,语义分析&代码生成部分。

    标签: pl 编译器

    上传时间: 2013-12-24

    上传用户:ainimao

  • 学习编译原理的实用教程.教程共分7章: 第1章 编译系统概述 第2章 词法分析 第3章 程序设计语言的语法描述 第4章 自上而下的语法分析 第5章 自下而上的语法分析 第6章 语法制导翻译

    学习编译原理的实用教程.教程共分7章: 第1章 编译系统概述 第2章 词法分析 第3章 程序设计语言的语法描述 第4章 自上而下的语法分析 第5章 自下而上的语法分析 第6章 语法制导翻译和中间代码生成 第7章 目标代码生成 这7章内容都是清华版电子教案doc格式,并配有所有章节的程序源代码,源代码开发环境为visual c++.

    标签: 编译原理 实用教程 制导

    上传时间: 2015-09-28

    上传用户:cylnpy

  • snl语言是一个简单的具有嵌套过程定义的过程式语言

    snl语言是一个简单的具有嵌套过程定义的过程式语言,本原码用C语言实现了SNL语言的词法分析,语法分析,语义分析,中间代码生成,中间代码优化,目标代码优化的完整模块,并有极为详细的注释,是学习编译原理的极佳材料。

    标签: snl 语言 过程 嵌套

    上传时间: 2015-10-04

    上传用户:sjyy1001

  • snl语言是一个简单的具有嵌套过程定义的过程式语言

    snl语言是一个简单的具有嵌套过程定义的过程式语言,本原码用C语言实现了SNL语言的词法分析,语法分析,语义分析,中间代码生成,中间代码优化,目标代码优化的完整模块,并有极为详细的注释,是学习编译原理的极佳材料。

    标签: snl 语言 过程 嵌套

    上传时间: 2014-06-30

    上传用户:zq70996813

  • 《PL/0的编译器》:PL/0语言是Pascal语言的一个子集

    《PL/0的编译器》:PL/0语言是Pascal语言的一个子集,《PL/0的编译器》实现了把客户用PL/0语言编写的程序编译成类PCODE代码,并能虚拟机上解释运行生成的类PCODE代码的功能。《PL/0的编译器》采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。

    标签: Pascal PL 语言 编译器

    上传时间: 2013-12-19

    上传用户:busterman

  • 词法分析

    词法分析,语法分析,以及中间代码生成 布尔表达式转换为逆波兰式

    标签:

    上传时间: 2014-01-17

    上传用户:wxhwjf

  • 1.1 引言 1.1.1 设计目的 本次课程设计是在完成一个学期的编译原理课程之后

    1.1 引言 1.1.1 设计目的 本次课程设计是在完成一个学期的编译原理课程之后,为了进一步加深对编译原理相关知识的理解,培养实际解决问题的能力而进行的。结合本学期所开设的软件工程课程,本次课程设计实验过程要求按照软件工程的思想来组织开发过程,按照软件生命周期的阶段划分来进行。由于课程设计规模较小,所以对软件生命周期进行适当的合并,简化为五个阶段,即需求分析、总体设计、详细设计、编码实现和测试。 1.1.2 设计任务 针对本次课程设计我们设计了一个简化的pascal语言,称为mini-pascal。设计的任务就是开发出针对mini-pascal语言的编译程序。标准的编译程序结构分为五部分,分别是词法分析、语法分析、语义分析和中间代码生成、优化和目标代码生成。由于时间和能力所限,我们的编译程序只包括前三个部分,最后生成四元式形式的中间代码。

    标签: 1.1 编译原理

    上传时间: 2013-12-25

    上传用户:2467478207