Expand description
Lowering (docs/lir.md): a compiled program with every name resolved, every category decided and every transfer of control made explicit, as the LIR a VM runs and a load module holds.
Lowered so far: storage, places, expressions and conditions, the arithmetic verbs, MOVE, IF,
EVALUATE, DISPLAY, INITIALIZE, PERFORM, GO TO, GO TO DEPENDING ON, ALTER, EXIT, STOP RUN, GOBACK,
CALL, CANCEL, ENTRY, INVOKE, SET, STRING, UNSTRING, INSPECT, SEARCH, ACCEPT, the file
statements, intrinsic functions, independent segments, class definitions, USE AFTER
EXCEPTION/ERROR, USE FOR DEBUGGING, JSON and XML GENERATE and PARSE, the EXEC blocks, SORT,
MERGE, RELEASE and RETURN, the Report Writer, user-defined functions, and EXTERNAL and GLOBAL
records, files and declaratives.
Anything else is LowerError::Unsupported, naming the construct.
Enums§
- Lower
Error - Why a program does not lower.