2
* STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
4
* Copyright (c) 1989-1998 by Lucent Technologies
6
* Permission to use, copy, modify, and distribute this software and its
7
* documentation for any purpose and without fee is hereby granted, provided
8
* that the above copyright notice appear in all copies and that both the
9
* copyright notice and this permission notice and warranty disclaimer appear
10
* in supporting documentation, and that the name of Lucent Technologies, Bell
11
* Labs or any Lucent entity not be used in advertising or publicity pertaining
12
* to distribution of the software without specific, written prior permission.
14
* Lucent disclaims all warranties with regard to this software, including all
15
* implied warranties of merchantability and fitness. In no event shall Lucent
16
* be liable for any special, indirect or consequential damages or any damages
17
* whatsoever resulting from loss of use, data or profits, whether in an action
18
* of contract, negligence or other tortious action, arising out of or in
19
* connection with the use or performance of this software.
21
* Taken from this URL:
22
* http://www.smlnj.org/license.html
24
* This license is compatible with the GNU GPL (see section "Standard ML of New
25
* Jersey Copyright License"):
26
* http://www.gnu.org/licenses/license-list.html#StandardMLofNJ
30
* Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
33
package weka.core.parser.java_cup;
35
/** This class serves as the base class for entries in a parse action table.
36
* Full entries will either be SHIFT(state_num), REDUCE(production), NONASSOC,
37
* or ERROR. Objects of this base class will default to ERROR, while
38
* the other three types will be represented by subclasses.
40
* @see weka.core.parser.java_cup.reduce_action
41
* @see weka.core.parser.java_cup.shift_action
42
* @version last updated: 7/2/96
43
* @author Frank Flannery
46
public class parse_action {
48
/*-----------------------------------------------------------*/
49
/*--- Constructor(s) ----------------------------------------*/
50
/*-----------------------------------------------------------*/
52
/** Simple constructor. */
55
/* nothing to do in the base class */
59
/*-----------------------------------------------------------*/
60
/*--- (Access to) Static (Class) Variables ------------------*/
61
/*-----------------------------------------------------------*/
63
/** Constant for action type -- error action. */
64
public static final int ERROR = 0;
66
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
68
/** Constant for action type -- shift action. */
69
public static final int SHIFT = 1;
71
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
73
/** Constants for action type -- reduce action. */
74
public static final int REDUCE = 2;
76
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
78
/** Constants for action type -- reduce action. */
79
public static final int NONASSOC = 3;
81
/*-----------------------------------------------------------*/
82
/*--- General Methods ---------------------------------------*/
83
/*-----------------------------------------------------------*/
85
/** Quick access to the type -- base class defaults to error. */
86
public int kind() {return ERROR;}
88
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
91
public boolean equals(parse_action other)
93
/* we match all error actions */
94
return other != null && other.kind() == ERROR;
97
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
99
/** Generic equality test. */
100
public boolean equals(Object other)
102
if (other instanceof parse_action)
103
return equals((parse_action)other);
107
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
109
/** Compute a hash code. */
110
public int hashCode()
112
/* all objects of this class hash together */
116
/*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/
118
/** Convert to string. */
119
public String toString() {return "ERROR";}
121
/*-----------------------------------------------------------*/