搜索资源列表
DrakeCompiler
- 这可是我的倾情制作,离卖弄的语法分析器,是自己写的实现程序,不使用他人的结果,直接从原始语法里进行推理计算的,而且这个使用c语言实现的,很多底层函数都是自己来写,像hash表里的hash函数,还有像动态自增长分配等。当然这个还很不完善,但是已经作了很多工作,差就差在没有找到理想的脚本支持语言,最后没有办法只能用函数指针的数组来进行语义调用了。-this but my DEDECATES production, from the play of parser, written in their o
build
- #写的一个代码生成器 在实际变成工作中,我们要写大量的程序,比如说把一个表转为一个类对象或者写一个调用带n个参数的存储过程的方法等都需要手工去输入大量的代码,并且还有大量的重复代码。为了避免大量的重复劳动,同时也为了工作的方便,根据自己的需要写了这么一个功能比较简单的代码生成器。其功能如下: 功能1: 配置数据库连接服务器(包括数据库服务器的IP、数据库、登录帐户、登录密码),单击确定保存配置,保存成功后确定按钮不可用,同时弹出消息对话框。 功能2; 连接数
hc_compiler
- 由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面: 不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。 对于float数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。 对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确
编译原理---算浮优先算法
- 简单介绍一下,整个工程分为5个文件:Main.c ----- 程序的入口点,其实很简单,就是调用两个函数。Global.h ----- 定义了一些全局变量及宏Parse.h ----- 语法分析器的主要算法Prece.h ----- 定义和实现了一些关于优先级的操作Stack.h ----- 定义和实现了一个栈及其操作编译的时候只要用TC2.0或者WinTC打开Main.c文件进行编译就好了。如发现有Bug请在这里贴出来或者把修改后的代码跟帖在这里:)总之,这个工程仅仅是一个简单示例,告诉大家怎
CMMCompiler
- CMM语言(c-minus-minus)语言的解释器。相对于一些基本的程序而言,本系统具有以下几个特点: 1.基本功能: 支持int,real等简单类型,支持相应简单数组; 支持while,if,else语句; 基本数值运算:+,-,*,/; 2.语句拓展 支持char,string等类型,同时支持相应类型数组,与常量声明; 完全支持for,break ;switch(case,default)continue等语句; 支持 ,++,--,+=,-=,*=,/=等
Research-of-Visualization-of-C
- 分析C程序的函数调用机制,阐述函数调用可视化实现技术,并利用GNU编译器工具链跟踪函数,对函数调用进行可视化展示,从而有助于对复杂函数调用特别是递归调用中的算法设计、栈区使用、代码优化等内容的理解。- The thesis analyses the mechanism of function call in C program,explains the realization technology of Visualization of function call,and displays th
JSQFinal
- 编译原理课程设计,CMM 是一种经过简化的 C 语言,CMM 解释器是一个 CMM 语言 的集成开发环境,经过词法、语法和语义的分析,通过递归下降子程序法对 CMM 语言 进行解释执行。此解释器可以实现几种基本数据类型的表达式计算、隐式转换和强制转 换,循环语句的控制,多维数组的处理,函数调用和重载,变量作用域限制等功能。IDE 能够进行代码自动缩近、语法高亮、撤销重做、括号匹配、错误检查标记、函数定位、 快速注释、输出语法树等。 -CMM is a programming
lc
- 引用原作者:这个类C编译器是我在2008年写的,完成度并不高,并没有实现指针、struct这些,不过还是实现了基本的C语言数据类型(int/char/long/short等),函数的声明、定义、调用、递归,if/for/while/goto等跳转,详细请看sample和source。 为了节省开发的时间,词法和语法分析分别采用lex和yacc编写,可以用Cygwin里面的flex和bison进行编译。另外我觉得编译成x86的bytecode比较麻烦,所以定义了一套自己的bytecode