From 0f1055b8d7f97d86c66fa602c17666bc2ff9c437 Mon Sep 17 00:00:00 2001 From: Constantin Jucovschi Date: Tue, 31 Mar 2009 06:18:54 -0400 Subject: Initial commit --- src/syntaxParser/java_cup/parse_action.java | 92 +++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 src/syntaxParser/java_cup/parse_action.java (limited to 'src/syntaxParser/java_cup/parse_action.java') diff --git a/src/syntaxParser/java_cup/parse_action.java b/src/syntaxParser/java_cup/parse_action.java new file mode 100644 index 0000000..9228663 --- /dev/null +++ b/src/syntaxParser/java_cup/parse_action.java @@ -0,0 +1,92 @@ + +package java_cup; + +/** This class serves as the base class for entries in a parse action table. + * Full entries will either be SHIFT(state_num), REDUCE(production), NONASSOC, + * or ERROR. Objects of this base class will default to ERROR, while + * the other three types will be represented by subclasses. + * + * @see java_cup.reduce_action + * @see java_cup.shift_action + * @version last updated: 7/2/96 + * @author Frank Flannery + */ + +public class parse_action { + + /*-----------------------------------------------------------*/ + /*--- Constructor(s) ----------------------------------------*/ + /*-----------------------------------------------------------*/ + + /** Simple constructor. */ + public parse_action() + { + /* nothing to do in the base class */ + } + + + /*-----------------------------------------------------------*/ + /*--- (Access to) Static (Class) Variables ------------------*/ + /*-----------------------------------------------------------*/ + + /** Constant for action type -- error action. */ + public static final int ERROR = 0; + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** Constant for action type -- shift action. */ + public static final int SHIFT = 1; + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** Constants for action type -- reduce action. */ + public static final int REDUCE = 2; + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** Constants for action type -- reduce action. */ + public static final int NONASSOC = 3; + + /*-----------------------------------------------------------*/ + /*--- General Methods ---------------------------------------*/ + /*-----------------------------------------------------------*/ + + /** Quick access to the type -- base class defaults to error. */ + public int kind() {return ERROR;} + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** Equality test. */ + public boolean equals(parse_action other) + { + /* we match all error actions */ + return other != null && other.kind() == ERROR; + } + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** 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 0xCafe123; + } + + /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ + + /** Convert to string. */ + public String toString() {return "ERROR";} + + /*-----------------------------------------------------------*/ +} + -- cgit