+++ /dev/null
-package java_cup;
-
-/** This class represents a transition in an LALR viable prefix recognition
- * machine. Transitions can be under terminals for non-terminals. They are
- * internally linked together into singly linked lists containing all the
- * transitions out of a single state via the _next field.
- *
- * @see java_cup.lalr_state
- * @version last updated: 11/25/95
- * @author Scott Hudson
- *
- */
-public class lalr_transition {
-
- /*-----------------------------------------------------------*/
- /*--- Constructor(s) ----------------------------------------*/
- /*-----------------------------------------------------------*/
-
- /** Full constructor.
- * @param on_sym symbol we are transitioning on.
- * @param to_st state we transition to.
- * @param nxt next transition in linked list.
- */
- public lalr_transition(symbol on_sym, lalr_state to_st, lalr_transition nxt)
- throws internal_error
- {
- /* sanity checks */
- if (on_sym == null)
- throw new internal_error("Attempt to create transition on null symbol");
- if (to_st == null)
- throw new internal_error("Attempt to create transition to null state");
-
- /* initialize */
- _on_symbol = on_sym;
- _to_state = to_st;
- _next = nxt;
- }
-
- /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
- /** Constructor with null next.
- * @param on_sym symbol we are transitioning on.
- * @param to_st state we transition to.
- */
- public lalr_transition(symbol on_sym, lalr_state to_st) throws internal_error
- {
- this(on_sym, to_st, null);
- }
-
- /*-----------------------------------------------------------*/
- /*--- (Access to) Instance Variables ------------------------*/
- /*-----------------------------------------------------------*/
-
- /** The symbol we make the transition on. */
- protected symbol _on_symbol;
-
- /** The symbol we make the transition on. */
- public symbol on_symbol() {return _on_symbol;}
-
- /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
- /** The state we transition to. */
- protected lalr_state _to_state;
-
- /** The state we transition to. */
- public lalr_state to_state() {return _to_state;}
-
- /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
-
- /** Next transition in linked list of transitions out of a state */
- protected lalr_transition _next;
-
- /** Next transition in linked list of transitions out of a state */
- public lalr_transition next() {return _next;}
-
- /*-----------------------------------------------------------*/
- /*--- General Methods ---------------------------------------*/
- /*-----------------------------------------------------------*/
-
- /** Convert to a string. */
- public String toString()
- {
- String result;
-
- result = "transition on " + on_symbol().name() + " to state [";
- result += _to_state.index();
- result += "]";
-
- return result;
- }
-
- /*-----------------------------------------------------------*/
-}