Class DefaultSymbolFactory

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

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

    • DefaultSymbolFactory

      public DefaultSymbolFactory()
      Deprecated.
      as of CUP v11a replaced by the new java_cup.runtime.ComplexSymbolFactory
      DefaultSymbolFactory for CUP. Users are strongly encoraged to use ComplexSymbolFactory instead, since it offers more detailed information about Symbols in source code. Yet since migrating has always been a critical process, You have the chance of still using the oldstyle Symbols.
  • Method Details

    • 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, 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)
      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, int left, int right, Object value)
    • newSymbol

      public Symbol newSymbol(String name, int id, int left, int right)
    • 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
    • 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