compiler
Let an agent explain compilers, relay architecture, kinds, history and notable examples from computer science sources, describe the named kinds and tools, and distinguish compilers from interpreters, assemblers, linkers and build tools.
Research draft, second pass
A second pass drafted this model: the structure a model of this thing needs, and what is known about it in the world. The line under this one says how the second half was obtained - researched against sources, or recalled without web access, in which case nothing here was read anywhere and every claim is a lead to verify. Unreviewed either way.
written by Claude from model knowledge without web access - no source was read, every claim is a lead to verify
Researched by: Claude
Purpose and description
Let an agent explain compilers, relay architecture, kinds, history and notable examples from computer science sources, describe the named kinds and tools, and distinguish compilers from interpreters, assemblers, linkers and build tools.
A computer program that translates source code written in one programming language into another form, typically machine code, bytecode or another high-level language, through stages such as lexing, parsing, semantic analysis, optimisation and code generation, with kinds the registry aliases name including optimising compilers, cross compilers that produce code for a different platform, source-to-source compilers or transpilers, just-in-time compilation that compiles during execution, Java compilers producing bytecode, and Pawno, an editor bundled with a Pawn compiler used for SA-MP game server scripts; early milestones include Grace Hopper s A-0 system of 1952 and the FORTRAN compiler released by IBM in 1957. The registry classifies software as a physical object, which is questionable.
What it is for: Translating programs into executable or other forms.
It can be explain architecture and stages; relay kinds; describe named tools; relay history.
Distinguishing features
Front end and back end
Intermediate representations
Optimisation passes
Ahead-of-time or just-in-time
What it looks like
Not a physical object; command-line tools and integrated development environment components.
Physical character
A-0 System: 1952 year - Grace Hopper
FORTRAN compiler: 1957 year - IBM
GCC first release: 1987 year
How it is recognised
Program translating source code
Pawno, just-in-time compilation, optimizing compiler, cross compiler, source-to-source compiler, Java compiler
Interpreters execute directly; assemblers translate assembly; linkers combine object files; build tools orchestrate compilation
Related models
is a kind of - in registry terms
includes -
is contrasted with -
is contrasted with -
In practice
Families and kinds
ahead-of-time compilers
just-in-time compilers
cross compilers
source-to-source compilers
bytecode compilers
Standards and regulation
Language standards such as ISO C and C++
Safety-critical compiler qualification such as DO-178C tool qualification
Failure modes and hazards
Compiler bugs causing miscompilation
Supply chain attacks on toolchains
Undefined behaviour exploited by optimisers
Also called
Where this came from
wikidata · CC0 1.0
Also registered as vr.tr.compiler
Drafted structure
Bundle to layer to finding to question, as the second pass will find it: 4 bundles · 8 layers · 8 findings · 16 questions.
Understand What a compiler is.
Definition.
Definition
Definition.
Definition
Definition.
- What is a compiler, and how does it differ from interpreters, assemblers, linkers and build tools? definition
- Is the question about using a specific compiler, whose current documentation should be checked? boundary
Kinds
Named kinds.
Kinds
Kinds.
- What are optimising, cross, source-to-source, JIT and Java compilers, and what is Pawno? definition
- Which entry fits the specific compiler? action
Architecture Architecture.
Science.
Stages
Compilation stages.
Stages
Stages.
- What happens in lexing, parsing, semantic analysis, optimisation and code generation? provenance
- Which references are standard? provenance
IR
Intermediate representations.
IR
IR.
- How do intermediate representations such as LLVM IR work? provenance
- Which sources are cited? provenance
History History.
Sources.
Early compilers
Early compilers.
Early compilers
Early compilers.
- How did Hopper s A-0 and Backus s FORTRAN team shape compilers? provenance
- Which entry fits FORTRAN? action
Open source
Open-source toolchains.
Open source
Open source.
- How did GCC and LLVM change compiler development? provenance
- Which entry fits LLVM? action
Context Security.
Attribution.
Trusting trust
Toolchain security.
Trusting trust
Trusting trust.
- What did Ken Thompson s Reflections on Trusting Trust argue, and how do reproducible builds respond? provenance
- Is the presentation neutral and attributed? boundary
JIT
Just-in-time compilation.
JIT
JIT.
- How do JIT compilers in Java and JavaScript engines optimise at run time? provenance
- Is the information current? boundary
What the second pass must settle
- Is the registry classification of compilers as physical objects appropriate?
- Should Pawno be moved to game modding tool entries?
- Should JIT compilation be a separate entry?