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 interpretersList 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 ...
*