java_cup

Class 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

static terminal
EOF
Special terminal for end of input.
protected static Hashtable
_all
Table of all terminals.
protected static Hashtable
_all_by_index
Table of all terminals indexed by their index number.
static terminal
error
special terminal used for error recovery
protected 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

terminal(String nm)
Constructor with default type.
terminal(String nm, String tp)
Constructor for non-precedented terminal
terminal(String nm, String tp, int precedence_side, int precedence_num)
Full constructor.

Method Summary

static Enumeration
all()
Access to all terminals.
static terminal
find(String with_name)
Lookup a terminal by name string.
static terminal
find(int indx)
Lookup a terminal by index.
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 terminal
int
precedence_side()
void
set_precedence(int p, int new_prec)
set the precedence of a terminal
String
toString()
Convert to a string.

Methods inherited from class java_cup.symbol

index, is_non_term, name, note_use, stack_type, toString, use_count

Field Details

EOF

public static final terminal EOF
Special terminal for end of input.


_all

protected static Hashtable _all
Table of all terminals. Elements are stored using name strings as the key


_all_by_index

protected static Hashtable _all_by_index
Table of all terminals indexed by their index number.


error

public static final terminal error
special terminal used for error recovery


next_index

protected static int next_index
Static counter to assign unique index.

Constructor Details

terminal

public terminal(String nm)
Constructor with default type.

Parameters:
nm - the name of the terminal.


terminal

public terminal(String nm,
                String tp)
Constructor for non-precedented terminal


terminal

public terminal(String nm,
                String tp,
                int precedence_side,
                int precedence_num)
Full constructor.

Parameters:
nm - the name of the terminal.
tp - the type of the terminal.

Method Details

all

public static Enumeration all()
Access to all terminals.


find

public static terminal find(String with_name)
Lookup a terminal by name string.


find

public static terminal find(int indx)
Lookup a terminal by index.


is_non_term

public boolean is_non_term()
Report this symbol as not being a non-terminal.
Overrides:
is_non_term in interface symbol


number

public static int number()
Total number of terminals.


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


toString

public String toString()
Convert to a string.
Overrides:
toString in interface symbol