GCC, the GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). GCC development is a part of the GNU Project, aiming to improve the compiler used in the GNU system including the GNU/Linux variant. The GCC development effort uses an open development environment and supports many other platforms in order to foster a world-class optimizing compiler, to attract a larger team of developers, to ensure that GCC and the GNU system work on multiple architectures and diverse environments, and to more thoroughly test and extend the features of GCC. Read more hot
Intel C++ Compiler
(commercial) The Intel® C++ Compiler for Linux* delivers rapid development and winning performance for the full range of Intel® processor-based platforms. This compiler product automatically optimizes and parallelizes software to take best advantage of multi-core Intel® processors. This compiler is also available as a separate product that incorporates Cluster OpenMP*. The Intel C++ Compiler for Linux with Cluster OpenMP provides all the functionality of the Intel C++ Compiler for Linux, plus a simple means of extending OpenMP parallelism to 64-bit Intel® architecture-based clusters. Read more hot
4tH compiler is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler. 4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports over 85% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, recursion, etc. It comes with an RPN calculator, line editor, compiler, decompiler, C-source generators, and a virtual machine.
6502asm is a simple 2-pass assembler capable of producing binary files for the 6502, a CPU with a simple and orthogonal instruction set.
Absoft FORTRAN 77
(commercial) Absoft FORTRAN 77 is a globally optimizing, ANSI X3.9-1978/ISO 1539-1980 compiler.
(commercial) ACUCOBOL-85 is an ANSI-85 COBOL compiler.
Agora BASIC is a BASIC compiler for POSIX systems. It aims to implement all of Standard Full BASIC (ANSI INCITS 113-1987), with useful but compatible extensions. Agora BASIC specifically does not aim to be a "modern" BASIC dialect.
amforth is a compact forth interpreter and compiler. It is implemented in assembly language and forth itself. It is an interactive system runnung completly on the controller.
ASEM-51 is a two-pass macro assembler for the Intel MCS-51 family of microcontrollers. The ASEM-51 assembly language is based on the standard Intel syntax, and implements conditional assembly, macros, and include file processing. The assembler can output object code in Intel-HEX or Intel OMF-51 format as well as a detailed list file.
ACC (AspeCt-oriented C) enables aspect-oriented software development with the C programming language. AspeCt-oriented C consists of a compiler that translates code written in AspeCt-oriented C into ANSI C code. This code can be compiled by any ANSI C compliant compiler.
Bas is an interpreter for the programming language BASIC, written in ANSI C for UNIX systems. Bas offers many ANSI BASIC statements for structured programming, such as procedures, local variables and various loop types. Further there are matrix operations, automatic LIST indentation and many statements and functions found in specific classic dialects. Line numbers are not required.
Bruce Evans's C compiler with additonal code, including a reasonable C library for ELKS DOS or standalone
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. It is based on a C compiler that was originally adapted for the Atari 8bit computers by John R. Dunning. The original C compiler is a Small C descendant but has several extensions, and some of the limits of the original Small C compiler are gone.
Compaq C compiler
(commercial) Compaq C compiler provides the same state-of-the-art optimization technology for the Alpha processor as offered by the very latest Compaq compilers on Compaq's proprietary Alpha platforms, and offers some amount of gcc compatibility in both language features and command line processing.
CTrans is a port of the ELLA A68ToC compiler (CTrans) for Debian Linux.
D is a high-level language derived from C and C++ but is not backwards-compatible with either.
ECMA-55 Minimal BASIC
This software is a compiler for Minimal BASIC as specified by the ECMA-55 Minimal BASIC (81KB, updated) standard from the ECMA International organization (formerly known as the European Computer Manufacturers Association).
EKOPath Compiler Suite
The PathScale EKOPath Compiler Suite offers programmers a rich set of tools and one of the world's most sophisticated optimization infrastructures to maximize program performance on any Intel® 64 or AMD64 platform supporting Intel® MMX?, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AMD SSE4A and AVX.
Ficl is a complete programming language interpreter designed to be embedded into other systems (including firmware based ones) as a command, macro, and development prototype language. Ficl syntax is based on ANS Forth and the code is ANSI C.
FLAT Assembler is an assembler that supports extended memory, 8086- 80486/Pentium/MMX/SSE/SSE2 instructions, 16-bit and 32-bit code, macro instructions, code optimization, and binary, MZ, PE, and COFF output formats.
Free Pascal Compiler
Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal compiler. It is available for different processors: Intel x86, Amd64/x86_64, PowerPC, Sparc. The discontinued 1.0 version also supports the Motorola 680x0. The following operating systems are supported: Linux, FreeBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, OS/2, Netware (libc and classic) and MorphOS. Read more
FreeBASIC is a 32-bit compiler with a syntax that is as compatible as possible with MS-QuickBASIC (including the GFX statements), but that adds new features such as pointers, unsigned data types, inline-assembly, a pre-processor, and many others. Read more
The G21 package collects the free source code for the Analog Devices GCC-based C compilers for their 21k (Sharc) and 21xx series DSPs. These compilers are all based on the GCC version 2.3.3.
The goal of the g95 project is to create a free, open source Fortran 95 compiler. Read more
The GCC UPC toolset provides a compilation and execution environment for programs written in the UPC (Unified Parallel C) language. The GCC UPC compiler extends the capabilities of the GNU GCC compiler. The GCC UPC compiler is implemented as a C Language dialect translator, in a fashion similar to the implementation of the GNU Objective C compiler.
gcc-dos creates binary packages providing cross-compilers to the Linux environment who can generate executables to other operating systems and platforms.
gcc-win allows the creation of Windows executables from a host running the Linux operating system. It uses libraries and header files from Cygwin.
GNU Cim is a compiler for the programming language Simula (except unspecified parameters to formal or virtual procedures (see the documentation for how portable code for formal procedures can be written)). It offers a class concept, separate compilation with full type checking, interface to external C routines, an application package for process simulation and a coroutine concept.
(commercial) ICC Ada is fast optimizing Ada compiler producing compact, efficient code.
(commercial) Irie Pascal is a Standard (ISO/IEC 7185) Pascal compiler and interpreter. Programs compiled with Irie Pascal run on any supported platform. The supported platforms are currently (Linux, Win95/NT, OS/2, DOS).
Lahey/Fujitsu Fortran 95
(commercial) Lahey/Fujitsu Fortran 95 is a compiler that completely conforms to Fortran 95 ISO/IEC I539-1:1997 Fortran 90 ANSI X3.198-1992 FORTRAN 77 ANSI X3.9-1978.
lcc is a retargetable compiler for ISO Standard C. It generates code for the ALPHA, SPARC, MIPS R3000, and Intel x86 and its successors.
LF95 Linux Express
(commercial) LF95 Linux Express is a full Fortran 95 optimizing compiler with quad precision, a powerful command-line debugger and on-line language reference and user's guide.
lsfcc is a compiler, of sorts, intended to produce programs suitable for use with the Linux Socket Filter out of a C-like toy language.
mary is an optimizing native code Forth compiler for Microchip PIC microcontrollers. It's an Open Source project published under the GNU license. mary requires an ANS Forth system whose cell width is at least 16 bits.
Mumps is a compiler for a subset of the Mumps language, a language used in healthcare.
NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats including Linux a.out and ELF, COFF, Microsoft 16-bit OBJ and Win32. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports Pentium, P6, MMX, 3DNow! and SSE opcodes, and has macro capability. It includes a disassembler as well.
nwcc is a small C compiler for Unix systems. It currently only generates NASM 80x86 code for FreeBSD and Linux, and doesn't feature any software development support beyond plain compilation.
OpenCOBOL is an open-source COBOL compiler. OpenCOBOL implements substantial part of the COBOL 85 and COBOL 2002 standards, as well as many extensions of the existent COBOL compilers. OpenCOBOL translates COBOL into C and compiles the translated code using GCC. You can build your COBOL programs on various platforms, including GNU/Linux, Mac OS X, and Microsoft Windows.
OrgASM Assembler is a machine code assembler for 6502 (and derivative) microprocessors. The aim of this project is to build a fast and flexible assembler that supports object code linking, inclusion of source files and macros. It will also seamlessly integrate with common programming tools like make and cpp.
P65 assembler is an assembler for the 6502 microprocessor (such as is used in the Commodore 64, Apple II, and Nintendo Entertainment System) written entirely in Perl.
Pasmo is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms. Actually can generate object code in the following formats: raw binary, Intel HEX, PRL for CP/M Plus RSX, Plus3Dos (Spectrum +3 disk) and AmsDos (Amstrad CPC disk).
PentiumGCC is a patched copy of standard GNU cc (c-compiler), which provides special optimizations for the Pentium Processor.
(commercial) The Portland Group's native parallelizing/optimizing ANSI C compiler
(commercial) The Portland Group's native parallelizing/optimizing FORTRAN 77 compiler
PL/I for GCC
A native PL/I compiler using the GNU Compiler Collection. PL/I is a third-generation procedural language suitable for a wide range of applications including system software, graphics, simulation, text processing, Web, and business applications.
PopAsm is an assembler (an assembly language compiler) designed to support the syntaxes of TASM/MASM and NASM, gathering together the best features of each of them. It is intended that it will support all instructions from Intel compatible CPUs, including MMX, 3DNow!, and SSE extensions.
QB2C is a package which makes possible execution of BASIC programs under most of the UNIX systems provided that a C compiler is available on the system. It essentially
consists of the BASIC-to-C translator (qb2c) which translates BASIC code into C code, graphics included.
SDCC is a Freeware, retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390 and the Zilog Z80 based MCUs. Work is in progress on supporting the Motorola 68HC08 as well as Microchip PIC16 and PIC18 series. The entire source code for the compiler is distributed under GPL.
SEDForth is a Forth compiler written as a SED script. It converts Forth code into subroutine threaded assembly language and Linux console applications.
sgasm is a simple generic Assembler that is easy changeable for your own vm's instruction set. It supports many types of instructions, parameter types, Offset-Jumps and so on. It is also very fast and platform independent.
TAMC is a source-to-source translator that generates Fortran routines for computation of the first-order derivatives out of Fortran routines.
Table Driven Assembler is a free portable cross assembler for any kind of assembly language. It should be possible to use it as a compiler to any target microprocessor using a table that defines the compilation process.
The Amsterdam Compiler Kit
The Amsterdam Compiler Kit is a fully-featured retargetable compiler toolchain. It supports backends for the 6500, 6800, 6805, 6809, ARM, i86, i386, i80, Z80, Z8000, 68000, 68020, 68040, Sparc, NS16032, Vax, and PDP 11 architectures and many different platforms. It supports frontends that will compile K&R C, ANSI C, Pascal, Modula 2, Fortran, Occam, and Basic. It provides a complete development environment including preprocessors, compilers, assemblers, linkers, librarian tools, and target download tools.
TinyCOBOL is a effort to develop a free COBOL compiler with basis in COBOL 85 standard. TinyCOBOL generates a GNU assembly code at output that works in IA32 platforms.
Ulm's Modula-2 System
Ulm's Modula-2 System is a software development environment for Modula-2 which runs on several UNIX systems. The system consists of a compiler which is derived from the 4-pass Lilith Modula-2 compiler of the ETH Zürich and conforms to [PIM3], a library which interfaces UNIX system-calls and provides system-independent abstractions for input and output processing and ASCII-terminal based windowing systems, a set of tools for generating and updating makefiles, debugging, and profiling, and documentation in the form of manual pages and this document.
UniSIMD assembler is a low-level macro assembler framework unified across ARM and x86 architectures. It establishes a subset of both core and SIMD instruction sets with strictly defined common API, so that application logic can be written and maintained in one place without code replication.
WLA DX is yet another macro assembler that can program the GB-Z80, Z80, 6502, 65c02, 6510, 65816, HuC6280, and SPC-700 CPUs. Included in the package there is a GB-Z80 disassembler and few converters.
X11-Basic is a non-standard Basic interpreter with full X graphic capability and some other special features. Syntax is most similar to the old GFA-Basic ATARI ST implementation.
Z80-ASM is a compiler of the Z80 CPU assembler. It runs under DO$ and Linux. It's written in C.