Interface SymbolFactory

All Known Implementing Classes:
ComplexSymbolFactory, DefaultSymbolFactory

public interface SymbolFactory
Creates the Symbols interface, which CUP uses as default
Version:
last updated 27-03-2006
Author:
Michael Petter
  • Method Summary

    Modifier and Type
    Method
    Description
    newSymbol(String name, int id)
    newSymbol creates a basic symbol; used frequently for terminal symbols, like keywords
    newSymbol(String name, int id, Symbol left, Symbol right)
    newSymbol creates a symbol, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
    newSymbol(String name, int id, Symbol left, Symbol right, Object value)
    newSymbol creates a symbol with a value, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
    newSymbol(String name, int id, Symbol left, Object value)
    newSymbol creates a symbol for an empty production, taking its location from the Symbol on the left
    newSymbol(String name, int id, Object value)
    newSymbol creates a basic symbol with an attached value; used frequently for terminal symbols like identifiers
    startSymbol(String name, int id, int state)
    newSymbol creates the start symbol
  • Method Details

    • newSymbol

      Symbol newSymbol(String name, int id, Symbol left, Symbol right, Object value)
      newSymbol creates a symbol with a value, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
      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

      Symbol newSymbol(String name, int id, Symbol left, Symbol right)
      newSymbol creates a symbol, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols
      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

      Symbol newSymbol(String name, int id, Symbol left, Object value)
      newSymbol creates a symbol for an empty production, taking its location from the Symbol on the left
      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

      Symbol newSymbol(String name, int id, Object value)
      newSymbol creates a basic symbol with an attached value; used frequently for terminal symbols like identifiers
      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
    • newSymbol

      Symbol newSymbol(String name, int id)
      newSymbol creates a basic symbol; used frequently for terminal symbols, like keywords
      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

      Symbol startSymbol(String name, int id, int state)
      newSymbol creates the start symbol
      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