Compilers Glossary

Browse 35 compilers terms defined in plain English, from the cultural dictionary of computing.

35 Compilers Terms

Clang
A compiler front end for languages like C, C++, and Objective-C, built as part of the LLVM project. In systems programming culture, Clang is known for good...
Compile Error
A Compile Error is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Compiler Directive
A Compiler Directive is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Compiler Flag
A Compiler Flag is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Compiler Optimization
A Compiler Optimization is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Compiler Pass
A Compiler Pass is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Compiler Warning
A Compiler Warning is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Compile Time
A Compile Time is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Custom Parser
A parser built for a specific input format, language, or domain instead of using a generic off-the-shelf parser unchanged. Custom parsers are common when data...
Formal Grammar
Formal Grammar is a set of production rules that precisely defines the syntax of a language by specifying how strings of symbols can be generated from a start...
GNU Toolchain
The collection of GNU development tools, often including the compiler, linker, debugger, and related utilities used to build and inspect software. In systems...
JIT Compiler
A just-in-time compiler that translates code into native machine instructions during program execution instead of ahead of time. JITs watch running code,...
Lookahead
A parsing technique that examines upcoming tokens or characters in the input stream without consuming them, used to make decisions about which grammar rule to...
Loop Unrolling
A compiler or manual optimization that replicates the body of a loop multiple times per iteration, reducing the overhead of branch instructions, loop counter...
MinGW
A development environment and port of GNU tools for building native Windows applications, commonly expanded as Minimalist GNU for Windows. In cross-platform...
Nim
An open-source programming language designed for performance, expressiveness, and compiled native binaries with a relatively lightweight feel. In language...
Object File
The intermediate binary output produced by a compiler (typically with a `.o` or `.obj` extension) that contains machine code, symbol tables, and relocation...
Optimization
The process of modifying code, queries, algorithms, or system configuration to improve a measurable performance metric — such as execution time, memory usage,...
Parse
To analyze a string of symbols — source code, JSON, HTML, or any structured text — according to a formal grammar, converting it into a structured...
Parser Combinator
A higher-order function that takes simple parsers (matching a character, a string, a regex) and combines them into more complex parsers using operations like...
Parser Generator
A tool that takes a formal grammar specification (typically in BNF or PEG notation) and automatically produces source code for a parser that can recognize and...
Parse Tree
A tree data structure that represents the syntactic structure of source code (or any input) according to a formal grammar, where internal nodes correspond to...
Pretty Printer
A tool or function that reformats data, code, or structures into a cleaner and more readable layout. Pretty printers show up in compilers, debuggers,...
Programming Language
A formal system of syntax, semantics, and type rules used to express computations that can be executed by a machine, either directly through compilation to...
Rust Toolchain
The set of Rust development tools used together, typically including the compiler, Cargo, standard library, and associated components. In engineering practice,...
Scope Resolution
The mechanism by which a compiler or interpreter determines which declaration a name refers to when the same identifier exists in multiple enclosing scopes or...
Self-Hosting
Running software on your own infrastructure rather than using a managed cloud service, or — in compiler theory — the milestone where a compiler is capable of...
Stack Machine
A computation model (or virtual machine) where instructions operate on values at the top of an implicit stack rather than named registers. Operands are pushed,...
Term Rewriting
A computation model in which expressions (terms) are transformed by repeatedly applying pattern-matching rules that replace subterms matching a left-hand side...
Toolchain
The ordered set of development tools that work together to transform source code into a deployable artifact — typically including a compiler or transpiler,...
Type Checking
The process — performed statically at compile time or dynamically at runtime — of verifying that operations in a program are applied to values of compatible...
TypeScript Compiler
The official TypeScript compiler (`tsc`), written in TypeScript itself, that parses `.ts`/`.tsx` files, performs static type checking against the project's...
Undefined Behavior
A condition in C, C++, and some other languages where the language standard imposes no requirements on the program's behavior — the compiler is free to assume...
Unrolling
A compiler or manual optimization technique that replaces a loop with repeated copies of its body, reducing the overhead of branch instructions and...
Zig Language
A systems programming language focused on explicitness, performance, and low-level control with modern tooling.

Related Topics