FileDocCategorySizeDatePackage
Symbol.javaAPI DocJava SE 5 API2765Fri Aug 26 14:54:54 BST 2005com.sun.java_cup.internal.runtime

Symbol

public class Symbol extends 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

Fields Summary
public int
sym
The symbol number of the terminal or non terminal being represented
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.
boolean
used_by_parser
This allows us to catch some errors caused by scanners recycling symbols. For the use of the parser only. [CSA, 23-Jul-1999]
public int
left
The data passed to parser
public int
right
public Object
value
Constructors Summary
public Symbol(int id, int l, int r, Object o)
Constructor for l,r values

    this(id);
    left = l;
    right = r;
    value = o;
  
public Symbol(int id, Object o)
Constructor for no l,r values

    this(id);
    left = -1;
    right = -1;
    value = o;
  
public Symbol(int sym_num, int l, int r)
Constructor for no value

    sym = sym_num;
    left = l;
    right = r;
    value = null;
  
public Symbol(int sym_num)
Constructor for no value or l,r

    this(sym_num, -1);
    left = -1;
    right = -1;
    value = null;
  
public Symbol(int sym_num, int state)
Constructor to give a start state

      sym = sym_num;
      parse_state = state;
    
Methods Summary
public java.lang.StringtoString()
Printing this token out. (Override for pretty-print).


                
      return "#"+sym;