HOME

TheInfoList



OR:

This page is intended to list all current
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s, compiler generators,
interpreters Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
, translators, tool foundations,
assemblers Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of ...
, automatable command line interfaces ( shells), etc.


Ada compilers


ALGOL 60 compilers


ALGOL 68 compilers

cf. ALGOL 68s specification and implementation timeline


Assemblers (Intel *86)


Assemblers (Motorola 68*)


Assemblers (Zilog Z80)


Assemblers (other)


BASIC compilers


BASIC interpreters


C compilers

Notes:


C++ compilers

Notes:


C# compilers


COBOL compilers


Common Lisp compilers


D compilers


DIBOL/DBL compilers


ECMAScript interpreters


Eiffel compilers


Forth compilers and interpreters


Fortran compilers


Go compilers


Haskell compilers


ISLISP compilers and interpreters


Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
compilers


Lisaac compiler


Pascal compilers


Perl interpreters


PHP compilers


PL/I compilers


Python compilers and interpreters


Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
compilers and interpreters


Rust compilers



Smalltalk compilers


Tcl interpreters


Command language interpreters


Rexx interpreters


CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
compilers


Source-to-source compilers

This list is incomplete. A more extensive list of source-to-source compilers can be found
here Here may refer to: Music * ''Here'' (Adrian Belew album), 1994 * ''Here'' (Alicia Keys album), 2016 * ''Here'' (Cal Tjader album), 1979 * ''Here'' (Edward Sharpe album), 2012 * ''Here'' (Idina Menzel album), 2004 * ''Here'' (Merzbow album), ...
.


Free/libre and open source compilers

Production quality, free/libre and open source compilers. *
Amsterdam Compiler Kit The Amsterdam Compiler Kit (ACK) is a retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, since 2005 maintained by David Given. It has frontends for the following programming languages: C, Pascal, Modula ...
(ACK) , Pascal, Modula-2, Occam, and BASIC nix-like* Clang C/C++/Objective-C Compiler * AMD Optimizing C/C++ Compiler *
FreeBASIC FreeBASIC is a FOSS, free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU General Public License, GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox ...
asic An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
OS/Linux/Windows*
Free Pascal Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
ascal OS/Linux/Windows(32/64/CE)/MacOS/NDS/GBA/..(and many more)*
GNU Compiler Collection The GNU Compiler Collection (GCC) is a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
(GCC): C (gcc), C++ (g++),
Objective-C Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was ...
,
Objective-C++ Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C (programming language), C programming language. Originally developed by Brad Cox and Tom Love in ...
, Fortran ( gfortran), Ada (
GNAT GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection (GCC). It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83. Originally its ...
), Go (gccgo), D (gdc, since 9.1),
Modula-2 Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
(gm2, since 13.1),
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
(gcobol, since 15.1) and
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
(gccrs, since 15.1) also available, but not in standard are: Java ( gcj), ALGOL 68, Pascal ( gpc), Mercury, Modula-3, VHDL and PL/I; Linux, the BSDs, macOS, NeXTSTEP, Windows and BeOS, among others * Local C compiler inux, SPARC, MIPS, window* The LLVM Compiler Infrastructure which is also frequently used for research *
Portable C Compiler The Portable C Compiler (also known as pcc or sometimes pccm - portable C compiler machine) is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan ...
nix-like* Open Watcom , C++, and Fortran indows and OS/2, Linux/FreeBSD WIP* TenDRA /C++ nix-like*
Tiny C Compiler The Tiny C Compiler, TCC, tCc, or TinyCC is a x86 (32-bits), X86-64 and ARM processor C compiler initially written by Fabrice Bellard. It is designed to work for slower computers with little disk space (e.g. on rescue disks). Windows operati ...
inux, Windows* Open64, supported by AMD on Linux. * XPL PL/I dialect (several systems) *
Swift Swift or SWIFT most commonly refers to: * SWIFT, an international organization facilitating transactions between banks ** SWIFT code * Swift (programming language) * Swift (bird), a family of birds It may also refer to: Organizations * SWIF ...
pple OSes, Linux, Windows (as of version 5.3)


Research compilers

Research compilers are mostly not robust or complete enough to handle real, large applications. They are used mostly for fast
prototyping A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semantics, design, electronics, and software programming. A prototype is generally used to ...
new language features and new optimizations in research areas. * Open64: A popular research compiler. Open64 merges the open source changes from the PathScale compiler mentioned. *
ROSE A rose is either a woody perennial plant, perennial flowering plant of the genus ''Rosa'' (), in the family Rosaceae (), or the flower it bears. There are over three hundred Rose species, species and Garden roses, tens of thousands of cultivar ...
: an open source compiler framework to generate source-to-source analyzers and translators for C/C++ and Fortran, developed at
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a Federally funded research and development centers, federally funded research and development center in Livermore, California, United States. Originally established in 1952, the laboratory now i ...
* 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 * Phoenix optimization and analysis framework by Microsoft * 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 In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
*
Comparison of integrated development environments The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language. ActionScript A ...
*
List of command-line interpreters This list includes notable command-line interpreters programs that interactively interpret commands entered by the user at the command-line. Operating system shells Most operating systems are accessible via a shell a command line interp ...
* List of open-source compilers and assemblers


Footnotes


References


External links


List of C++ compilers
maintained by C++'s inventor,
Bjarne Stroustrup Bjarne Stroustrup (; ; born 30 December 1950) is a Danish computer scientist, known for the development of the C++ programming language. He led the Large-scale Programming Research department at Bell Labs, served as a professor of computer sci ...

List of free C/C++ compilers and interpreters

List of compiler resources
{{DEFAULTSORT:Compilers *
Compilers In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
*