Lexing and Parsing, where the source file is converted into an Abstract Syntax Tree (AST) representation.
Name Resolution, where the fully qualified names of all external symbols are determined.
Type Propagation, where the types of all expressions are determined by propagation from e.g. declared parameter types.
WYIL Generation, where the the AST is converted into the Whiley Intermediate Language (WYIL). A number of passes are then made over this before it is ready for code generation.
Code Generation. Here, the executable code is finally generated. This could be Java bytecode, or something else (e.g. JavaScript).
|
|