LLVM

LLVM即Low Level Virtual Machine(低级虚拟机),是用C++编写的构架编译器的框架系统。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。LLVM是在2000年由Illinois大学发起的一个开源项目,2006年Chris Lattner加盟Apple Inc.并致力于LLVM在Apple开发体系中的应用。Apple也是LLVM计划的主要资助者。

LuaJIT

LuaJIT:采用C语言写的Lua的解释器的代码

Scala

Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。它也能运行于CLDC配置的Java ME中。Scala的编译模型(独立编译,动态类加载)与Java和C#一样,所以Scala代码可以调用Java类库(对于.NET实现则可调用.NET类库)。

Scala是由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作设计而来。于2003年底/2004年初发布Java平台的Scala;2004年6月发布.NET平台的Scala。于2006年3月发布Scalav2.0。

Scala的特性包括:(1)面向对象,Scala是一种纯面向对象的语言,每一个值都是对象;(2)函数式编程,提供轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函...

JavaCC

JavaCC即Java Compiler Compiler,是一个用Java开发的最受欢迎的语法分析生成器。它是100%的纯Java代码,可以在多种平台上运行。这个分析生成器工具可以读取与上下文无关但有着特殊意义的语法并把它转换成可以识别且匹配该语法的JAVA程序。它还提供JJTree等工具来帮助我们建立语法树。

clang

Clang 是一个 C++ 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C++/Objective C/Objective C++ 编译器,其目标(之一)就是超越 GCC。

MinGw

MinGW即Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用GCC建立本地的Windows程序。

Guile

Guile是Scheme语言的解释器,Scheme是一种编程语言,而Guile将它转换成嵌入式脚本语言,从而很好地将动态性引入到静态应用程序中。Guile在构建可扩展应用程序方面的强大特性。Guile的特长是可扩展性。通过使用Guile,可以解释Scheme脚本,将Scheme脚本动态地绑定到编译过的C程序,甚至可以将编译过的C函数集成到Scheme脚本中。这个非常有用的特性使用户可以调整或定制应用程序,增加它们的价值。

swfparser

swfparser 是一个用Java 编写的简单的用来反编译 swf 的工具,只支持 Flash 8 和 Flash MX 2004,不支持Flash 9。

ccache

ccache(“compiler cache”的缩写)是一个基于 C/C++开发的跨平台的编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息,比如头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。如果您编译清单 2 中的文件,假定foobar.h 中包含对其他头文件的引用,ccache 会用那个文件的 cpp-parsed 版本来取代 include 声明。就那么简单。不是真正去读取、理解并解释其内容,ccache 只是将最终的文本拷贝到文件中,使得它可以立即被编译。

YACC

YACC即Yet Another Compiler Compiler,是一个Unix/Linux上经典的生成语法分析器的工具。