Class Symbol

  • Direct Known Subclasses:
    ComplexSymbolFactory.ComplexSymbol

    public class Symbol
    extends java.lang.Object
    Defines the Symbol class, which is used to represent all terminals and nonterminals while parsing. The lexer should pass CUP Symbols and CUP returns a Symbol.
    Version:
    last updated: 7/3/96
    Author:
    Frank Flannery
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int left
      The data passed to parser
      int parse_state
      The parse state to be recorded on the parse stack with this symbol.
      int right
      The data passed to parser
      int sym
      The symbol number of the terminal or non terminal being represented
      java.lang.Object value  
    • Constructor Summary

      Constructors 
      Constructor Description
      Symbol​(int sym_num)
      Constructor for no value or l,r
      Symbol​(int id, int l, int r)
      Constructor for no value
      Symbol​(int id, int l, int r, java.lang.Object o)
      Constructor for l,r values
      Symbol​(int id, Symbol left, Symbol right)  
      Symbol​(int id, Symbol left, Symbol right, java.lang.Object o)  
      Symbol​(int id, Symbol left, java.lang.Object o)  
      Symbol​(int id, java.lang.Object o)
      Constructor for no l,r values
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String toString()
      Printing this token out.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • sym

        public int sym
        The symbol number of the terminal or non terminal being represented
      • parse_state

        public int parse_state
        The parse state to be recorded on the parse stack with this symbol. This field is for the convenience of the parser and shouldn't be modified except by the parser.
      • left

        public int left
        The data passed to parser
      • right

        public int right
        The data passed to parser
      • value

        public java.lang.Object value
    • Constructor Detail

      • Symbol

        public Symbol​(int id,
                      Symbol left,
                      Symbol right,
                      java.lang.Object o)
      • Symbol

        public Symbol​(int id,
                      Symbol left,
                      Symbol right)
      • Symbol

        public Symbol​(int id,
                      Symbol left,
                      java.lang.Object o)
      • Symbol

        public Symbol​(int id,
                      int l,
                      int r,
                      java.lang.Object o)
        Constructor for l,r values
      • Symbol

        public Symbol​(int id,
                      java.lang.Object o)
        Constructor for no l,r values
      • Symbol

        public Symbol​(int id,
                      int l,
                      int r)
        Constructor for no value
      • Symbol

        public Symbol​(int sym_num)
        Constructor for no value or l,r
    • Method Detail

      • toString

        public java.lang.String toString()
        Printing this token out. (Override for pretty-print).
        Overrides:
        toString in class java.lang.Object