Class CompilationState

java.lang.Object
org.stringtemplate.v4.compiler.CompilationState

public class CompilationState extends Object
Temporary data used during construction and functions that fill it / use it. Result is impl CompiledST object.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) ErrorManager
     
    (package private) CompiledST
    The compiled code implementation to fill in.
    (package private) int
    Track instruction location within impl.instrs array; this is next address to write to.
    (package private) StringTable
    Track unique strings; copy into CompiledST.strings after compilation.
    (package private) org.antlr.runtime.TokenStream
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    CompilationState(ErrorManager errMgr, String name, org.antlr.runtime.TokenStream tokens)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    void
    emit(short opcode)
     
    void
    emit(org.antlr.runtime.tree.CommonTree opAST, short opcode)
     
    void
    emit1(org.antlr.runtime.tree.CommonTree opAST, short opcode, int arg)
     
    void
    emit1(org.antlr.runtime.tree.CommonTree opAST, short opcode, String s)
     
    void
    emit2(org.antlr.runtime.tree.CommonTree opAST, short opcode, int arg, int arg2)
     
    void
    emit2(org.antlr.runtime.tree.CommonTree opAST, short opcode, String s, int arg2)
     
    protected void
     
    void
    func(org.antlr.runtime.Token templateToken, org.antlr.runtime.tree.CommonTree id)
     
    void
    indent(org.antlr.runtime.tree.CommonTree indent)
     
    void
    insert(int addr, short opcode, String s)
     
    void
    refAttr(org.antlr.runtime.Token templateToken, org.antlr.runtime.tree.CommonTree id)
     
    void
    setOption(org.antlr.runtime.tree.CommonTree id)
     
    void
    write(int addr, short value)
     
    static void
    writeShort(byte[] memory, int index, short value)
    Write value at index into a byte array highest to lowest byte, left to right.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • impl

      The compiled code implementation to fill in.
    • stringtable

      StringTable stringtable
      Track unique strings; copy into CompiledST.strings after compilation.
    • ip

      int ip
      Track instruction location within impl.instrs array; this is next address to write to. Byte-addressable memory.
    • tokens

      org.antlr.runtime.TokenStream tokens
    • errMgr

      ErrorManager errMgr
  • Constructor Details

    • CompilationState

      public CompilationState(ErrorManager errMgr, String name, org.antlr.runtime.TokenStream tokens)
  • Method Details

    • defineString

      public int defineString(String s)
    • refAttr

      public void refAttr(org.antlr.runtime.Token templateToken, org.antlr.runtime.tree.CommonTree id)
    • setOption

      public void setOption(org.antlr.runtime.tree.CommonTree id)
    • func

      public void func(org.antlr.runtime.Token templateToken, org.antlr.runtime.tree.CommonTree id)
    • emit

      public void emit(short opcode)
    • emit

      public void emit(org.antlr.runtime.tree.CommonTree opAST, short opcode)
    • emit1

      public void emit1(org.antlr.runtime.tree.CommonTree opAST, short opcode, int arg)
    • emit2

      public void emit2(org.antlr.runtime.tree.CommonTree opAST, short opcode, int arg, int arg2)
    • emit2

      public void emit2(org.antlr.runtime.tree.CommonTree opAST, short opcode, String s, int arg2)
    • emit1

      public void emit1(org.antlr.runtime.tree.CommonTree opAST, short opcode, String s)
    • insert

      public void insert(int addr, short opcode, String s)
    • write

      public void write(int addr, short value)
    • ensureCapacity

      protected void ensureCapacity(int n)
    • indent

      public void indent(org.antlr.runtime.tree.CommonTree indent)
    • writeShort

      public static void writeShort(byte[] memory, int index, short value)
      Write value at index into a byte array highest to lowest byte, left to right.