
java_cup.shift_action Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javacup Show documentation
Show all versions of javacup Show documentation
A fork of the Java Cup parser generator with some bug fixes and enhancements. (Forked at version 11b)
The newest version!
package java_cup;
/**
* This class represents a shift action within the parse table.
* The action simply stores the state that it shifts to and responds
* to queries about its type.
*
* @author Scott Hudson
* @version last updated: 11/25/95
*/
public class shift_action extends parse_action {
/*-----------------------------------------------------------*/
/*--- Constructor(s) ----------------------------------------*/
/*-----------------------------------------------------------*/
/**
* Simple constructor.
*
* @param shft_to the state that this action shifts to.
*/
public shift_action(lalr_state shft_to) throws internal_error {
/* sanity check */
if (shft_to == null)
throw new internal_error(
"Attempt to create a shift_action to a null state");
_shift_to = shft_to;
}
/*-----------------------------------------------------------*/
/*--- (Access to) Instance Variables ------------------------*/
/*-----------------------------------------------------------*/
/**
* The state we shift to.
*/
protected lalr_state _shift_to;
/**
* The state we shift to.
*/
public lalr_state shift_to() {
return _shift_to;
}
/*-----------------------------------------------------------*/
/*--- General Methods ---------------------------------------*/
/*-----------------------------------------------------------*/
/**
* Quick access to type of action.
*/
public int kind() {
return SHIFT;
}
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
/**
* Equality test.
*/
public boolean equals(shift_action other) {
return other != null && other.shift_to() == shift_to();
}
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
/**
* Generic equality test.
*/
public boolean equals(Object other) {
if (other instanceof shift_action)
return equals((shift_action) other);
else
return false;
}
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
/**
* Compute a hash code.
*/
public int hashCode() {
/* use the hash code of the state we are shifting to */
return shift_to().hashCode();
}
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
/**
* Convert to a string.
*/
public String toString() {
return "SHIFT(to state " + shift_to().index() + ")";
}
/*-----------------------------------------------------------*/
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy