+++ /dev/null
-package java_cup.runtime;
-
-/**
- * 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
- */
-
-/* ****************************************************************
- Class Symbol
- what the parser expects to receive from the lexer.
- the token is identified as follows:
- sym: the symbol type
- parse_state: the parse state.
- value: is the lexical value of type Object
- left : is the left position in the original input file
- right: is the right position in the original input file
-******************************************************************/
-
-public class Symbol {
-
-/*******************************
- Constructor for l,r values
- *******************************/
-
- public Symbol(int id, int l, int r, Object o) {
- this(id);
- left = l;
- right = r;
- value = o;
- }
-
-/*******************************
- Constructor for no l,r values
-********************************/
-
- public Symbol(int id, Object o) {
- this(id, -1, -1, o);
- }
-
-/*****************************
- Constructor for no value
- ***************************/
-
- public Symbol(int id, int l, int r) {
- this(id, l, r, null);
- }
-
-/***********************************
- Constructor for no value or l,r
-***********************************/
-
- public Symbol(int sym_num) {
- this(sym_num, -1);
- left = -1;
- right = -1;
- value = null;
- }
-
-/***********************************
- Constructor to give a start state
-***********************************/
- Symbol(int sym_num, int state)
- {
- sym = sym_num;
- parse_state = state;
- }
-
-/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
- /** The symbol number of the terminal or non terminal being represented */
- public int sym;
-
- /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
- /** 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.
- */
- public int parse_state;
- /** This allows us to catch some errors caused by scanners recycling
- * symbols. For the use of the parser only. [CSA, 23-Jul-1999] */
- boolean used_by_parser = false;
-
-/*******************************
- The data passed to parser
- *******************************/
-
- public int left, right;
- public Object value;
-
- /*****************************
- Printing this token out. (Override for pretty-print).
- ****************************/
- public String toString() { return "#"+sym; }
-}
-
-
-
-
-
-