Symbolpublic 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. |
Fields Summary |
---|
public int | symThe symbol number of the terminal or non terminal being represented | public int | parse_stateThe 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_parserThis allows us to catch some errors caused by scanners recycling
symbols. For the use of the parser only. [CSA, 23-Jul-1999] | public int | leftThe 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.String | toString()Printing this token out. (Override for pretty-print).
return "#"+sym;
|
|