Class Ek9Compiler

java.lang.Object
org.ek9lang.compiler.Ek9Compiler
All Implemented Interfaces:
Compiler

public class Ek9Compiler extends Object implements 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 Details

  • Method Details

    • compile

      public boolean compile(Workspace workspace, CompilerFlags flags)
      HERE FOR COMPILER ENTRY. This is THE main entry point in to initiating compilation. It basically just runs through each of the phases configured.
      Specified by:
      compile in interface Compiler
      Returns:
      true if compilation succeeded