搜索资源列表
编译原理及实践
- 目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 &
DrakeCompiler
- 这可是我的倾情制作,离卖弄的语法分析器,是自己写的实现程序,不使用他人的结果,直接从原始语法里进行推理计算的,而且这个使用c语言实现的,很多底层函数都是自己来写,像hash表里的hash函数,还有像动态自增长分配等。当然这个还很不完善,但是已经作了很多工作,差就差在没有找到理想的脚本支持语言,最后没有办法只能用函数指针的数组来进行语义调用了。-this but my DEDECATES production, from the play of parser, written in their o
JC 1.0
- JC1.0。本编译器包含完整的文档与程序。借助 Lex & Bison, masm 开发。语句5个,支持混合运算。输入输出作为两个 IO 语句(函数调用),由汇编实现并编译为 io.obj,将由 Link 链接。生成 EXE。整个流程完整清晰,代码易读。-JC1.0. The compiler includes complete documentation and procedures. With Lex Bison, can develop. Statement 5, support mixe
suqaretryango
- 设计文档基本内容如下: 1) 整体框架 2) 词法分析 Class CTokenizer Class CScaner C关键字表 标识符词法 3) 语法分析 Class CParser Grammar 基本树形结构 支持的语句及运算 4) 建立符号表 Class LineListRec Class BucketListRec Class CSymbolTable Class CFunArgsCheck
tolua++
- tolua++是一个对lua进行封装调用的工具,可以自动绑定C++类和函数,代码很值得研究
tscript-1.0.0
- 支持类PHP语法的脚本解释引擎。支持运行状态下动态输入脚本参数,返回字符串结果。支持自定义函数调用,支持外部函数扩展。(含源码)
cmm
- 简单C编译器生成的目标代码是8086的汇编代码(16位),可以在一般的PC上被像MASM之类的汇编编译程序编译,生成可执行文件后,在DOS或Windows控制台下运行。 实现的语言定义如下: 语言类似于tiny语言,不支持过程调用,也就是只有一个main函数,无其他函数和全局变量 基本语句:注释语句(/*…*/),输入语句(int input(void) ),输出语句(void output(int) ),赋值语句。这里的输入输出语句实际上类似于函数调用,可以看作是本语言内部的函数
Code
- 动态链接库程序的编写。静态库与动态库的区别,以及调用程序在链接静态库和动态库时的区别。如何利用工具查看动态链接库输出的函数,Depends工具的使用,C++编译器名字改编技术对动态链接库输出函数的影响,extern \"C\"的用法,利用模块定义文件来解决C++名字改编的问题。用typedef定义指向函数的指针类型,如何获得动态连接库里的函数的指针。
build
- #写的一个代码生成器 在实际变成工作中,我们要写大量的程序,比如说把一个表转为一个类对象或者写一个调用带n个参数的存储过程的方法等都需要手工去输入大量的代码,并且还有大量的重复代码。为了避免大量的重复劳动,同时也为了工作的方便,根据自己的需要写了这么一个功能比较简单的代码生成器。其功能如下: 功能1: 配置数据库连接服务器(包括数据库服务器的IP、数据库、登录帐户、登录密码),单击确定保存配置,保存成功后确定按钮不可用,同时弹出消息对话框。 功能2; 连接数
lesson2
- 孙鑫老师VC视频第二课代码:C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC AppWizard生成的工程奠定了
lesson19
- 孙鑫老师VC视频第十九课代码:动态链接库程序的编写。静态库与动态库的区别,以及调用程序在链接静态库和动态库时的区别。如何利用工具查看动态链接库输出的函数,Depends工具的使用,C++编译器名字改编技术对动态链接库输出函数的影响,extern \"C\"的用法,利用模块定义文件来解决C++名字改编的问题。用typedef定义指向函数的指针类型,如何获得动态连接库里的函数的指针。
ADL
- ADL,参数相关查找,也称作为Koenig查找(以Andrew Koenig的名字命名), 是指在编译器对无限定域的函数调用进行名字查找时,所应用的一种查找规则
TestMFCClassCode
- C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC AppWizard生成的工程奠定了良好基础。
grapic
- C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针的变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的原文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC Appwizard生成的工程奠定了良好基础。
hc_compiler
- 由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面: 不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。 对于float数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。 对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确
编译原理---算浮优先算法
- 简单介绍一下,整个工程分为5个文件:Main.c ----- 程序的入口点,其实很简单,就是调用两个函数。Global.h ----- 定义了一些全局变量及宏Parse.h ----- 语法分析器的主要算法Prece.h ----- 定义和实现了一些关于优先级的操作Stack.h ----- 定义和实现了一个栈及其操作编译的时候只要用TC2.0或者WinTC打开Main.c文件进行编译就好了。如发现有Bug请在这里贴出来或者把修改后的代码跟帖在这里:)总之,这个工程仅仅是一个简单示例,告诉大家怎
by01
- 打开一个已知目录下的文本文件,通过调用函数将文本里表达式的标识符找出,然后以文本形式输出。-known to open a directory of text files, by calling the function to the text of the expression identifier identify, and then to output in the form of text.
pl/0
- /*PL/0编译系统C版本头文件pl0.h*/ /* typedef enum { false, true } bool; */ #define norw 13 /*关键字个数*/ #define txmax 100 /*名字表容量*/ #define nmax 14 /*number的最大位数*/ #define al 10
Lesson2Code
- C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针的变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的原文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC Appwizard生成的工程奠定了良好基础。-err
ZKTQSwitch
- Switch法读取字库 内含小字库创建方法、对应的字模提取方式和字库使用源代码。 原理:通过额外编制一个Switch结构的函数,给出区位码,函数返回字模在数组中位置。建立字库的时候,把区位码作为case值,把字模位置作为return值,写入函数。这其实是查找法的变形。 优点: 额外内存占用小。 字模位置和区位码相关,使用方便。 缺点: 速度慢,消耗CPU资源,每读取一个字模都必须调用函数。 可以支持汉字数量受case 条数限制,部分编译器支