HOME

TheInfoList



OR:

This page is intended to list all current
compiler 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 th ...
s, compiler generators,
interpreters Interpreting is a translational activity in which one produces a first and final target-language output on the basis of a one-time exposure to an expression in a source language. The most common two modes of interpreting are simultaneous inter ...
, 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 A ...
, 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:


Source-to-source compilers

This list is incomplete. A more extensive list of source-to-source compilers can be found
here Here is an adverb that means "in, on, or at this place". It may also refer to: Software * Here Technologies, a mapping company * Here WeGo (formerly Here Maps), a mobile app and map website by Here Television * Here TV (formerly "here!"), a ...
.


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


Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's most ...
compilers


Lisaac compiler


Pascal compilers


Perl Interpreters


PHP compilers


PL/I compilers


Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pr ...
compilers and interpreters


Rust compilers



Smalltalk compilers


Tcl Interpreters


DCL 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 instr ...
compilers


Open source compilers

Production quality,
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
compilers. * Amsterdam Compiler Kit (ACK) , Pascal, Modula-2, Occam, and BASIC nix-like* Clang C/C++/Objective-C Compiler * AMD Optimizing C/C++ Compiler *
FreeBASIC FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer m ...
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)* GCC: C, C++ (G++), Java ( GCJ), Ada (
GNAT A gnat () is any of many species of tiny flying insects in the dipterid suborder Nematocera, especially those in the families Mycetophilidae, Anisopodidae and Sciaridae. They can be both biting and non-biting. Most often they fly in large num ...
), Objective-C, Objective-C++, Fortran (
GFortran GNU Fortran or GFortran is the GNU Fortran compiler, which is part of the GNU Compiler Collection (GCC). It includes full support for the Fortran 95 language, and supports large parts of the Fortran 2003 and Fortran 2008 standards. It supports ...
), 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 inux, SPARC, MIPS* 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 S ...
nix-like*
Open Watcom Watcom C/C++ (currently Open Watcom C/C++) is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was disc ...
, C++, and Fortran indows and OS/2, Linux/FreeBSD WIP* TenDRA /C++ nix-like*
Tiny C Compiler The Tiny C Compiler (a.k.a. TCC, tCc, or TinyCC) is an x86, X86-64 and ARM processor C compiler initially written by Fabrice Bellard. It is designed to work for slow computers with little disk space (e.g. on rescue disks). Windows operating syst ...
inux, Windows*
Open64 Open64 is a free, open-source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called ''MIPSPro''. It was initially released in 2000 as GNU GPL softwar ...
, supported by AMD on Linux. *
XPL XPL is a programming language based on PL/I, a portable one-pass compiler written in its own language, and a parser generator tool for easily implementing similar compilers for other languages. XPL was designed in 1967 as a way to teach compiler d ...
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 * SWIFT, ...
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 Open64 is a free, open-source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called ''MIPSPro''. It was initially released in 2000 as GNU GPL softwar ...
: A popular research compiler. Open64 merges the open source changes from the PathScale compiler mentioned. *
ROSE A rose is either a woody perennial flowering plant of the genus ''Rosa'' (), in the family Rosaceae (), or the flower it bears. There are over three hundred species and tens of thousands of cultivars. They form a group of plants that can be ...
: 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 federal research facility in Livermore, California, United States. The lab was originally established as the University of California Radiation Laboratory, Livermore Branch in 1952 in response ...
*
MILEPOST GCC {{Infobox software , name = MILEPOST GCC , logo = , developer = cTuning foundation / MILEPOST consortium , released = 2009 , latest release version = 4.4.x , latest release dat ...
: interactive plugin-based open-source research compiler that combines the strength of GCC and the flexibility of the common
Interactive Compilation Interface The Interactive Compilation Interface (ICI) is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current black-box compilers into collaborative modular interactive toolsets. It was developed b ...
that transforms production compilers into interactive research toolsets. *
Interactive Compilation Interface The Interactive Compilation Interface (ICI) is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current black-box compilers into collaborative modular interactive toolsets. It was developed b ...
- 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 The Edison Design Group (EDG) is a company that makes compiler front ends (preprocessing and parsing) for C++ and formerly Java and Fortran. Their front ends are widely used in commercially available compilers and code analysis tools. Users inclu ...
: 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 The Edison Design Group (EDG) is a company that makes compiler front ends (preprocessing and parsing) for C++ and formerly Java and Fortran. Their front ends are widely used in commercially available compilers and code analysis tools. Users inclu ...
). Additionally,
Edison Design Group The Edison Design Group (EDG) is a company that makes compiler front ends (preprocessing and parsing) for C++ and formerly Java and Fortran. Their front ends are widely used in commercially available compilers and code analysis tools. Users inclu ...
makes their proprietary software available for research uses.


See also

*
Compiler 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 th ...
*
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 alphabetical order of the supported language. ActionScript ...
*
List of command-line interpreters In computing, a command-line interpreter, or command language interpreter, is a blanket term for a certain class of programs designed to read lines of text entered by a user, thus implementing a command-line interface. Operating system shells ...


Footnotes


References

{{Reflist, 30em


External links


List of C++ compilers
maintained by C++'s inventor,
Bjarne Stroustrup Bjarne Stroustrup (; ; born 30 December 1950) is a Danish computer scientist, most notable for the invention and development of the C++ programming language. As of July 2022, Stroustrup is a professor of Computer Science at Columbia Universit ...

List of free C/C++ compilers and interpreters

List of compiler resources
*
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 that ...
*