Lowering
The process of transforming high-level source code to its equivalent intermediate representation is called lowering.
Lowering is takes place over multiple translation phases, each of which resulting in IR code at a different stage:
High-level source code is translated to raw IR.
Raw IR is translated to legal IR.
Legal IR is translated to canonical IR.
A program in raw IR may contain incomplete deinitialization and flow-sensitive type errors. A program in legal or canonical IR shall not violate any of the static semantic rules of the Hylo programming language.
Last updated