Live briefing
Everything about Compiler
Software that translates code from one programming language to another
In computing, a compiler is software that translates computer code written in one programming language into another 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 to create an executable program. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: CompilerA 5-minute orientation
- Skim a recent paper: The software design of Gridap: A Finite Element package based on the Julia JIT compilerInfluential work since 2022
- Pick up a classic book: Compilers, principles, techniques, and toolsThe most-reprinted book on the subject
- Read the landmark paper: Formal verification of a realistic compilerCited 1,045 times
- Go sideways: Interpreter (computing)A closely related topic
- Go sideways: History of compiler constructionA closely related topic
📖 Definitions
Noun One who compiles.
Noun A computer program that transforms source code into object code.
🏆 Landmark papers (most cited)
Formal verification of a realistic compiler
Compiler transformations for high-performance computing
Advanced compiler optimizations for supercomputers
t|ket⟩: a retargetable compiler for NISQ devices
A Formally Verified Compiler Back-end
Testing Programs with the Aid of a Compiler
Maximizing multiprocessor performance with the SUIF compiler
PipeRench: a reconfigurable architecture and compiler
🆕 Influential since 2022
The software design of Gridap: A Finite Element package based on the Julia JIT compiler
WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
Optimized Compiler for Distributed Quantum Computing
NxTF: An API and Compiler for Deep Spiking Neural Networks on Intel Loihi
Compiler Support for Sparse Tensor Computations in MLIR
📚 Books worth reading
Compilers, principles, techniques, and toolsAlfred V. Aho, Monica S. Lam · 1986
Compiler DesignReinhard Wilhelm · 2010
The compiler design handbookY. N. Srikant, P. Shankar · 2002
Modern Compiler DesignDick Grune · 2001
The anatomy of a compilerJohn A. N. Lee · 1967
Compiler construction using Java, JavaCC, and YaccAnthony J. Dos Reis · 2011
Principles of compiler designAlfred V. Aho, Jeffrey D. Ullman · 1977
Compiler design in CAllen I. Holub · 1990
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Interpreter (computing) In computing, an interpreter is software that executes source code without first compiling it to machine code. An interpreted runtime environment differs…
- History of compiler construction In computing, a compiler is a computer program that transforms source code written in a programming language or computer language (the source language)…
- Programming language design and implementation Programming languages are typically created by designing a form of representation of a computer program, and writing an implementation for the developed…
- Intermediate representation An intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code. An IR is designed…
- Bytecode Bytecode (also called portable code or p-code) is an instruction set designed for efficient execution by a software interpreter. Unlike human-readable…
- High-level programming language A high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming…
- High-level language computer architecture A high-level language computer architecture (HLLCA) is a computer architecture designed to be targeted by a specific high-level programming language (HLL)…
- Compiler-compiler In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of…