|
|||||||||
| Home >> All >> [ java_cup overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
java_cup
Class non_terminal

java.lang.Objectjava_cup.symbol
java_cup.non_terminal
- public class non_terminal
- extends symbol
This class represents a non-terminal symbol in the grammar. Each non 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 pushed on the parse stack to represent it).
- Version:
- last updated: 11/25/95
| Field Summary | |
protected static java.util.Hashtable |
_all
Table of all non-terminals -- elements are stored using name strings as the key |
protected static java.util.Hashtable |
_all_by_index
Table of all non terminals indexed by their index number. |
protected terminal_set |
_first_set
First set for this non-terminal. |
protected boolean |
_nullable
Nullability of this non terminal. |
protected java.util.Hashtable |
_productions
Table of all productions with this non terminal on the LHS. |
boolean |
is_embedded_action
flag non-terminals created to embed action productions |
protected static int |
next_index
Static counter to assign unique indexes. |
protected static int |
next_nt
Static counter for creating unique non-terminal names |
static non_terminal |
START_nt
special non-terminal for start symbol |
| Fields inherited from class java_cup.symbol |
_index, _name, _stack_type, _use_count |
| Constructor Summary | |
non_terminal(java.lang.String nm)
Constructor with default type. |
|
non_terminal(java.lang.String nm,
java.lang.String tp)
Full constructor. |
|
| Method Summary | |
void |
add_production(production prod)
Add a production to our set of productions. |
static java.util.Enumeration |
all()
Access to all non-terminals. |
static void |
compute_first_sets()
Compute first sets for all non-terminals. |
static void |
compute_nullability()
Compute nullability of all non-terminals. |
(package private) static non_terminal |
create_new()
static routine for creating a new uniquely named hidden non-terminal |
(package private) static non_terminal |
create_new(java.lang.String prefix)
Method for creating a new uniquely named hidden non-terminal using the given string as a base for the name (or "NT$" if null is passed). |
static non_terminal |
find(int indx)
Lookup a non terminal by index. |
static non_terminal |
find(java.lang.String with_name)
lookup a non terminal by name string |
terminal_set |
first_set()
First set for this non-terminal. |
boolean |
is_non_term()
Indicate that this symbol is a non-terminal. |
protected boolean |
looks_nullable()
Test to see if this non terminal currently looks nullable. |
boolean |
nullable()
Nullability of this non terminal. |
int |
num_productions()
Total number of productions with this non terminal on the LHS. |
static int |
number()
Total number of non-terminals. |
java.util.Enumeration |
productions()
Access to productions with this non terminal on the LHS. |
java.lang.String |
toString()
convert to string |
| Methods inherited from class java_cup.symbol |
index, name, note_use, stack_type, use_count |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
_all
protected static java.util.Hashtable _all
- Table of all non-terminals -- elements are stored using name strings
as the key
_all_by_index
protected static java.util.Hashtable _all_by_index
- Table of all non terminals indexed by their index number.
next_index
protected static int next_index
- Static counter to assign unique indexes.
next_nt
protected static int next_nt
- Static counter for creating unique non-terminal names
START_nt
public static final non_terminal START_nt
- special non-terminal for start symbol
is_embedded_action
public boolean is_embedded_action
- flag non-terminals created to embed action productions
_productions
protected java.util.Hashtable _productions
- Table of all productions with this non terminal on the LHS.
_nullable
protected boolean _nullable
- Nullability of this non terminal.
_first_set
protected terminal_set _first_set
- First set for this non-terminal.
| Constructor Detail |
non_terminal
public non_terminal(java.lang.String nm, java.lang.String tp)
- Full constructor.
non_terminal
public non_terminal(java.lang.String nm)
- Constructor with default type.
| Method Detail |
all
public static java.util.Enumeration all()
- Access to all non-terminals.
find
public static non_terminal find(java.lang.String with_name)
- lookup a non terminal by name string
find
public static non_terminal find(int indx)
- Lookup a non terminal by index.
number
public static int number()
- Total number of non-terminals.
create_new
static non_terminal create_new(java.lang.String prefix) throws internal_error
- Method for creating a new uniquely named hidden non-terminal using
the given string as a base for the name (or "NT$" if null is passed).
create_new
static non_terminal create_new() throws internal_error
- static routine for creating a new uniquely named hidden non-terminal
compute_nullability
public static void compute_nullability()
throws internal_error
- Compute nullability of all non-terminals.
compute_first_sets
public static void compute_first_sets()
throws internal_error
- Compute first sets for all non-terminals. This assumes nullability has
already computed.
productions
public java.util.Enumeration productions()
- Access to productions with this non terminal on the LHS.
num_productions
public int num_productions()
- Total number of productions with this non terminal on the LHS.
add_production
public void add_production(production prod) throws internal_error
- Add a production to our set of productions.
nullable
public boolean nullable()
- Nullability of this non terminal.
first_set
public terminal_set first_set()
- First set for this non-terminal.
is_non_term
public boolean is_non_term()
- Indicate that this symbol is a non-terminal.
- Specified by:
is_non_termin classsymbol
looks_nullable
protected boolean looks_nullable()
throws internal_error
- Test to see if this non terminal currently looks nullable.
toString
public java.lang.String toString()
|
|||||||||
| Home >> All >> [ java_cup overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC