mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-21 00:39:37 +00:00
Estimated hours taken: 4 Improve the design documentation. compiler/notes/COMPILER_DESIGN: A major revision of the compiler design document. This now documents the structure of the compiler in MUCH more detail (previously 50 lines, now 350 lines). It now mentions every module in the compiler. compiler/notes/GLOSSARY Add explanation of SHF.
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
|
|
HLDS: The "High Level Data Structure". See hlds.m.
|
|
|
|
moduleinfo: Another name for the HLDS.
|
|
|
|
LLDS: The "Low Level Data Structure". See llds.m.
|
|
|
|
inst: instantiatedness. Indicates whether a variable is free, partially
|
|
bound, or ground.
|
|
|
|
mode: this has two meanings:
|
|
(1) a mapping from one instantiatedness to another
|
|
(the mode of a single variable)
|
|
(2) a mapping from an initial instantiatedness of a predicate's
|
|
arguments to their final instantiatedness
|
|
(the mode of a predicate)
|
|
|
|
proc (procedure): a particular mode of a predicate.
|
|
|
|
procinfo: the structure in HLDS which contains
|
|
information about a procedure.
|
|
|
|
predinfo: the structure in HLDS which contains information about
|
|
a predicate.
|
|
|
|
codeinfo: a structure used by codegen.m
|
|
|
|
switch: a disjunction which does a case analysis on the toplevel
|
|
functor of some variable.
|
|
|
|
super-homogenous form (SHF): a simplified, flattened form of goals, where
|
|
each unification is split into its component pieces; in particular,
|
|
the arguments of each predicate call and functor must be distinct
|
|
variables.
|
|
|