Class ComplexSymbolFactory

java.lang.Object
java_cup.runtime.ComplexSymbolFactory
All Implemented Interfaces:
SymbolFactory

public class ComplexSymbolFactory extends Object implements SymbolFactory
Default Implementation for SymbolFactory, creates plain old Symbols
Version:
last updated 27-03-2006
Author:
Michael Petter
  • Constructor Details

    • ComplexSymbolFactory

      public ComplexSymbolFactory()
  • Method Details

    • newSymbol

      public Symbol newSymbol(String name, int id, ComplexSymbolFactory.Location left, ComplexSymbolFactory.Location right, Object value)
      newSymbol creates a complex symbol with Location objects for left and right boundaries; this is used for terminals with values!
    • newSymbol

      public Symbol newSymbol(String name, int id, ComplexSymbolFactory.Location left, ComplexSymbolFactory.Location right)
      newSymbol creates a complex symbol with Location objects for left and right boundaries; this is used for terminals without values!
    • newSymbol

      public Symbol newSymbol(String name, int id, Symbol left, Object value)
      Description copied from interface: SymbolFactory
      newSymbol creates a symbol for an empty production, taking its location from the Symbol on the left
      Specified by:
      newSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java
      left - symbol, to take the left location from
      value - value, attached to this symbol
    • newSymbol

      public Symbol newSymbol(String name, int id, Symbol left, Symbol right, Object value)
      Description copied from interface: SymbolFactory
      newSymbol creates a symbol with a value, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
      Specified by:
      newSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java
      left - symbol, to take the left location from
      right - symbol, to take the right location from
      value - value, attached to this symbol
    • newSymbol

      public Symbol newSymbol(String name, int id, Symbol left, Symbol right)
      Description copied from interface: SymbolFactory
      newSymbol creates a symbol, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
      Specified by:
      newSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java
      left - symbol, to take the left location from
      right - symbol, to take the right location from
    • newSymbol

      public Symbol newSymbol(String name, int id)
      Description copied from interface: SymbolFactory
      newSymbol creates a basic symbol; used frequently for terminal symbols, like keywords
      Specified by:
      newSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java
    • newSymbol

      public Symbol newSymbol(String name, int id, Object value)
      Description copied from interface: SymbolFactory
      newSymbol creates a basic symbol with an attached value; used frequently for terminal symbols like identifiers
      Specified by:
      newSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java
      value - value, attached to this symbol
    • startSymbol

      public Symbol startSymbol(String name, int id, int state)
      Description copied from interface: SymbolFactory
      newSymbol creates the start symbol
      Specified by:
      startSymbol in interface SymbolFactory
      Parameters:
      name - Textual name for the Symbol for verbose error messages
      id - enum value associated with this symbol, generated by cup via sym.java