List of compilers
This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces (shells) &c
Ada compilers
ALGOL compilers
Assemblers (Intel *86)
Assemblers (Motorola 68*)
Assembler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
Assembler | Motorola | Yes | No | No | Proprietary |
Assemblers (Zilog Z80)
Assembler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
Zeus Assembler | Neil Mottershead, Simon Brattel | No | No | Yes | Proprietary |
Assemblers (Other)
BASIC compilers
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
BaCon | Peter van Eerten | No | Yes | Linux, OSX, Android | Open Source |
BAIL | Studio 403 | No | Yes | No | Open Source |
BBC Basic for Windows | Richard T Russel | Yes | No | No | Shareware |
BlitzMax | Blitz Research | Yes | Yes | No | Proprietary |
Chipmunk Basic | Ronald H. Nicholson, Jr. | Yes | Yes | Yes | Freeware |
CoolBasic | Spywave | Yes | No | No | Freeware |
DarkBASIC | The Game Creators | Yes | No | No | Proprietary |
DoyleSoft BASIC | DoyleSoft | Yes | No | No | Open Source |
FreeBASIC | FreeBASIC Development Team | Yes | Yes | DOS | GPL |
Gambas | Benoît Minisini | No | Yes | No | GPL |
GLBasic | Dream Design Entertainment | Yes | Yes | Linux, OSX, iOS, WinCE, Android, WebOS, Pandora | Proprietary |
Just BASIC | Shoptalk Systems | Yes | No | No | Freeware |
KBasic | KBasic Software | Yes | Yes | No | Open source |
Liberty BASIC | Shoptalk Systems | Yes | No | No | Proprietary |
MMBasic | Geoff Graham | Yes | No | Maximite,PIC32 | Proprietary |
NBasic | SylvaWare | Yes | No | No | Freeware |
PowerBASIC | PowerBASIC, Inc. | Yes | No | DOS | Proprietary |
PureBasic | Fantaisie Software | Yes | Yes | Yes | Proprietary |
QB64 | Galleon | Yes | Yes | Yes | LGPL |
QuickBASIC | Microsoft | No | No | DOS | Proprietary |
RapidQ | William Yu | Yes | Yes | Yes | Freeware |
Realbasic | Real Software | Yes | Yes | Yes | Proprietary |
True BASIC | True BASIC | Yes | No | No | Proprietary |
Visual Basic | Microsoft | Yes | No | DOS | Proprietary |
X11 Basic | Markus Hoffmann | Yes | Yes | Android, ATARI ST, TomTom, Raspberry Pi | GPL |
BASIC interpreters
Batch compilers
C compilers
Compiler |
Author |
Microsoft Windows |
Unix-like |
Other OSs |
License type |
AMPC | Axiomatic Solutions Sdn Bhd | No | Yes | Yes | Proprietary |
Aztec C | Manx Software Systems | No | No | CP/M, CP/M-86, MS-DOS, Classic Mac OS | Proprietary |
Amsterdam Compiler Kit | Andrew Tanenbaum and Ceriel Jacobs | No | Yes | Yes | BSD |
CCS C Compiler | CCS, Inc. | Yes | Yes | Yes | Proprietary |
Ch | SoftIntegration, Inc | Yes | Mac OS X, FreeBSD, Linux, Solaris, HP-UX, AIX, Qnx | Yes | Freeware |
Clang | LLVM Project | Yes | Yes | Yes | BSD |
CodeWarrior | Metrowerks | Yes | Yes | Classic Mac OS | Proprietary |
CParser/libFirm | Matthias Braun, Christoph Mallon and Michael Beck | Yes | Yes | Yes | GPL |
DeSmet-C | C-Ware Corporation | No | No | MS-DOS | GPL |
Digital Mars | Digital Mars | Yes | No | No | Proprietary |
Dignus Systems/C | Dignus, L.L.C | Yes (host) | Yes (host) | Z/Architecture | Proprietary |
Edison Design Group | Edison Design Group | Yes | Yes | Yes | Proprietary |
GCC C | GNU Project | MinGW, Cygwin, Strawberry | Yes | IBM mainframe, AmigaOS, VAX/VMS, RTEMS | GPL |
Hippo-C | Hippopotamus Software, Haba Systems | No | No | Classic Mac OS, Atari ST | Proprietary |
IAR C/C++ Compilers | IAR Systems | Yes | No | No | Proprietary |
Interactive C | KISS Institute for Practical Robotics | Yes | Unix, Mac OS X, Linux, IRIX, Solaris, SunOS | No | Freeware |
LabWindows/CVI | National Instruments | Yes | Yes | Yes | Proprietary |
Lattice C | Lifeboat Associates | No | Yes | MS-DOS, OS/2, Commodore, Amiga, Atari ST, Sinclair QL | Proprietary |
lcc | Chris Fraser and David Hanson | Yes | Yes | Yes | Freeware (source code available for non-commercial use) |
LuxCC | Luciano Gonzalez | No | Yes | No | BSD |
Mac C | Consulair | No | No | Classic Mac OS | Proprietary |
Mark Williams C | Mark Williams Company | Yes | Coherent | Yes | Proprietary |
Micro-C Compiler (mcc) | Dunfield Development Services | No | No | MS-DOS | Freeware (source code available) |
Micro C Compiler (mcc) | Roshan Singh | Yes | Yes | Yes | Freeware (source code available for non-commercial use) |
MikroC Compiler | Mikroelektronika | Yes | Yes | Yes | Proprietary |
MPW C | Apple | No | No | Classic Mac OS | Proprietary |
Neatcc | Ali Gholami Rudi | No | Yes | No | BSD |
Nwcc | Nils Weller | No | Yes | No | BSD |
Open64 | AMD SGI Google HP Intel Nvidia PathScale Tsinghua University and others | No | Yes | Yes | GPL |
Open Watcom | Sybase and SciTech Software | Yes | Linux | OS/2, MS-DOS | Sybase Open Watcom Public License |
Orange C compiler | David Lindauer | Yes | No | MS-DOS | BSD |
Pelles C | Pelle Orinius | Yes | No | No | Freeware |
PGCC | The Portland Group | Yes | Yes | Unknown | Proprietary |
Portable C Compiler | Stephen C. Johnson, Anders Magnusson and others | Yes | Yes | Yes | BSD |
Power C | Mix Software | No | No | Yes | Proprietary |
QuickC | Microsoft | Yes | No | No | Proprietary |
RCC (RCOR C Compiler) | Rodrigo Caetano Rocha (rcor) | Yes | Yes | No | GPL |
RECC (Robert Elder Compiler Collection) | Robert Elder | Yes | Yes | No | Proprietary |
Ritchie C Compiler (PDP-11) | Dennis Ritchie and John Reiser; converted to cross-compiler by Doug Gwyn | Yes | Yes | Yes | Freeware |
SAS/C | SAS Institute | Yes | Yes | Yes IBM mainframe, AmigaOS, 68K, 88K | Proprietary |
SCORE C (tcc) | DDC-I | Yes | Yes | Yes | Proprietary |
Small-C | Ron Caine, James E. Hendrix, Byte magazine | Yes | Yes | CP/M, MS-DOS | Public Domain |
Smaller C | Alexey Frunze | Yes | Linux, RetroBSD | MS-DOS | BSD |
Small Device C Compiler | Sandeep Dutta and others | Yes | Yes | Unknown | GPL |
SubC | Nils M Holm | MinGW | FreeBSD, NetBSD, Linux | MS-DOS | Public Domain |
THINK C, Lightspeed C | THINK Technologies | No | No | Classic Mac OS | Proprietary |
Tiny C Compiler | Fabrice Bellard | Yes | Yes | No | LGPL |
(Borland) Turbo C | Embarcadero | Yes | No | Yes | Proprietary - V 2.01 freely available |
ups debugger (includes C interpreter) | Tom Hughes, Ian Edwards, and others | No | Yes | Solaris, SunOS | GPL |
VBCC | Volker Barthelmann | Yes | Yes | Yes | Freeware (source code available, modification not allowed) |
Virtual-C IDE | Dieter Pawelczak | Yes | Mac OS X | No | Freeware (for non-commercial use) |
Visual C++ Express | Microsoft | Yes | No | No | Freeware |
Wind River (Diab) Compiler | Wind River Systems | Yes | Yes | Yes | Proprietary |
XL C | IBM | No | AIX, Linux | No | Proprietary |
MCP Compiler | Unisys | No | No | MCP | Proprietary |
Source-to-source compilers
This list is incomplete. A more extensive list of source-to-source compilers can be found here.
C++ compilers
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
IDE? |
Standard conformance |
C++11 |
C++14 |
C++17 |
C++Builder |
Embarcadero (CodeGear) |
Yes |
OS X, iOS[2] |
No |
Proprietary |
Yes |
Yes/No |
Yes/No |
Yes/No |
(Supported via Clang.[3]) |
Turbo C++ Explorer |
Embarcadero (CodeGear) |
Yes |
No |
No |
Freeware |
Yes |
? |
? |
? |
C++ Compiler |
Embarcadero (CodeGear) |
Yes |
No |
No |
Freeware |
No |
? |
? |
? |
CINT |
CERN |
Yes |
Yes |
BeBox, DOS, Convex, etc. |
X11/MIT |
Yes |
? |
? |
? |
Borland C++ | Borland (CodeGear) | Yes | No | DOS | Proprietary | Yes | No | No | No |
Turbo C++ for DOS | Borland (CodeGear) | No | No | DOS | Proprietary | Yes | No | No | No |
Clang | LLVM Project | Yes | Yes | Yes | BSD-like | Xcode, QtCreator (optional) | Yes | Yes | Yes |
CodeWarrior | Metrowerks | Yes | Yes | Yes | Freeware | Yes | ? | ? | ? |
Comeau C/C++ | Comeau Computing | Yes | Yes | Yes | Proprietary | No | No | No | No |
CoSy compiler development system | ACE Associated Compiler Experts | Yes | Yes | No | Proprietary | No | ? | ? | ? |
Digital Mars | Digital Mars | Yes | No | DOS | Proprietary | No | ? | ? | ? |
EDGE ARM C/C++ | Mentor Graphics | Yes | Yes | Yes | Proprietary | Yes | ? | ? | ? |
Edison Design Group | Edison Design Group | Yes | Yes | Yes | Proprietary | No | Yes | Yes | ? |
GCC |
GNU Project |
MinGW, Cygwin |
Yes |
Yes |
GPLv3 |
Xcode, QtCreator, Kdevelop, Eclipse, NetBeans, Code::Blocks, Geany |
Yes[4] |
Yes |
Partial |
HP aC++ | Hewlett-Packard | No | Yes | No | Proprietary | No | ? | ? | ? |
IAR C/C++ Compilers | IAR Systems | Yes | No | No | Proprietary | Yes | No | No | No |
Intel C++ Compiler | Intel | Yes | Linux, OS X | No | Proprietary (Freeware for most non-commercial applications) | Yes | Partial | Partial | No |
KAI C++ Compiler | Kuck & Associates, Inc. (bought by Intel) | No | Digital Unix, HP-UX, Linux for Intel x86, SGI Irix 5.3,SGI Irix 6.x, Solaris 2.x | No | Proprietary | Unknown | ? | ? | ? |
Microtec | Mentor Graphics | Yes | Yes | Yes | Proprietary | Yes | ? | ? | ? |
MULTI | Green Hills Software | Yes | Yes | Yes | Proprietary | Yes | ? | ? | ? |
Open Watcom | Sybase | Yes | Yes | Yes | Sybase Open Watcom Public License | Yes | No | No | No |
Open64 | HP, AMD, Tsinghua University and others | No | Yes | No | Modified GPLv2 | No | ? | ? | ? |
PathScale | PathScale and others | No | Yes | Yes | Mixed (Proprietary&Open Source&GNU General Public License) | No | ? | ? | ? |
PGCPP | The Portland Group | Yes | Yes | ? | Proprietary | Yes | ? | ? | ? |
ProDev WorkShop | Silicon Graphics | No | No | Yes | Proprietary | Yes | ? | ? | ? |
RealView C/C++ Compiler (armcc) | Keil (ARM Limited) | Yes | Yes | No | Proprietary | Yes | ? | ? | ? |
Salford C++ Compiler | Silverfrost | Yes | No | No | Proprietary | Yes | ? | ? | ? |
SAS/C C++ | SAS Institute | Windows NT/95 | AIX, Solaris/SunOS, Linux | IBM mainframe, DOS | Proprietary | No | ? | ? | ? |
SCORE C++ (tpp) | DDC-I | Yes | Yes | Yes | Proprietary | Yes | No | No | No |
Systems/C,C++ | Dignus | Yes | Linux | No | Proprietary | Yes | ? | ? | ? |
Solaris Studio | Oracle | No | Linux, Solaris | No | Proprietary | Yes | Yes | ? | ? |
Solaris Studio Express | Oracle | No | Linux, Solaris | No | Freeware | Yes | Yes | ? | ? |
TenDRA | TenDRA Project | No | Yes | No | BSD License | No | ? | ? | ? |
VectorC | Codeplay | Yes | No | No | Proprietary | No | ? | ? | ? |
Visual C++ | Microsoft | Yes | No | No | Proprietary | Yes | Incomplete[5] | Incomplete | Incomplete |
VisualAge C++ | IBM | Yes | AIX, Linux | OS/2 | Proprietary | Yes | ? | ? | ? |
XL C/C++ | IBM | No | Linux (POWER and Cell) and AIX | BlueGene and VM | Proprietary | Eclipse | Yes | ? | ? |
Wind River (Diab) Compiler | Wind River Systems | Yes | Yes | Yes | Proprietary | Yes | ? | ? | ? |
C# compilers
COBOL compilers
LOGO compilers
Liogo NET Compiler
http://liogo.sourceforge.net/
The Real LOGO Compiler
http://lhogho.sourceforge.net/
D compilers
DIBOL/DBL compilers
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
IDE? |
Synergy DBL[7][8][9] | Synergex | Yes | Yes | Yes | Proprietary | Yes |
ECMAScript interpreters
See List of ECMAScript engines.
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
IDE? |
EiffelStudio | Eiffel Software / Community developed (sourceforge) | Yes | Yes | Yes | Dual GPL / Proprietary | Yes |
Felix compilers
Compiler |
Author |
Unix-like |
Other OSs |
License type |
IDE? |
Felix | John Skaller | Yes | Yes | Open Source | No |
Fortran compilers
Go compilers
Haskell compilers
HaskellWiki maintains a list of Haskell implementations. Many of them are compilers.
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
Actively maintained? |
HBC | Lennart Augustsson Thomas Johnsson | ? | Yes | No | Open source | No |
GHC | GHC | Yes | Yes | No | Open source | Yes |
NHC | Niklas Röjemo | Yes | Yes | No | Open source | No |
YHC | YHC | Yes | Yes | No | Open source | No |
JHC | John Meacham | Yes | Yes | No | Open source | Yes |
Java compilers
Pascal compilers
Perl Compilers
Compiler |
Author |
Windows |
Unix-like |
Other OSs |
License type |
Perl compiler | Wall/Perl developers | Yes | Yes | Yes | Free; part of default functionality of Perl and Unix |
Perl Interpreters
Interpreter |
Author |
Windows |
Unix-like |
Other OSs |
License type |
ActivePerl interpreter | ActiveState | Yes | Yes | Yes | Free |
Perl interpreter | Wall/Perl developers | Yes | Yes | Yes | Free; part of default functionality of Perl and Unix |
PL/I compilers
Scheme compilers and interpreters
Compiler |
Author |
Target |
Windows |
Unix-like |
Other OSs |
License type |
IDE? |
Bigloo | Manuel Serrano | native, bytecode | Yes | Yes | ? | GPL (compiler) and LGPL (runtime) | No |
Chez Scheme | Cadence Research Systems | native | Yes | Yes | No | Proprietary | No |
Chicken Scheme | The CHICKEN Team | C | Yes | Yes | ? | BSD | No |
Common Larceny | William Clinger, Lars Hansen | CLI | Yes | ? | ? | Larceny License[12] | No |
Gambit | Marc Feeley | C | Yes | Yes | ? | LGPL | No |
GNU Guile | GNU Project | bytecode | Yes | Yes | ? | LGPL | No |
Ikarus Scheme | Abdulaziz Ghuloum | native | Yes | Yes | ? | GPL | No |
IronScheme | Llewellyn Pritchard | CLI | Yes | Yes | ? | Ms-PL | No |
JScheme | Ken Anderson, Tim Hickey, Peter Norvig | bytecode | Java | Java | Java | zlib License | No |
Kawa | Per Bothner | bytecode | Java | Java | Java | MIT | No |
Larceny | William Clinger, Lars Hansen | native | Yes | Yes | ? | Larceny License[12] | No |
MIT/GNU Scheme | GNU Project | native | Yes | Yes | ? | GPL | No |
Owl Lisp | Aki Helin | C | Yes | Yes | ? | MIT | No |
Oxygen Scheme | ? | ? | ? | ? | ? | ? | No |
Petit Larceny | William Clinger, Lars Hansen | C | ? | Yes | ? | Larceny License[12] | No |
PVTS | David Pilo | bytecode | Java | Java | Java | GPL | No |
Racket | PLT Inc. | bytecode + JIT | Yes | Yes | ? | LGPL | DrRacket |
RScheme | Donovan Kolbly | C, bytecode | ? | Yes | ? | Open source | No |
#S | ? | CLI | ? | ? | ? | ? | No |
Scheme 48 | Richard Kelsey, Jonathan Rees | C, bytecode | Yes | Yes | ? | BSD | No |
SCM | Aubrey Jaffer | C | Yes | Yes | AmigaOS, Atari ST, Classic Mac OS, MS-DOS, OS/2, NOS/VE, OpenVMS | LGPL | No |
SISC | Scott G. Miller, Matthias Radestock | bytecode | Java | Java | Java | GPL and MPL | No |
Stalin | Jeffrey Mark Siskind | C | ? | Yes | ? | LGPL | No |
Interpreter |
Author |
Windows |
Unix-like |
Other OSs |
License type |
IDE? |
Elk Scheme | Oliver Laumann, Sam Hocevar | Yes | Yes | ? | Open source | No |
Gauche | Shiro Kawai | Yes | Yes | ? | BSD | No |
Petite Chez Scheme | Cadence Research Systems | Yes | Yes | No | Freeware | No |
Smalltalk compilers
Tcl Interpreters
VMS Interpreters
Interpreter |
Author |
Windows |
Unix-like |
Other OSs |
License type |
Default VMS | Digital | No | No | Yes VAX VMS | Proprietary |
Accelr8 VMS Lite | Accelr8 | Yes | ? | Yes | Proprietary |
PCDCL | PCDCL Developers | Yes | No | No | Proprietary |
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
- 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 compiler framework: 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[13]). Additionally, Edison Design Group makes their proprietary software available for research uses.[14]
See also
References
External links