Package java_cup.runtime
Class ComplexSymbolFactory
- java.lang.Object
-
- java_cup.runtime.ComplexSymbolFactory
-
- All Implemented Interfaces:
SymbolFactory
public class ComplexSymbolFactory extends java.lang.Object implements SymbolFactory
Default Implementation for SymbolFactory, creates plain old Symbols- Version:
- last updated 27-03-2006
- Author:
- Michael Petter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classComplexSymbolFactory.ComplexSymbolComplexSymbol with detailed Location Informations and a Namestatic classComplexSymbolFactory.Location
-
Constructor Summary
Constructors Constructor Description ComplexSymbolFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SymbolnewSymbol(java.lang.String name, int id)newSymbol creates a basic symbol; used frequently for terminal symbols, like keywordsSymbolnewSymbol(java.lang.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!SymbolnewSymbol(java.lang.String name, int id, ComplexSymbolFactory.Location left, ComplexSymbolFactory.Location right, java.lang.Object value)newSymbol creates a complex symbol with Location objects for left and right boundaries; this is used for terminals with values!SymbolnewSymbol(java.lang.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 symbolsSymbolnewSymbol(java.lang.String name, int id, Symbol left, Symbol right, java.lang.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 symbolsSymbolnewSymbol(java.lang.String name, int id, Symbol left, java.lang.Object value)newSymbol creates a symbol for an empty production, taking its location from the Symbol on the leftSymbolnewSymbol(java.lang.String name, int id, java.lang.Object value)newSymbol creates a basic symbol with an attached value; used frequently for terminal symbols like identifiersSymbolstartSymbol(java.lang.String name, int id, int state)newSymbol creates the start symbol
-
-
-
Method Detail
-
newSymbol
public Symbol newSymbol(java.lang.String name, int id, ComplexSymbolFactory.Location left, ComplexSymbolFactory.Location right, java.lang.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(java.lang.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(java.lang.String name, int id, Symbol left, java.lang.Object value)
Description copied from interface:SymbolFactorynewSymbol creates a symbol for an empty production, taking its location from the Symbol on the left- Specified by:
newSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.javaleft- symbol, to take the left location fromvalue- value, attached to this symbol
-
newSymbol
public Symbol newSymbol(java.lang.String name, int id, Symbol left, Symbol right, java.lang.Object value)
Description copied from interface:SymbolFactorynewSymbol 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:
newSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.javaleft- symbol, to take the left location fromright- symbol, to take the right location fromvalue- value, attached to this symbol
-
newSymbol
public Symbol newSymbol(java.lang.String name, int id, Symbol left, Symbol right)
Description copied from interface:SymbolFactorynewSymbol creates a symbol, grouping other symbols with left/right locations; used frequently by the parser to implement non-terminal symbols- Specified by:
newSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.javaleft- symbol, to take the left location fromright- symbol, to take the right location from
-
newSymbol
public Symbol newSymbol(java.lang.String name, int id)
Description copied from interface:SymbolFactorynewSymbol creates a basic symbol; used frequently for terminal symbols, like keywords- Specified by:
newSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.java
-
newSymbol
public Symbol newSymbol(java.lang.String name, int id, java.lang.Object value)
Description copied from interface:SymbolFactorynewSymbol creates a basic symbol with an attached value; used frequently for terminal symbols like identifiers- Specified by:
newSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.javavalue- value, attached to this symbol
-
startSymbol
public Symbol startSymbol(java.lang.String name, int id, int state)
Description copied from interface:SymbolFactorynewSymbol creates the start symbol- Specified by:
startSymbolin interfaceSymbolFactory- Parameters:
name- Textual name for the Symbol for verbose error messagesid- enum value associated with this symbol, generated by cup via sym.java
-
-