logo

class

compiler::Assemble

sys::Obj
  compiler::CompilerSupport
    compiler::CompilerStep
      compiler::Assemble
  1  //
  2  // Copyright (c) 2006, Brian Frank and Andy Frank
  3  // Licensed under the Academic Free License version 3.0
  4  //
  5  // History:
  6  //   20 Aug 06  Brian Frank  Creation
  7  //
  8  
  9  **
 10  ** Assemble is responsible for assembling the resolved, analyzed,
 11  ** normalized abstract syntax tree into it's fcode representation
 12  ** in memory as a FPod stored on compiler.fpod.
 13  **
 14  class Assemble : CompilerStep
 15  {
 16  
 17  //////////////////////////////////////////////////////////////////////////
 18  // Construction
 19  //////////////////////////////////////////////////////////////////////////
 20  
 21    **
 22    ** Constructor takes the associated Compiler
 23    **
 24    new make(Compiler compiler)
 25      : super(compiler)
 26    {
 27    }
 28  
 29  //////////////////////////////////////////////////////////////////////////
 30  // Methods
 31  //////////////////////////////////////////////////////////////////////////
 32  
 33    **
 34    ** Run the step
 35    **
 36    override Void run()
 37    {
 38      log.debug("Assemble")
 39      compiler.fpod = Assembler.make(compiler).assemblePod
 40      bombIfErr
 41    }
 42  
 43  }

More Info

Slots