--- /dev/null
+
+package java_cup;
+
+/** This class represents a shift/reduce nonassociative error within the
+ * parse table. If action_table element is assign to type
+ * nonassoc_action, it cannot be changed, and signifies that there
+ * is a conflict between shifting and reducing a production and a
+ * terminal that shouldn't be next to each other.
+ *
+ * @version last updated: 7/2/96
+ * @author Frank Flannery
+ */
+public class nonassoc_action extends parse_action {
+
+ /*-----------------------------------------------------------*/
+ /*--- Constructor(s) ----------------------------------------*/
+ /*-----------------------------------------------------------*/
+
+ /** Simple constructor.
+ */
+ public nonassoc_action() throws internal_error
+ {
+ /* don't need to set anything, since it signifies error */
+ }
+
+ /*-----------------------------------------------------------*/
+ /*--- General Methods ---------------------------------------*/
+ /*-----------------------------------------------------------*/
+
+ /** Quick access to type of action. */
+ public int kind() {return NONASSOC;}
+
+ /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
+
+ /** Equality test. */
+ public boolean equals(parse_action other)
+ {
+ return other != null && other.kind() == NONASSOC;
+ }
+
+ /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
+
+ /** Generic equality test. */
+ public boolean equals(Object other)
+ {
+ if (other instanceof parse_action)
+ return equals((parse_action)other);
+ else
+ return false;
+ }
+
+ /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
+
+ /** Compute a hash code. */
+ public int hashCode()
+ {
+ /* all objects of this class hash together */
+ return 0xCafe321;
+ }
+
+
+
+ /** Convert to string. */
+ public String toString()
+ {
+ return "NONASSOC";
+ }
+
+ /*-----------------------------------------------------------*/
+
+}