搜索资源列表
编译原理及实践
- 目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 &
PLx_Compiler
- PLx语言的编译器。PLx语言是一种类Pascal语言,但语法比较简单,适用于编译原理教学。这个编译器不仅实现了编译,同时也集成了运行目标代码的虚拟机。当程序编译通过后,可以看到生成的汇编指令及其执行情况,用户可以选择单步执行,并同时观察指令流与数据流。源代码比较简洁且含有注释-PLx language compiler. PLx language is a language like Pascal, but relatively simple syntax, the principle app
getitem
- 从各种控件中获得数据 自动生成XML文档 并通过XSLT转换为其他形式的XML文档-from a variety of data access controls which automatically generate XML and XSLT through conversion to other forms of XM L Documents
cmm
- 简单C编译器生成的目标代码是8086的汇编代码(16位),可以在一般的PC上被像MASM之类的汇编编译程序编译,生成可执行文件后,在DOS或Windows控制台下运行。 实现的语言定义如下: 语言类似于tiny语言,不支持过程调用,也就是只有一个main函数,无其他函数和全局变量 基本语句:注释语句(/*…*/),输入语句(int input(void) ),输出语句(void output(int) ),赋值语句。这里的输入输出语句实际上类似于函数调用,可以看作是本语言内部的函数
lr
- 建立文法及其LR分析表表示的数据结构,设计并实现一个LALR(1)的分析器,对源程序经词法分析后生成的二元式代码流进行分析,如果输入串是文法定义的句子则输出“是”,否则输出“否”。
hc_compiler
- 由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面: 不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。 对于float数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。 对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确
PL0C++
- 用于模拟编译系统,支持多种数据类型和结构,自己编写程序并调用编译器模拟编译,生成三代码语言。-Used to simulate the build system to support multiple data types and structures, their programming and call simulation compiler compiler to generate a three-code language.
bianyiyuanli
- 建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术,而且能够使学生对该领域产生浓厚的兴趣和求知欲,为以后进一步从事软件工作打下良好的基础。主要内容涵盖了大学计算机系本科生所学内容,共十章,有编译概述,文法和语言,词法分析,语法分析,语法制导翻译,运行时刻环境的组织,中间代码生成,目标代码生成,代码优化,面向对象的语言的编译介绍。每章后附有习题,必做的习题给出了参考答案。最后讲解一个小的编译器的设计与实现,并给出了完整的用PASCAL书写的源代码。72学时,4学分。先修课程有计算
LR
- 1.实验目的 设计一个LR分析器,实现对表达式语言的分析,加深对LR语法分析方法的基本思想的理解,掌握LR分析器设计与实现的基本方法。 2.实验要求 建立文法及其LR分析表表示的数据结构,设计并实现一个LALR(1)的分析器,对源程序经词法分析后生成的二元式代码流进行分析,如果输入串是文法定义的句子则输出“是”,否则输出“否”。 3.实验内容 (1)文法描述及其LALR(1)分析表 描述表达式语言的文法G如下: -1. The experiment was to de
bian-yi-yuan-li-kechengsheji
- 编译原理课程设计:建立文法及其LL(1)分析表表示的数据结构,设计并实现相应的预测分析器,对源程序经词法分析后生成的二元式代码流进行预测分析,如果输入串是文法定义的句子则输出“输入串分析成功”,否则输出“输入串语法错误”。-Principles of Course Design Compiler: A Grammar and LL (1) of the table that the data structure, design and implement the corresponding pr
200621320392685
- 这是一个真正的32位编译器源代码,能直接生成低级机器码和x86 PE可执行文件,能创建GUI或者CUI可执行文件和动态连接库程序,支持byte, word, dword, 单精度浮点数据类型,比较,For, While, Loop 等循环,支持API调用,支持标准常数、自定义数据等,界面漂亮。 -This is a true 32-bit compiler source code, can directly produce low-level machine code and x86 PE
pl0_simple_compiler
- PL0 编译解释执行系统编译过程采用一趟扫描方式,以语法分析程序为核心,词法分析和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就调用词法分析程序,而当语法分析正确需要生成相应的目标代码时,则调用代码生成程序。 用表格管理程序建立变量、常量和过程表示符的说明与引用之间的信息联系。 用出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错位性质。 当源程序编译正确时,PL/0编译程序自动调用解释执行程序,对目标代码进行解释执行,并按用户程序的要求输入数据和输出运行
LL1_display5.11
- 本文描述了针对编译原理课程中LL(1)文法分析过程的演示系统的设计与实现过程。本系统在Visual C++环境中使用MFC类库开发实现。针对高效率和美观实用两个目标,分别设计了前台和后台。前台负责界面显示和用户交互,后台透明地执行LL(1)分析过程的相关操作,为前台提供数据。通过MFC的消息响应机制,将后台功能模块加入到前台相应功能菜单的消息函数中。前台界面提供了和用户交互的菜单,根据演示系统的需求以及LL(1)文法分析过程中的各个步骤,将前台分为七个模块,其中每个菜单项分别对应各自的功能模块。
gen-cpp
- 本例是一个简单的thrift测试程序,包括客户端和服务端。thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。-Apache Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engin
Compiler-theory
- 编译原理 第1章绪论 第2章数据类型 第3章控制结构 第4章程序语言的设计 第5章非过程式程序设计语言 第6章形式语义学简介 第7章编译概述 第8章词法分析 第9章自上而下的语法分析 第10章自下而上的语法分析 第11章语义分析和中间代码生成 第12章代码优化和目标代码生成 第13章运行时存储空间的组织 -Compiler theory Chapter 1 Introduction Chapter 2 data types C
lc
- 引用原作者:这个类C编译器是我在2008年写的,完成度并不高,并没有实现指针、struct这些,不过还是实现了基本的C语言数据类型(int/char/long/short等),函数的声明、定义、调用、递归,if/for/while/goto等跳转,详细请看sample和source。 为了节省开发的时间,词法和语法分析分别采用lex和yacc编写,可以用Cygwin里面的flex和bison进行编译。另外我觉得编译成x86的bytecode比较麻烦,所以定义了一套自己的bytecode