Package java_cup
Class terminal
- java.lang.Object
-
- java_cup.symbol
-
- java_cup.terminal
-
public class terminal extends symbol
This class represents a terminal symbol in the grammar. Each terminal has a textual name, an index, and a string which indicates the type of object it will be implemented with at runtime (i.e. the class of object that will be returned by the scanner and pushed on the parse stack to represent it).- Version:
- last updated: 7/3/96
- Author:
- Frank Flannery
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.Hashtable
_all
Table of all terminals.protected static java.util.Hashtable
_all_by_index
Table of all terminals indexed by their index number.static terminal
EOF
Special terminal for end of input.static terminal
error
special terminal used for error recoveryprotected static int
next_index
Static counter to assign unique index.-
Fields inherited from class java_cup.symbol
_index, _name, _stack_type, _use_count
-
-
Constructor Summary
Constructors Constructor Description terminal(java.lang.String nm)
Constructor with default type.terminal(java.lang.String nm, java.lang.String tp)
Constructor for non-precedented terminalterminal(java.lang.String nm, java.lang.String tp, int precedence_side, int precedence_num)
Full constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.Enumeration
all()
Access to all terminals.static void
clear()
static terminal
find(int indx)
Lookup a terminal by index.static terminal
find(java.lang.String with_name)
Lookup a terminal by name string.boolean
is_non_term()
Report this symbol as not being a non-terminal.static int
number()
Total number of terminals.int
precedence_num()
get the precedence of a terminalint
precedence_side()
void
set_precedence(int p, int new_prec)
set the precedence of a terminaljava.lang.String
toString()
Convert to a string.
-
-
-
Field Detail
-
_all
protected static java.util.Hashtable _all
Table of all terminals. Elements are stored using name strings as the key
-
_all_by_index
protected static java.util.Hashtable _all_by_index
Table of all terminals indexed by their index number.
-
next_index
protected static int next_index
Static counter to assign unique index.
-
EOF
public static terminal EOF
Special terminal for end of input.
-
error
public static terminal error
special terminal used for error recovery
-
-
Constructor Detail
-
terminal
public terminal(java.lang.String nm, java.lang.String tp, int precedence_side, int precedence_num)
Full constructor.- Parameters:
nm
- the name of the terminal.tp
- the type of the terminal.
-
terminal
public terminal(java.lang.String nm, java.lang.String tp)
Constructor for non-precedented terminal
-
terminal
public terminal(java.lang.String nm)
Constructor with default type.- Parameters:
nm
- the name of the terminal.
-
-
Method Detail
-
clear
public static void clear()
-
all
public static java.util.Enumeration all()
Access to all terminals.
-
find
public static terminal find(java.lang.String with_name)
Lookup a terminal by name string.
-
find
public static terminal find(int indx)
Lookup a terminal by index.
-
number
public static int number()
Total number of terminals.
-
is_non_term
public boolean is_non_term()
Report this symbol as not being a non-terminal.- Specified by:
is_non_term
in classsymbol
-
toString
public java.lang.String toString()
Convert to a string.
-
precedence_num
public int precedence_num()
get the precedence of a terminal
-
precedence_side
public int precedence_side()
-
set_precedence
public void set_precedence(int p, int new_prec)
set the precedence of a terminal
-
-