Skip to content
Category

Free and open source compilers

page 1
Go
programming language developed by Google and the open-source community
Q575650
memory-safe programming language without garbage collection
GNU Compiler Collection
optimizing compiler produced by the GNU Project, key component of the GNU tool-chain and standard compiler for most projects related to GNU and the Linux kernel.
Smalltalk
Smalltalk is a purely object-oriented programming language that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learning Research Group (LRG) scientists, including Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, and Scott Wallace.
Scala
general-purpose programming language
D
multi-paradigm system programming language
Cygwin
Cygwin ( ) is a free and open-source Unix-like environment and command-line interface (CLI) for Microsoft Windows. The project also provides a software repository containing open-source packages. Cygwin allows source code for Unix-like operating systems to be compiled and run on Windows. Cygwin provides native integration of Windows-based applications.
Julia
high-performance dynamic programming language
LLVM
LLVM is a set of compiler and toolchain technologies that can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. The name LLVM originally stood for Low Level Virtual Machine. However, the project has since expanded, and the name is no longer an acronym but an orphan initialism.
Free Pascal
free compiler and IDE for Pascal and ObjectPascal
FreeBASIC
Zig
programming language
Boo
programming language
Q864915
Clang () is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions. It includes a static analyzer, and several code analysis tools.
MinGW
MinGW ("Minimalist GNU for Windows"), formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications.
CPython
CPython is the reference implementation of the Python programming language. Written in C and Python, CPython is the default and most widely used implementation of the Python language.
Netwide Assembler
assembler and disassembler for the Intel x86 architecture
Racket
functional and contractual programming language, with strong, dynamic and reflective typing, derived from Scheme
Raku
member of the Perl family of programming languages
Emacs Lisp
dialect of Lisp used in GNU Emacs
HipHop Virtual Machine
HipHop Virtual Machine (HHVM) is an open-source virtual machine based on just-in-time (JIT) compilation that serves as an execution engine for the Hack programming language. By using the principle of JIT compilation, Hack code is first transformed into intermediate HipHop bytecode (HHBC), which is then dynamically translated into x86-64 machine code, optimized, and natively executed. This contrasts with PHP's usual interpreted execution, in which the Zend Engine transforms PHP source code into opcodes that serve as a form of bytecode, and executes the opcodes directly on the Zend Engine's virt
GNU assembler
GNU assembler, part of binutils
Limbo
programming language
Glasgow Haskell Compiler
compiler for the Haskell programming language
Self
programming language
HipHop for PHP
set of alternative PHP implementations developed by Facebook
Clean
programming language
Crystal
programming language
GNU Compiler for Java
former GNU Compiler for the Jamsjava proknxgramming language
GNU Fortran
Fortran compiler
Tiny C Compiler
fast, small and free C compiler
Portable C Compiler
C compiler
QB64
QB64 (originally QB32) is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a transpiler to C++, which is integrated with a C++ compiler to provide compilation via C++ code and GCC optimization.
Agda
dependently typed, purely functional programming language and proof assistant
DJGPP
'''DJ's GNU Programming Platform (DJGPP) is a software development suite for Intel 80386-level and above, IBM PC compatibles which supports DOS operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the GNU Compiler Collection (GCC), and mostly GNU utilities such as Bash, find, tar, ls, GAWK, sed, and ld to DOS Protected Mode Interface (DPMI). Supported languages include C, C++, Objective-C/C++, Ada, Fortran, and Pascal. It was originally called DJGCC''', and was later renamed from DJGCC to DJGPP when C++ support was added, though the "PP" was said to sta
Idris
purely functional programming language
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 name was an acronym that stood for GNU NYU Ada Translator, but that name no longer applies. The front-end and run-time are written in Ada.
Pharo
Pharo is a cross-platform implementation of the classic Smalltalk-80 programming language and runtime system. It is based on the OpenSmalltalk virtual machine (VM) named Cog, which evaluates a dynamic, reflective, and object-oriented programming language with a syntax closely resembling Smalltalk-80. It is free and open-source software, released under a mix of MIT, and Apache 2 licenses.
SWI-Prolog
SWI-Prolog is a free implementation of the programming language Prolog, commonly used for teaching and semantic web applications. It has a rich set of features, libraries for constraint logic programming, multithreading, unit testing, GUI, interfacing to Java, ODBC and others, literate programming, a web server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger and GUI profiler), and extensive documentation.
GNU Common Lisp
implementation of Common Lisp
Small Device C Compiler
open source, partially retargetable C compiler for microcontrollers
V
General-purpose programming language inspired by Go, Kotlin, Oberon, Python, Rust, and Swift
GNU Prolog
general-purpose implementation of the Prolog language
Open64
Open64 is a free, open-source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for SGI's MIPS processors, called MIPSPro. It was initially released in 2000 as GNU GPL software under the name Pro64. The following year, University of Delaware adopted the project and renamed the compiler to Open64. It now mostly serves as a research platform for compiler and computer architecture research groups. Open64 supports Fortran 77/95 and C/C++, as well as the shared memory programming model OpenMP. It can conduct high-quality interprocedural
Seed7
Seed7 is an extensible general-purpose programming language designed by Thomas Mertes. It is syntactically similar to Pascal and Ada. Along with many other features, it provides an extension mechanism. Seed7 supports introducing new syntax elements and their semantics into the language, and allows new language constructs to be defined and written in Seed7. For example, programmers can introduce syntax and semantics of new statements and user defined operator symbols. The implementation of Seed7 differs significantly from that of languages with hard-coded syntax and semantics.
Jikes
Jikes is an open-source Java compiler written in C++. It is no longer being updated.
CHICKEN
Scheme-based programming language implementation
Red
programming language
Amsterdam Compiler Kit
one of the first portable compilation systems designed to support multiple source languages and target platforms
Steel Bank Common Lisp
Free implementation Common Lisp (programming language)
GnuCOBOL
GnuCOBOL (formerly known as OpenCOBOL, and briefly as GNU Cobol) is a free implementation of the COBOL programming language that is part of the GNU project. GnuCOBOL translates the COBOL code into C and then compiles it using the native C compiler.
CMU Common Lisp
free Common Lisp implementation
Ragel
Ragel (IPA: ) is a finite-state machine compiler and a parser generator. Initially Ragel supported output for C, C++ and Assembly source code, later expanded to support several other languages including Objective-C, D, Go, Ruby, and Java. Additional language support is also in development. It supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation.
UWIN
UWIN is a computer software package created by David Korn which allows programs written for the operating system Unix to be built and run on Microsoft Windows with few, if any, changes. Some of the software development was subcontracted to Wipro, India. References, correct or not, to the software as U/Win and AT&T Unix for Windows can be found in some cases, especially from the early days of its existence.
IL2CPU
IL2CPU (IL To CPU) is an ahead-of-time (AOT) compiler for .NET that is written using one of its Common Intermediate Language compliant languages (C#). It translates Common Intermediate Language to bare metal machine code. IL2CPU is the primary compilation component of the Cosmos Project, and is developed by the same team.
ATS
programming language
Reason
syntax extension and toolchain for OCaml
Pugs
Haskell implementation of Perl 6
Pyrex
programming language to aid in creating Python modules