Skip to content
Category

Compilers

page 1
compiler
In computing, a compiler is software 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 translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program.
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.
linker
computer system program which produces loadable and executable programs from object files or libraries, compiled and assembled separately
Free Pascal
free compiler and IDE for Pascal and ObjectPascal
decompiler
A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate executables into assembly language, decompilers go a step further by reconstructing the disassembly into higher-level languages like C. Due to the one-way nature of the compilation process, decompilers usually cannot perfectly recreate the original source code. They often produce obfuscated and less readable code.
C--
C-- (conventionally written using hyphen-minuses but pronounced C minus minus) is a C-like programming language, designed to be generated mainly by compilers for high-level languages rather than written by human programmers. It was created by functional programming researchers Simon Peyton Jones and Norman Ramsey. Unlike many other intermediate languages, it is represented in plain ASCII text, not bytecode or another binary format.
ahead-of-time compilation
compilation strategy
bootstrapping
process of writing a compiler (or assembler) in the source programming language that it intends to compile
dynamic linker
feature of an operating system that loads shared libraries and links them with a runnable software unit
language binding
software library that adapts a particular library for use in a different programming language from what it is written in
data dependency
p-code machine
Programming virtual machine
Visual Prolog
programming language
Emscripten
Emscripten is an LLVM/Clang-based compiler that compiles C and C++ source code to WebAssembly, primarily for execution in web browsers.
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
Threaded code
program whose source code consists entirely of calls to functions
PL/0
PL/0 is a programming language, intended as an educational programming language, that is similar to but much simpler than Pascal, a general-purpose programming language. It serves as an example of how to construct a compiler. It was originally introduced in the book, Algorithms + Data Structures = Programs, by Niklaus Wirth in 1976. It features quite limited language constructs: there are no real numbers, very few basic arithmetic operations and no control-flow constructs other than "if" and "while" blocks. While these limitations make writing real applications in this language impractical, it
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.
Incremental compiler
VisualAge
VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993. It was discontinued on April 30, 2007, and its web page was removed in September 2011. VisualAge was also marketed as VisualAge Smalltalk, and in 2005, Instantiations, Inc. acquired the worldwide rights to this product. IBM has stated that XL C/C++ is the followup product to VisualAge.
.NET Compiler Platform
set of open-source compilers
Multi-pass compiler
Software development tool
MKS Toolkit
history of compiler construction
Wikimedia history article
Accelerated Linear Algebra
advanced optimization framework for TensorFlow to enhance computational performance
XcodeGhost
XcodeGhost (and variant XcodeGhost S) are modified versions of Apple's Xcode development environment that are considered malware. The software first gained widespread attention in September 2015, when a number of apps originating from China harbored the malicious code. It was thought to be the "first large-scale attack on Apple's App Store", according to the BBC. The problems were first identified by researchers at Alibaba, a leading e-commerce firm in China. Over 4000 apps are infected, according to FireEye, far more than the 25 initially acknowledged by Apple, including apps from authors out
One-pass compiler
Compiler that processes each compilation unit only once
Retargeting
In software engineering, retargeting is an attribute of software development tools that have been specifically designed to generate code for more than one computing platform.
binary recompiler
compiler transforming or optimizing already-compiled code