Uses of Class
org.ek9lang.compiler.CompilerPhase
Package
Description
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
F - Resolution of Explicitly Defined Type Symbols at this point phase1 processing should have defined
most of the explicitly defined symbols, so they should be resolvable.
G - Full Symbol Resolution can now take place.
-
Uses of CompilerPhase in org.ek9lang.compiler.phase1
Modifier and TypeClassDescriptionfinal class
Goes through each module name and checks each of the parsedModules in that module name to check there is only a single copy of that symbol in the whole module name space.final class
SINGLE THREADED - because we only want one reference shorthand for an item.final class
Can be MULTI THREADED for developer source, but must be single threaded for bootstrapping. -
Uses of CompilerPhase in org.ek9lang.compiler.phase10
Modifier and TypeClassDescriptionclass
MULTI THREADED Generate all type of aggregates, typically classes, components, records, etc.class
MULTI THREADED Generate all constants that have been defined.class
MULTI THREADED Generate all functions (including dynamic and templated) that have been defined.class
MULTI THREADED Preparation to generate code. -
Uses of CompilerPhase in org.ek9lang.compiler.phase11
Modifier and TypeClassDescriptionclass
SINGLE THREADED Optimise the generated code. -
Uses of CompilerPhase in org.ek9lang.compiler.phase12
Modifier and TypeClassDescriptionclass
SINGLE THREADED Take the final optimised generated code and package it in to some type of release vessel.class
SINGLE THREADED Complete any post-processing required.class
SINGLE THREADED If the developer has employed any sort of 'native' plugin, then it will have been referenced and trusted at earlier phases. -
Uses of CompilerPhase in org.ek9lang.compiler.phase2
Modifier and TypeClassDescriptionfinal class
Can be MULTI THREADED for developer source, but single threaded for bootstrapping.final class
SINGLE THREADED - Run across sources to check for types, functions and traits for 'super loops'. -
Uses of CompilerPhase in org.ek9lang.compiler.phase3
Modifier and TypeClassDescriptionfinal class
MULTI THREADED Now try and check that all symbols used have a type. -
Uses of CompilerPhase in org.ek9lang.compiler.phase4
Modifier and TypeClassDescriptionclass
SINGLE THREADED Once full resolution has completed, additional checks need to be made. -
Uses of CompilerPhase in org.ek9lang.compiler.phase5
Modifier and TypeClassDescriptionclass
At this point all templates should be present and all symbols resolved. -
Uses of CompilerPhase in org.ek9lang.compiler.phase6
-
Uses of CompilerPhase in org.ek9lang.compiler.phase7
Modifier and TypeClassDescriptionclass
MULTI THREADED All symbols resolve and so should be able to create an intermediate representation.class
If all has gone well in previous phases, this just adds the IR to the main program(s). -
Uses of CompilerPhase in org.ek9lang.compiler.phase8
Modifier and TypeClassDescriptionclass
SINGLE THREADED Now just create all the nodes that are generated from generic types So these will be the set of concrete template classes we are using throughout the program all modules! TODO need to think about where the concrete templates should be recorded. -
Uses of CompilerPhase in org.ek9lang.compiler.phase9
Modifier and TypeClassDescriptionclass
SINGLE THREADED.class
SINGLE THREADED.