mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-20 16:31:04 +00:00
Estimated hours taken: 0.5 compiler/notes/TODO: Update to reflect recent progress. compiler/notes/GLOSSARY: Update the definition of `inst', since insts are now more complicated than they were originally.
40 lines
1.3 KiB
Plaintext
40 lines
1.3 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. An inst holds three different sorts of
|
|
information. It indicates whether a variable is free, partially
|
|
bound, or ground. If a variable is bound, it may indicate
|
|
which functor(s) the variable can be bound to. Also,
|
|
an inst records whether a value is unique, or whether
|
|
it may be aliased.
|
|
|
|
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.
|
|
|