This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces (shells), etc.
<p>Ada compilers
ALGOL compilers
Assemblers (Intel *86)
Assemblers (Motorola 68*)
Assemblers (Zilog Z80)
Assemblers (other)
BASIC Compilers
BASIC interpreters
Batch compilers
C compilers
Source-to-source compilers
This list is incomplete. A more extensive list of source-to-source compilers can be found here.
C++ compilers
C# compilers
COBOL compilers
Common Lisp compilers
LOGO compilers
Liogo NET Compiler http://liogo.sourceforge.net/
The Real LOGO Compiler http://lhogho.sourceforge.net/
D compilers
DIBOL/DBL compilers
ECMAScript interpreters
Eiffel compilers
Fortran compilers
Go compilers
Haskell compilers
HaskellWiki maintains a list of Haskell implementations. Many of them are compilers.
Java compilers
Oberon compilers
Pascal compilers
Perl Compilers
Perl Interpreters
PL/I compilers
Python compilers
Scheme compilers and interpreters
Smalltalk compilers
Tcl Interpreters
VMS Interpreters
Rexx Interpreters
CLI compilers
Open source compilers
Production quality, open source compilers.
- The Plan 9 C compiler collection by Ken Thompson
- Amsterdam Compiler Kit (ACK) [C, Pascal, Modula-2, Occam, and BASIC] [Unix-like]
- Clang C/C++/Objective-C Compiler
- AMD Optimizing C/C++ Compiler
- FreeBASIC [Basic] [DOS/Linux/Windows]
- Free Pascal [Pascal] [DOS/Linux/Windows(32/64/CE)/MacOS/NDS/GBA/..(and many more)]
- Roadsend PHP [PHP 5] [Linux, FreeBSD, Windows, OS X]
- GCC: C, C++ (G++), Java (GCJ), Ada (GNAT), Objective-C, Objective-C++, Fortran (GFortran), and Go (GCCGo); also available, but not in standard are: Modula-2, Modula-3, Pascal, PL/I, D, Mercury, VHDL; Linux, the BSDs, OS X, NeXTSTEP, Windows and BeOS, among others
- Local C compiler [C] [Linux, SPARC, MIPS]
- The LLVM Compiler Infrastructure which is also frequently used for research
- Portable C Compiler [C] [Unix-like]
- Open Watcom [C, C++, and Fortran] [Windows and OS/2, Linux/FreeBSD WIP]
- TenDRA [C/C++] [Unix-like]
- Tiny C Compiler [C] [Linux, Windows]
- S7c - A compiler for Seed7 (extensible language with many advanced features). Generates C code for GCC, Visual C or Borland C, Supports portable programs for Linux, Windows, OS X, Unix and BSD.
- libJIT just-in-time compilation library, a library by Rhys Weatherley, Klaus Treichel, Aleksey Demakov, and Kirill Kononenko for development of Just-In-Time compilers (JIT) in Virtual Machine implementations, Dynamic programming languages, and Scripting languages.
- Open64, supported by AMD on Linux.
- COINS compiler infrastructure
- XPL PL/I dialect (several systems)
Research compilers
Research compilers are mostly not robust or complete enough to handle real, large applications. They are used mostly for fast prototyping new language features and new optimizations in research areas.
- Open64: one of the most popular research compilers today, many branches exist. Here is a list of research papers from the CGO 2009. Open64 merges the open source changes from the PathScale compiler mentioned.
- ROSE: an open source compiler framework to generate source-to-source analyzers and translators for C/C++ and Fortran, developed at Lawrence Livermore National Laboratory
- Polaris compiler for Fortran
- Cetus for C/C++, successor of Polaris compiler
- MILEPOST GCC: interactive plugin-based open-source research compiler that combines the strength of GCC and the flexibility of the common Interactive Compilation Interface that transforms production compilers into interactive research toolsets.
- Interactive Compilation Interface - a plugin system with high-level API to transform production-quality compilers such as GCC into powerful and stable research infrastructure while avoiding developing new research compilers from scratch.
- SUIF: inactive since 2001
- MACHINE SUIF a branch focusing on machine-specific analyses and optimizations
- PIPS: a source-to-source compiler framework with a Fortran 77, Fortran 95 and C front-end, focussing on advanced analyses and transformations.
- OpenIMPACT Compiler
- Phoenix optimization and analysis framework by Microsoft
- Very Portable Optimizer (VPO) from the University of Virginia
- COINS compiler infrastructure
- Trimaran for research in instruction-level parallelism
- Parafrase-2 Inactive. It is a source-to-source vectorizing/parallelizing compiler, with Fortran and C front-ends.
- The PARADIGM compiler. Derived from Parafrase-2, it is a source-to-source research compiler for distributed-memory multicomputers for Fortran 77 and HPF.
- MLton standard ML compiler (SML compiler)
- Jikes Research Virtual machine (Jikes RVM): a research virtual machine for Java that uses two just-in-time compilers (a non-optimizing and an optimizing one)
- Soot: a Java Optimization framework
- The Scale compiler
- HotpathVM: a Java virtual machine using a trace-based just-in-time compiler
- ILDJIT: a compilation framework that targets the CIL bytecode that includes both static and dynamic compilers. ILDJIT provides a plugin-based framework for static, as well as dynamic tasks like code translations, code analysis, code optimizations, runtime instrumentation and memory management. Its plugin-based framework allows users to easily customize execution both at installation time, as well as at run-time (by dynamically loading and unloading plugins without perturbing execution). ILDJIT thus enables efficient co-design research at the architectural-boundary. Moreover, its multi-threaded design allows novel introspection of parallel compilation strategies to reduce overheads and dynamically optimize running code on today's x86 multi-core systems.
- Edison Design Group: provides production-quality front end compilers for C, C++, and Java (a number of the compilers listed on this page use front end source code from Edison Design Group). Additionally, Edison Design Group makes their proprietary software available for research uses.
See also
- Compiler
- Comparison of integrated development environments
Footnotes
References
External links
- NAG Fortran Compiler
- http://www.compunity.org/resources/compilers/index.php
- An incomplete list of C++ compilers, maintained by C++'s inventor, Bjarne Stroustrup
- Free C/C++ compilers and interpreters
- http://www.idiom.com/free-compilers/
- Compiler resources
- CCS C compiler
- MikroC C Compiler
- Persistent S-algol compiler
- ALGOL 60 compiler
- ALGOL 68 Genie compiler
- Intel buys Kuck & Associates