Package org.ek9lang.compiler
Class Ek9Compiler
java.lang.Object
org.ek9lang.compiler.Ek9Compiler
- All Implemented Interfaces:
Compiler
The main EK9 compiler (HERE FOR COMPILER ENTRY).
In parts this will be multithreaded - mainly by using parallel stream.
But may use CompletableFutures and when virtual threads are available with Java 19+
we should see significant speed improvement in file (IO) operations.
I've had a tinker, and it's about 3 times faster.
This compiler actually just coordinates all the 'phases' of compilation.
This is now just a wrapper, the appropriate phases are supplied.
-
Constructor Summary
ConstructorDescriptionEk9Compiler
(Supplier<List<BiFunction<Workspace, CompilerFlags, CompilationPhaseResult>>> compilationPhaseSupplier, boolean muteReportedErrors) Create a new compiler. -
Method Summary
Modifier and TypeMethodDescriptionboolean
compile
(Workspace workspace, CompilerFlags flags) HERE FOR COMPILER ENTRY.
-
Constructor Details
-
Ek9Compiler
public Ek9Compiler(Supplier<List<BiFunction<Workspace, CompilerFlags, CompilationPhaseResult>>> compilationPhaseSupplier, boolean muteReportedErrors) Create a new compiler. Configure it with your event listener and flags.
-
-
Method Details