2
//----------------------------------------------------
3
// The following code was generated by CUP v0.11a beta 20060608
4
// Thu Jun 19 13:14:21 NZST 2008
5
//----------------------------------------------------
8
* STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
10
* Copyright (c) 1989-1998 by Lucent Technologies
12
* Permission to use, copy, modify, and distribute this software and its
13
* documentation for any purpose and without fee is hereby granted, provided
14
* that the above copyright notice appear in all copies and that both the
15
* copyright notice and this permission notice and warranty disclaimer appear
16
* in supporting documentation, and that the name of Lucent Technologies, Bell
17
* Labs or any Lucent entity not be used in advertising or publicity pertaining
18
* to distribution of the software without specific, written prior permission.
20
* Lucent disclaims all warranties with regard to this software, including all
21
* implied warranties of merchantability and fitness. In no event shall Lucent
22
* be liable for any special, indirect or consequential damages or any damages
23
* whatsoever resulting from loss of use, data or profits, whether in an action
24
* of contract, negligence or other tortious action, arising out of or in
25
* connection with the use or performance of this software.
27
* Taken from this URL:
28
* http://www.smlnj.org/license.html
30
* This license is compatible with the GNU GPL (see section "Standard ML of New
31
* Jersey Copyright License"):
32
* http://www.gnu.org/licenses/license-list.html#StandardMLofNJ
36
* Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
39
package weka.filters.unsupervised.instance.subsetbyexpression;
42
import weka.core.parser.java_cup.runtime.*;
46
/** CUP v0.11a beta 20060608 generated parser.
47
* @version Thu Jun 19 13:14:21 NZST 2008
49
public class Parser extends weka.core.parser.java_cup.runtime.lr_parser {
51
/** Default constructor. */
52
public Parser() {super();}
54
/** Constructor which sets the default scanner. */
55
public Parser(weka.core.parser.java_cup.runtime.Scanner s) {super(s);}
57
/** Constructor which sets the default scanner. */
58
public Parser(weka.core.parser.java_cup.runtime.Scanner s, weka.core.parser.java_cup.runtime.SymbolFactory sf) {super(s,sf);}
60
/** Production table. */
61
protected static final short _production_table[][] =
62
unpackFromStrings(new String[] {
63
"\000\046\000\002\002\004\000\002\002\004\000\002\002" +
64
"\003\000\002\003\003\000\002\007\003\000\002\007\003" +
65
"\000\002\007\003\000\002\007\005\000\002\007\005\000" +
66
"\002\007\005\000\002\007\005\000\002\007\005\000\002" +
67
"\007\005\000\002\007\004\000\002\007\005\000\002\007" +
68
"\005\000\002\007\005\000\002\007\006\000\002\004\003" +
69
"\000\002\004\003\000\002\004\005\000\002\004\003\000" +
70
"\002\004\003\000\002\005\005\000\002\005\005\000\002" +
71
"\005\005\000\002\005\005\000\002\006\006\000\002\006" +
72
"\006\000\002\006\006\000\002\006\006\000\002\006\006" +
73
"\000\002\006\006\000\002\006\006\000\002\006\006\000" +
74
"\002\006\006\000\002\006\010\000\002\006\006" });
76
/** Access to production table. */
77
public short[][] production_table() {return _production_table;}
79
/** Parse-action table. */
80
protected static final short[][] _action_table =
81
unpackFromStrings(new String[] {
82
"\000\142\000\050\005\016\007\033\014\026\015\012\016" +
83
"\020\017\021\020\004\021\006\022\034\023\014\024\015" +
84
"\025\011\026\017\027\013\030\031\036\010\042\024\043" +
85
"\022\044\007\001\002\000\004\005\142\001\002\000\024" +
86
"\010\045\011\043\012\046\013\044\031\110\032\106\033" +
87
"\107\034\104\035\105\001\002\000\004\005\137\001\002" +
88
"\000\030\006\uffee\010\uffee\011\uffee\012\uffee\013\uffee\031" +
89
"\uffee\032\uffee\033\uffee\034\uffee\035\uffee\041\135\001\002" +
90
"\000\050\005\016\007\033\014\026\015\012\016\020\017" +
91
"\021\020\004\021\006\022\034\023\014\024\015\025\011" +
92
"\026\017\027\013\030\031\036\010\042\024\043\022\044" +
93
"\007\001\002\000\004\005\127\001\002\000\004\005\124" +
94
"\001\002\000\060\002\ufffc\005\ufffc\006\ufffc\007\ufffc\014" +
95
"\ufffc\015\ufffc\016\ufffc\017\ufffc\020\ufffc\021\ufffc\022\ufffc" +
96
"\023\ufffc\024\ufffc\025\ufffc\026\ufffc\027\ufffc\030\ufffc\036" +
97
"\ufffc\037\ufffc\040\ufffc\042\ufffc\043\ufffc\044\ufffc\001\002" +
98
"\000\004\005\121\001\002\000\004\005\116\001\002\000" +
99
"\050\005\016\007\033\014\026\015\012\016\020\017\021" +
100
"\020\004\021\006\022\034\023\014\024\015\025\011\026" +
101
"\017\027\013\030\031\036\010\042\024\043\022\044\007" +
102
"\001\002\000\004\005\076\001\002\000\004\005\073\001" +
103
"\002\000\004\005\070\001\002\000\060\002\ufffd\005\ufffd" +
104
"\006\ufffd\007\ufffd\014\ufffd\015\ufffd\016\ufffd\017\ufffd\020" +
105
"\ufffd\021\ufffd\022\ufffd\023\ufffd\024\ufffd\025\ufffd\026\ufffd" +
106
"\027\ufffd\030\ufffd\036\ufffd\037\ufffd\040\ufffd\042\ufffd\043" +
107
"\ufffd\044\ufffd\001\002\000\052\002\uffff\005\uffff\007\uffff" +
108
"\014\uffff\015\uffff\016\uffff\017\uffff\020\uffff\021\uffff\022" +
109
"\uffff\023\uffff\024\uffff\025\uffff\026\uffff\027\uffff\030\uffff" +
110
"\036\uffff\042\uffff\043\uffff\044\uffff\001\002\000\104\002" +
111
"\uffef\004\uffef\005\uffef\006\uffef\007\uffef\010\uffef\011\uffef" +
112
"\012\uffef\013\uffef\014\uffef\015\uffef\016\uffef\017\uffef\020" +
113
"\uffef\021\uffef\022\uffef\023\uffef\024\uffef\025\uffef\026\uffef" +
114
"\027\uffef\030\uffef\031\uffef\032\uffef\033\uffef\034\uffef\035" +
115
"\uffef\036\uffef\037\uffef\040\uffef\042\uffef\043\uffef\044\uffef" +
116
"\001\002\000\104\002\uffeb\004\uffeb\005\uffeb\006\uffeb\007" +
117
"\uffeb\010\uffeb\011\uffeb\012\uffeb\013\uffeb\014\uffeb\015\uffeb" +
118
"\016\uffeb\017\uffeb\020\uffeb\021\uffeb\022\uffeb\023\uffeb\024" +
119
"\uffeb\025\uffeb\026\uffeb\027\uffeb\030\uffeb\031\uffeb\032\uffeb" +
120
"\033\uffeb\034\uffeb\035\uffeb\036\uffeb\037\uffeb\040\uffeb\042" +
121
"\uffeb\043\uffeb\044\uffeb\001\002\000\004\005\065\001\002" +
122
"\000\052\002\064\005\016\007\033\014\026\015\012\016" +
123
"\020\017\021\020\004\021\006\022\034\023\014\024\015" +
124
"\025\011\026\017\027\013\030\031\036\010\042\024\043" +
125
"\022\044\007\001\002\000\056\002\ufffe\005\ufffe\007\ufffe" +
126
"\014\ufffe\015\ufffe\016\ufffe\017\ufffe\020\ufffe\021\ufffe\022" +
127
"\ufffe\023\ufffe\024\ufffe\025\ufffe\026\ufffe\027\ufffe\030\ufffe" +
128
"\036\ufffe\037\057\040\060\042\ufffe\043\ufffe\044\ufffe\001" +
129
"\002\000\060\002\ufffb\005\ufffb\006\ufffb\007\ufffb\014\ufffb" +
130
"\015\ufffb\016\ufffb\017\ufffb\020\ufffb\021\ufffb\022\ufffb\023" +
131
"\ufffb\024\ufffb\025\ufffb\026\ufffb\027\ufffb\030\ufffb\036\ufffb" +
132
"\037\ufffb\040\ufffb\042\ufffb\043\ufffb\044\ufffb\001\002\000" +
133
"\104\002\uffec\004\uffec\005\uffec\006\uffec\007\uffec\010\uffec" +
134
"\011\uffec\012\uffec\013\uffec\014\uffec\015\uffec\016\uffec\017" +
135
"\uffec\020\uffec\021\uffec\022\uffec\023\uffec\024\uffec\025\uffec" +
136
"\026\uffec\027\uffec\030\uffec\031\uffec\032\uffec\033\uffec\034" +
137
"\uffec\035\uffec\036\uffec\037\uffec\040\uffec\042\uffec\043\uffec" +
138
"\044\uffec\001\002\000\004\005\054\001\002\000\004\005" +
139
"\035\001\002\000\036\005\040\014\026\015\012\016\020" +
140
"\017\021\020\004\021\006\022\034\023\014\024\015\025" +
141
"\011\026\017\042\024\044\036\001\002\000\104\002\uffee" +
142
"\004\uffee\005\uffee\006\uffee\007\uffee\010\uffee\011\uffee\012" +
143
"\uffee\013\uffee\014\uffee\015\uffee\016\uffee\017\uffee\020\uffee" +
144
"\021\uffee\022\uffee\023\uffee\024\uffee\025\uffee\026\uffee\027" +
145
"\uffee\030\uffee\031\uffee\032\uffee\033\uffee\034\uffee\035\uffee" +
146
"\036\uffee\037\uffee\040\uffee\042\uffee\043\uffee\044\uffee\001" +
147
"\002\000\014\006\053\010\045\011\043\012\046\013\044" +
148
"\001\002\000\036\005\040\014\026\015\012\016\020\017" +
149
"\021\020\004\021\006\022\034\023\014\024\015\025\011" +
150
"\026\017\042\024\044\036\001\002\000\014\006\042\010" +
151
"\045\011\043\012\046\013\044\001\002\000\104\002\uffed" +
152
"\004\uffed\005\uffed\006\uffed\007\uffed\010\uffed\011\uffed\012" +
153
"\uffed\013\uffed\014\uffed\015\uffed\016\uffed\017\uffed\020\uffed" +
154
"\021\uffed\022\uffed\023\uffed\024\uffed\025\uffed\026\uffed\027" +
155
"\uffed\030\uffed\031\uffed\032\uffed\033\uffed\034\uffed\035\uffed" +
156
"\036\uffed\037\uffed\040\uffed\042\uffed\043\uffed\044\uffed\001" +
157
"\002\000\036\005\040\014\026\015\012\016\020\017\021" +
158
"\020\004\021\006\022\034\023\014\024\015\025\011\026" +
159
"\017\042\024\044\036\001\002\000\036\005\040\014\026" +
160
"\015\012\016\020\017\021\020\004\021\006\022\034\023" +
161
"\014\024\015\025\011\026\017\042\024\044\036\001\002" +
162
"\000\036\005\040\014\026\015\012\016\020\017\021\020" +
163
"\004\021\006\022\034\023\014\024\015\025\011\026\017" +
164
"\042\024\044\036\001\002\000\036\005\040\014\026\015" +
165
"\012\016\020\017\021\020\004\021\006\022\034\023\014" +
166
"\024\015\025\011\026\017\042\024\044\036\001\002\000" +
167
"\104\002\uffe8\004\uffe8\005\uffe8\006\uffe8\007\uffe8\010\uffe8" +
168
"\011\uffe8\012\uffe8\013\uffe8\014\uffe8\015\uffe8\016\uffe8\017" +
169
"\uffe8\020\uffe8\021\uffe8\022\uffe8\023\uffe8\024\uffe8\025\uffe8" +
170
"\026\uffe8\027\uffe8\030\uffe8\031\uffe8\032\uffe8\033\uffe8\034" +
171
"\uffe8\035\uffe8\036\uffe8\037\uffe8\040\uffe8\042\uffe8\043\uffe8" +
172
"\044\uffe8\001\002\000\104\002\uffe9\004\uffe9\005\uffe9\006" +
173
"\uffe9\007\uffe9\010\uffe9\011\uffe9\012\046\013\044\014\uffe9" +
174
"\015\uffe9\016\uffe9\017\uffe9\020\uffe9\021\uffe9\022\uffe9\023" +
175
"\uffe9\024\uffe9\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9" +
176
"\032\uffe9\033\uffe9\034\uffe9\035\uffe9\036\uffe9\037\uffe9\040" +
177
"\uffe9\042\uffe9\043\uffe9\044\uffe9\001\002\000\104\002\uffe7" +
178
"\004\uffe7\005\uffe7\006\uffe7\007\uffe7\010\uffe7\011\uffe7\012" +
179
"\uffe7\013\uffe7\014\uffe7\015\uffe7\016\uffe7\017\uffe7\020\uffe7" +
180
"\021\uffe7\022\uffe7\023\uffe7\024\uffe7\025\uffe7\026\uffe7\027" +
181
"\uffe7\030\uffe7\031\uffe7\032\uffe7\033\uffe7\034\uffe7\035\uffe7" +
182
"\036\uffe7\037\uffe7\040\uffe7\042\uffe7\043\uffe7\044\uffe7\001" +
183
"\002\000\104\002\uffea\004\uffea\005\uffea\006\uffea\007\uffea" +
184
"\010\uffea\011\uffea\012\046\013\044\014\uffea\015\uffea\016" +
185
"\uffea\017\uffea\020\uffea\021\uffea\022\uffea\023\uffea\024\uffea" +
186
"\025\uffea\026\uffea\027\uffea\030\uffea\031\uffea\032\uffea\033" +
187
"\uffea\034\uffea\035\uffea\036\uffea\037\uffea\040\uffea\042\uffea" +
188
"\043\uffea\044\uffea\001\002\000\104\002\uffe0\004\uffe0\005" +
189
"\uffe0\006\uffe0\007\uffe0\010\uffe0\011\uffe0\012\uffe0\013\uffe0" +
190
"\014\uffe0\015\uffe0\016\uffe0\017\uffe0\020\uffe0\021\uffe0\022" +
191
"\uffe0\023\uffe0\024\uffe0\025\uffe0\026\uffe0\027\uffe0\030\uffe0" +
192
"\031\uffe0\032\uffe0\033\uffe0\034\uffe0\035\uffe0\036\uffe0\037" +
193
"\uffe0\040\uffe0\042\uffe0\043\uffe0\044\uffe0\001\002\000\004" +
194
"\044\055\001\002\000\004\006\056\001\002\000\060\002" +
195
"\ufff0\005\ufff0\006\ufff0\007\ufff0\014\ufff0\015\ufff0\016\ufff0" +
196
"\017\ufff0\020\ufff0\021\ufff0\022\ufff0\023\ufff0\024\ufff0\025" +
197
"\ufff0\026\ufff0\027\ufff0\030\ufff0\036\ufff0\037\ufff0\040\ufff0" +
198
"\042\ufff0\043\ufff0\044\ufff0\001\002\000\050\005\016\007" +
199
"\033\014\026\015\012\016\020\017\021\020\004\021\006" +
200
"\022\034\023\014\024\015\025\011\026\017\027\013\030" +
201
"\031\036\010\042\024\043\022\044\007\001\002\000\050" +
202
"\005\016\007\033\014\026\015\012\016\020\017\021\020" +
203
"\004\021\006\022\034\023\014\024\015\025\011\026\017" +
204
"\027\013\030\031\036\010\042\024\043\022\044\007\001" +
205
"\002\000\060\002\ufff2\005\ufff2\006\ufff2\007\ufff2\014\ufff2" +
206
"\015\ufff2\016\ufff2\017\ufff2\020\ufff2\021\ufff2\022\ufff2\023" +
207
"\ufff2\024\ufff2\025\ufff2\026\ufff2\027\ufff2\030\ufff2\036\ufff2" +
208
"\037\ufff2\040\ufff2\042\ufff2\043\ufff2\044\ufff2\001\002\000" +
209
"\060\002\ufff3\005\ufff3\006\ufff3\007\ufff3\014\ufff3\015\ufff3" +
210
"\016\ufff3\017\ufff3\020\ufff3\021\ufff3\022\ufff3\023\ufff3\024" +
211
"\ufff3\025\ufff3\026\ufff3\027\ufff3\030\ufff3\036\ufff3\037\ufff3" +
212
"\040\ufff3\042\ufff3\043\ufff3\044\ufff3\001\002\000\052\002" +
213
"\001\005\001\007\001\014\001\015\001\016\001\017\001" +
214
"\020\001\021\001\022\001\023\001\024\001\025\001\026" +
215
"\001\027\001\030\001\036\001\042\001\043\001\044\001" +
216
"\001\002\000\004\002\000\001\002\000\036\005\040\014" +
217
"\026\015\012\016\020\017\021\020\004\021\006\022\034" +
218
"\023\014\024\015\025\011\026\017\042\024\044\036\001" +
219
"\002\000\014\006\067\010\045\011\043\012\046\013\044" +
220
"\001\002\000\104\002\uffe6\004\uffe6\005\uffe6\006\uffe6\007" +
221
"\uffe6\010\uffe6\011\uffe6\012\uffe6\013\uffe6\014\uffe6\015\uffe6" +
222
"\016\uffe6\017\uffe6\020\uffe6\021\uffe6\022\uffe6\023\uffe6\024" +
223
"\uffe6\025\uffe6\026\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6" +
224
"\033\uffe6\034\uffe6\035\uffe6\036\uffe6\037\uffe6\040\uffe6\042" +
225
"\uffe6\043\uffe6\044\uffe6\001\002\000\036\005\040\014\026" +
226
"\015\012\016\020\017\021\020\004\021\006\022\034\023" +
227
"\014\024\015\025\011\026\017\042\024\044\036\001\002" +
228
"\000\014\006\072\010\045\011\043\012\046\013\044\001" +
229
"\002\000\104\002\uffe3\004\uffe3\005\uffe3\006\uffe3\007\uffe3" +
230
"\010\uffe3\011\uffe3\012\uffe3\013\uffe3\014\uffe3\015\uffe3\016" +
231
"\uffe3\017\uffe3\020\uffe3\021\uffe3\022\uffe3\023\uffe3\024\uffe3" +
232
"\025\uffe3\026\uffe3\027\uffe3\030\uffe3\031\uffe3\032\uffe3\033" +
233
"\uffe3\034\uffe3\035\uffe3\036\uffe3\037\uffe3\040\uffe3\042\uffe3" +
234
"\043\uffe3\044\uffe3\001\002\000\036\005\040\014\026\015" +
235
"\012\016\020\017\021\020\004\021\006\022\034\023\014" +
236
"\024\015\025\011\026\017\042\024\044\036\001\002\000" +
237
"\014\006\075\010\045\011\043\012\046\013\044\001\002" +
238
"\000\104\002\uffe4\004\uffe4\005\uffe4\006\uffe4\007\uffe4\010" +
239
"\uffe4\011\uffe4\012\uffe4\013\uffe4\014\uffe4\015\uffe4\016\uffe4" +
240
"\017\uffe4\020\uffe4\021\uffe4\022\uffe4\023\uffe4\024\uffe4\025" +
241
"\uffe4\026\uffe4\027\uffe4\030\uffe4\031\uffe4\032\uffe4\033\uffe4" +
242
"\034\uffe4\035\uffe4\036\uffe4\037\uffe4\040\uffe4\042\uffe4\043" +
243
"\uffe4\044\uffe4\001\002\000\036\005\040\014\026\015\012" +
244
"\016\020\017\021\020\004\021\006\022\034\023\014\024" +
245
"\015\025\011\026\017\042\024\044\036\001\002\000\014" +
246
"\006\100\010\045\011\043\012\046\013\044\001\002\000" +
247
"\104\002\uffdc\004\uffdc\005\uffdc\006\uffdc\007\uffdc\010\uffdc" +
248
"\011\uffdc\012\uffdc\013\uffdc\014\uffdc\015\uffdc\016\uffdc\017" +
249
"\uffdc\020\uffdc\021\uffdc\022\uffdc\023\uffdc\024\uffdc\025\uffdc" +
250
"\026\uffdc\027\uffdc\030\uffdc\031\uffdc\032\uffdc\033\uffdc\034" +
251
"\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc\042\uffdc\043\uffdc" +
252
"\044\uffdc\001\002\000\026\006\042\010\045\011\043\012" +
253
"\046\013\044\031\110\032\106\033\107\034\104\035\105" +
254
"\001\002\000\010\006\103\037\057\040\060\001\002\000" +
255
"\060\002\ufff5\005\ufff5\006\ufff5\007\ufff5\014\ufff5\015\ufff5" +
256
"\016\ufff5\017\ufff5\020\ufff5\021\ufff5\022\ufff5\023\ufff5\024" +
257
"\ufff5\025\ufff5\026\ufff5\027\ufff5\030\ufff5\036\ufff5\037\ufff5" +
258
"\040\ufff5\042\ufff5\043\ufff5\044\ufff5\001\002\000\036\005" +
259
"\040\014\026\015\012\016\020\017\021\020\004\021\006" +
260
"\022\034\023\014\024\015\025\011\026\017\042\024\044" +
261
"\036\001\002\000\036\005\040\014\026\015\012\016\020" +
262
"\017\021\020\004\021\006\022\034\023\014\024\015\025" +
263
"\011\026\017\042\024\044\036\001\002\000\036\005\040" +
264
"\014\026\015\012\016\020\017\021\020\004\021\006\022" +
265
"\034\023\014\024\015\025\011\026\017\042\024\044\036" +
266
"\001\002\000\036\005\040\014\026\015\012\016\020\017" +
267
"\021\020\004\021\006\022\034\023\014\024\015\025\011" +
268
"\026\017\042\024\044\036\001\002\000\036\005\040\014" +
269
"\026\015\012\016\020\017\021\020\004\021\006\022\034" +
270
"\023\014\024\015\025\011\026\017\042\024\044\036\001" +
271
"\002\000\070\002\ufffa\005\ufffa\006\ufffa\007\ufffa\010\045" +
272
"\011\043\012\046\013\044\014\ufffa\015\ufffa\016\ufffa\017" +
273
"\ufffa\020\ufffa\021\ufffa\022\ufffa\023\ufffa\024\ufffa\025\ufffa" +
274
"\026\ufffa\027\ufffa\030\ufffa\036\ufffa\037\ufffa\040\ufffa\042" +
275
"\ufffa\043\ufffa\044\ufffa\001\002\000\070\002\ufff8\005\ufff8" +
276
"\006\ufff8\007\ufff8\010\045\011\043\012\046\013\044\014" +
277
"\ufff8\015\ufff8\016\ufff8\017\ufff8\020\ufff8\021\ufff8\022\ufff8" +
278
"\023\ufff8\024\ufff8\025\ufff8\026\ufff8\027\ufff8\030\ufff8\036" +
279
"\ufff8\037\ufff8\040\ufff8\042\ufff8\043\ufff8\044\ufff8\001\002" +
280
"\000\070\002\ufff9\005\ufff9\006\ufff9\007\ufff9\010\045\011" +
281
"\043\012\046\013\044\014\ufff9\015\ufff9\016\ufff9\017\ufff9" +
282
"\020\ufff9\021\ufff9\022\ufff9\023\ufff9\024\ufff9\025\ufff9\026" +
283
"\ufff9\027\ufff9\030\ufff9\036\ufff9\037\ufff9\040\ufff9\042\ufff9" +
284
"\043\ufff9\044\ufff9\001\002\000\070\002\ufff6\005\ufff6\006" +
285
"\ufff6\007\ufff6\010\045\011\043\012\046\013\044\014\ufff6" +
286
"\015\ufff6\016\ufff6\017\ufff6\020\ufff6\021\ufff6\022\ufff6\023" +
287
"\ufff6\024\ufff6\025\ufff6\026\ufff6\027\ufff6\030\ufff6\036\ufff6" +
288
"\037\ufff6\040\ufff6\042\ufff6\043\ufff6\044\ufff6\001\002\000" +
289
"\070\002\ufff7\005\ufff7\006\ufff7\007\ufff7\010\045\011\043" +
290
"\012\046\013\044\014\ufff7\015\ufff7\016\ufff7\017\ufff7\020" +
291
"\ufff7\021\ufff7\022\ufff7\023\ufff7\024\ufff7\025\ufff7\026\ufff7" +
292
"\027\ufff7\030\ufff7\036\ufff7\037\ufff7\040\ufff7\042\ufff7\043" +
293
"\ufff7\044\ufff7\001\002\000\036\005\040\014\026\015\012" +
294
"\016\020\017\021\020\004\021\006\022\034\023\014\024" +
295
"\015\025\011\026\017\042\024\044\036\001\002\000\014" +
296
"\006\120\010\045\011\043\012\046\013\044\001\002\000" +
297
"\104\002\uffde\004\uffde\005\uffde\006\uffde\007\uffde\010\uffde" +
298
"\011\uffde\012\uffde\013\uffde\014\uffde\015\uffde\016\uffde\017" +
299
"\uffde\020\uffde\021\uffde\022\uffde\023\uffde\024\uffde\025\uffde" +
300
"\026\uffde\027\uffde\030\uffde\031\uffde\032\uffde\033\uffde\034" +
301
"\uffde\035\uffde\036\uffde\037\uffde\040\uffde\042\uffde\043\uffde" +
302
"\044\uffde\001\002\000\036\005\040\014\026\015\012\016" +
303
"\020\017\021\020\004\021\006\022\034\023\014\024\015" +
304
"\025\011\026\017\042\024\044\036\001\002\000\014\006" +
305
"\123\010\045\011\043\012\046\013\044\001\002\000\104" +
306
"\002\uffdf\004\uffdf\005\uffdf\006\uffdf\007\uffdf\010\uffdf\011" +
307
"\uffdf\012\uffdf\013\uffdf\014\uffdf\015\uffdf\016\uffdf\017\uffdf" +
308
"\020\uffdf\021\uffdf\022\uffdf\023\uffdf\024\uffdf\025\uffdf\026" +
309
"\uffdf\027\uffdf\030\uffdf\031\uffdf\032\uffdf\033\uffdf\034\uffdf" +
310
"\035\uffdf\036\uffdf\037\uffdf\040\uffdf\042\uffdf\043\uffdf\044" +
311
"\uffdf\001\002\000\036\005\040\014\026\015\012\016\020" +
312
"\017\021\020\004\021\006\022\034\023\014\024\015\025" +
313
"\011\026\017\042\024\044\036\001\002\000\014\006\126" +
314
"\010\045\011\043\012\046\013\044\001\002\000\104\002" +
315
"\uffe5\004\uffe5\005\uffe5\006\uffe5\007\uffe5\010\uffe5\011\uffe5" +
316
"\012\uffe5\013\uffe5\014\uffe5\015\uffe5\016\uffe5\017\uffe5\020" +
317
"\uffe5\021\uffe5\022\uffe5\023\uffe5\024\uffe5\025\uffe5\026\uffe5" +
318
"\027\uffe5\030\uffe5\031\uffe5\032\uffe5\033\uffe5\034\uffe5\035" +
319
"\uffe5\036\uffe5\037\uffe5\040\uffe5\042\uffe5\043\uffe5\044\uffe5" +
320
"\001\002\000\036\005\040\014\026\015\012\016\020\017" +
321
"\021\020\004\021\006\022\034\023\014\024\015\025\011" +
322
"\026\017\042\024\044\036\001\002\000\014\004\131\010" +
323
"\045\011\043\012\046\013\044\001\002\000\036\005\040" +
324
"\014\026\015\012\016\020\017\021\020\004\021\006\022" +
325
"\034\023\014\024\015\025\011\026\017\042\024\044\036" +
326
"\001\002\000\014\006\133\010\045\011\043\012\046\013" +
327
"\044\001\002\000\104\002\uffdd\004\uffdd\005\uffdd\006\uffdd" +
328
"\007\uffdd\010\uffdd\011\uffdd\012\uffdd\013\uffdd\014\uffdd\015" +
329
"\uffdd\016\uffdd\017\uffdd\020\uffdd\021\uffdd\022\uffdd\023\uffdd" +
330
"\024\uffdd\025\uffdd\026\uffdd\027\uffdd\030\uffdd\031\uffdd\032" +
331
"\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\037\uffdd\040\uffdd" +
332
"\042\uffdd\043\uffdd\044\uffdd\001\002\000\060\002\ufff4\005" +
333
"\ufff4\006\ufff4\007\ufff4\014\ufff4\015\ufff4\016\ufff4\017\ufff4" +
334
"\020\ufff4\021\ufff4\022\ufff4\023\ufff4\024\ufff4\025\ufff4\026" +
335
"\ufff4\027\ufff4\030\ufff4\036\ufff4\037\ufff4\040\ufff4\042\ufff4" +
336
"\043\ufff4\044\ufff4\001\002\000\004\045\136\001\002\000" +
337
"\060\002\ufff1\005\ufff1\006\ufff1\007\ufff1\014\ufff1\015\ufff1" +
338
"\016\ufff1\017\ufff1\020\ufff1\021\ufff1\022\ufff1\023\ufff1\024" +
339
"\ufff1\025\ufff1\026\ufff1\027\ufff1\030\ufff1\036\ufff1\037\ufff1" +
340
"\040\ufff1\042\ufff1\043\ufff1\044\ufff1\001\002\000\036\005" +
341
"\040\014\026\015\012\016\020\017\021\020\004\021\006" +
342
"\022\034\023\014\024\015\025\011\026\017\042\024\044" +
343
"\036\001\002\000\014\006\141\010\045\011\043\012\046" +
344
"\013\044\001\002\000\104\002\uffe1\004\uffe1\005\uffe1\006" +
345
"\uffe1\007\uffe1\010\uffe1\011\uffe1\012\uffe1\013\uffe1\014\uffe1" +
346
"\015\uffe1\016\uffe1\017\uffe1\020\uffe1\021\uffe1\022\uffe1\023" +
347
"\uffe1\024\uffe1\025\uffe1\026\uffe1\027\uffe1\030\uffe1\031\uffe1" +
348
"\032\uffe1\033\uffe1\034\uffe1\035\uffe1\036\uffe1\037\uffe1\040" +
349
"\uffe1\042\uffe1\043\uffe1\044\uffe1\001\002\000\036\005\040" +
350
"\014\026\015\012\016\020\017\021\020\004\021\006\022" +
351
"\034\023\014\024\015\025\011\026\017\042\024\044\036" +
352
"\001\002\000\014\006\144\010\045\011\043\012\046\013" +
353
"\044\001\002\000\104\002\uffe2\004\uffe2\005\uffe2\006\uffe2" +
354
"\007\uffe2\010\uffe2\011\uffe2\012\uffe2\013\uffe2\014\uffe2\015" +
355
"\uffe2\016\uffe2\017\uffe2\020\uffe2\021\uffe2\022\uffe2\023\uffe2" +
356
"\024\uffe2\025\uffe2\026\uffe2\027\uffe2\030\uffe2\031\uffe2\032" +
357
"\uffe2\033\uffe2\034\uffe2\035\uffe2\036\uffe2\037\uffe2\040\uffe2" +
358
"\042\uffe2\043\uffe2\044\uffe2\001\002" });
360
/** Access to parse-action table. */
361
public short[][] action_table() {return _action_table;}
363
/** <code>reduce_goto</code> table. */
364
protected static final short[][] _reduce_table =
365
unpackFromStrings(new String[] {
366
"\000\142\000\016\002\026\003\022\004\004\005\031\006" +
367
"\024\007\027\001\001\000\002\001\001\000\002\001\001" +
368
"\000\002\001\001\000\002\001\001\000\012\004\004\005" +
369
"\031\006\024\007\133\001\001\000\002\001\001\000\002" +
370
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
371
"\001\000\012\004\100\005\031\006\024\007\101\001\001" +
372
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
373
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
374
"\001\001\000\002\001\001\000\014\003\062\004\004\005" +
375
"\031\006\024\007\027\001\001\000\002\001\001\000\002" +
376
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
377
"\001\000\010\004\036\005\031\006\024\001\001\000\002" +
378
"\001\001\000\002\001\001\000\010\004\040\005\031\006" +
379
"\024\001\001\000\002\001\001\000\002\001\001\000\010" +
380
"\004\051\005\031\006\024\001\001\000\010\004\050\005" +
381
"\031\006\024\001\001\000\010\004\047\005\031\006\024" +
382
"\001\001\000\010\004\046\005\031\006\024\001\001\000" +
383
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
384
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
385
"\001\000\002\001\001\000\012\004\004\005\031\006\024" +
386
"\007\061\001\001\000\012\004\004\005\031\006\024\007" +
387
"\060\001\001\000\002\001\001\000\002\001\001\000\002" +
388
"\001\001\000\002\001\001\000\010\004\065\005\031\006" +
389
"\024\001\001\000\002\001\001\000\002\001\001\000\010" +
390
"\004\070\005\031\006\024\001\001\000\002\001\001\000" +
391
"\002\001\001\000\010\004\073\005\031\006\024\001\001" +
392
"\000\002\001\001\000\002\001\001\000\010\004\076\005" +
393
"\031\006\024\001\001\000\002\001\001\000\002\001\001" +
394
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
395
"\010\004\114\005\031\006\024\001\001\000\010\004\113" +
396
"\005\031\006\024\001\001\000\010\004\112\005\031\006" +
397
"\024\001\001\000\010\004\111\005\031\006\024\001\001" +
398
"\000\010\004\110\005\031\006\024\001\001\000\002\001" +
399
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
400
"\000\002\001\001\000\010\004\116\005\031\006\024\001" +
401
"\001\000\002\001\001\000\002\001\001\000\010\004\121" +
402
"\005\031\006\024\001\001\000\002\001\001\000\002\001" +
403
"\001\000\010\004\124\005\031\006\024\001\001\000\002" +
404
"\001\001\000\002\001\001\000\010\004\127\005\031\006" +
405
"\024\001\001\000\002\001\001\000\010\004\131\005\031" +
406
"\006\024\001\001\000\002\001\001\000\002\001\001\000" +
407
"\002\001\001\000\002\001\001\000\002\001\001\000\010" +
408
"\004\137\005\031\006\024\001\001\000\002\001\001\000" +
409
"\002\001\001\000\010\004\142\005\031\006\024\001\001" +
410
"\000\002\001\001\000\002\001\001" });
412
/** Access to <code>reduce_goto</code> table. */
413
public short[][] reduce_table() {return _reduce_table;}
415
/** Instance of action encapsulation class. */
416
protected CUP$Parser$actions action_obj;
418
/** Action encapsulation object initializer. */
419
protected void init_actions()
421
action_obj = new CUP$Parser$actions(this);
424
/** Invoke a user supplied parse action. */
425
public weka.core.parser.java_cup.runtime.Symbol do_action(
427
weka.core.parser.java_cup.runtime.lr_parser parser,
428
java.util.Stack stack,
430
throws java.lang.Exception
432
/* call code in generated class */
433
return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
436
/** Indicates start state. */
437
public int start_state() {return 0;}
438
/** Indicates start production. */
439
public int start_production() {return 1;}
441
/** <code>EOF</code> Symbol index. */
442
public int EOF_sym() {return 0;}
444
/** <code>error</code> Symbol index. */
445
public int error_sym() {return 1;}
449
/** variable - value relation. */
450
protected HashMap m_Symbols = new HashMap();
452
/** attribute - attribute-type (constants from weka.core.Attribute) relation. */
453
protected Hashtable<String,Integer> m_AttributeTypes = new Hashtable<String,Integer>();
455
/** for storing the result of the expression. */
456
protected Boolean m_Result = null;
459
* Sets the variable - value relation to use.
461
* @param value the variable-value relation
463
public void setSymbols(HashMap value) {
468
* Returns the current variable - value relation in use.
470
* @return the variable-value relation
472
public HashMap getSymbols() {
477
* Sets the attribute - attribute-type relation to use.
479
* @param value the att - att-type relation
481
public void setAttributeTypes(Hashtable value) {
482
m_AttributeTypes = value;
486
* Returns the current attribute - attribute-type relation in use.
488
* @return the att - att-type relation
490
public Hashtable getAttributeTypes() {
491
return m_AttributeTypes;
495
* Sets the result of the evaluation.
497
* @param value the result
499
public void setResult(Boolean value) {
504
* Returns the result of the evaluation.
508
public Boolean getResult() {
513
* Returns either a String object for nominal attributes or a Double for numeric
514
* ones. For all other attribute types this method throws an Exception.
515
* It also returns a Double object in case of a missing value (for all
518
* @param instance the instance to work on
519
* @param index the index of the attribute to return
520
* @return the converted value
522
public static Object getValue(Instance instance, int index) {
523
if (instance.isMissing(index))
524
return new Double(Instance.missingValue());
525
else if (instance.attribute(index).isNominal())
526
return new String(instance.stringValue(index));
527
else if (instance.attribute(index).isNumeric())
528
return new Double(instance.value(index));
530
throw new IllegalArgumentException(
531
"Unhandled attribute type '" + instance.attribute(index).type() + "'!");
535
* Filters the input dataset against the provided expression.
537
* @param expression the expression used for filtering
538
* @param input the input data
539
* @return the filtered data
540
* @throws Exception if parsing fails
542
public static Instances filter(String expression, Instances input) throws Exception {
544
Instances output = new Instances(input, 0);
546
// setup attribute - attribute-type relation
547
Hashtable<String,Integer> attTypes = new Hashtable<String,Integer>();
548
for (int i = 0; i < input.numAttributes(); i++)
549
attTypes.put("ATT" + (i+1), input.attribute(i).type());
550
if (input.classIndex() > -1)
551
attTypes.put("CLASS", input.classAttribute().type());
554
SymbolFactory sf = new DefaultSymbolFactory();
555
HashMap symbols = new HashMap();
556
ByteArrayInputStream parserInput = new ByteArrayInputStream(expression.getBytes());
557
for (int i = 0; i < input.numInstances(); i++) {
558
Instance instance = input.instance(i);
561
for (int n = 0; n < instance.numAttributes(); n++) {
562
if (n == instance.classIndex())
563
symbols.put("CLASS", getValue(instance, n));
564
symbols.put("ATT" + (n+1), getValue(instance, n));
567
// evaluate expression
569
Parser parser = new Parser(new Scanner(parserInput,sf), sf);
570
parser.setSymbols(symbols);
572
if (parser.getResult())
573
output.add((Instance) instance.copy());
580
* Runs the parser from commandline. Takes the following arguments:
582
* <li>expression</li>
583
* <li>input file</li>
584
* <li>class index (first|last|num), use 0 to ignore</li>
585
* <li>output file</li>
588
* @param args the commandline arguments
589
* @throws Exception if something goes wrong
591
public static void main(String args[]) throws Exception {
593
String expression = args[0];
596
BufferedReader reader = new BufferedReader(new FileReader(args[1]));
597
Instances input = new Instances(reader);
599
if (args[2].equals("first"))
600
input.setClassIndex(0);
601
else if (args[2].equals("last"))
602
input.setClassIndex(input.numAttributes() - 1);
604
input.setClassIndex(Integer.parseInt(args[2]) - 1);
607
Instances output = filter(expression, input);
610
BufferedWriter writer = new BufferedWriter(new FileWriter(args[3]));
611
writer.write(new Instances(output, 0).toString());
613
for (int i = 0; i < output.numInstances(); i++) {
614
writer.write(output.instance(i).toString());
623
/** Cup generated class to encapsulate user supplied action code.*/
624
class CUP$Parser$actions {
625
private final Parser parser;
628
CUP$Parser$actions(Parser parser) {
629
this.parser = parser;
632
/** Method with the actual generated action code. */
633
public final weka.core.parser.java_cup.runtime.Symbol CUP$Parser$do_action(
634
int CUP$Parser$act_num,
635
weka.core.parser.java_cup.runtime.lr_parser CUP$Parser$parser,
636
java.util.Stack CUP$Parser$stack,
638
throws java.lang.Exception
640
/* Symbol object for return from actions */
641
weka.core.parser.java_cup.runtime.Symbol CUP$Parser$result;
643
/* select the action based on the action number */
644
switch (CUP$Parser$act_num)
646
/*. . . . . . . . . . . . . . . . . . . .*/
647
case 37: // funcexpr ::= CEIL LPAREN expr RPAREN
650
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
651
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
652
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
653
RESULT = new Double(Math.ceil(e));
654
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
656
return CUP$Parser$result;
658
/*. . . . . . . . . . . . . . . . . . . .*/
659
case 36: // funcexpr ::= POW LPAREN expr COMMA expr RPAREN
662
int baseleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
663
int baseright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
664
Double base = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
665
int exponentleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
666
int exponentright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
667
Double exponent = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
668
RESULT = new Double(Math.pow(base, exponent));
669
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
671
return CUP$Parser$result;
673
/*. . . . . . . . . . . . . . . . . . . .*/
674
case 35: // funcexpr ::= FLOOR LPAREN expr RPAREN
677
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
678
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
679
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
680
RESULT = new Double(Math.floor(e));
681
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
683
return CUP$Parser$result;
685
/*. . . . . . . . . . . . . . . . . . . .*/
686
case 34: // funcexpr ::= RINT LPAREN expr RPAREN
689
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
690
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
691
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
692
RESULT = new Double(Math.rint(e));
693
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
695
return CUP$Parser$result;
697
/*. . . . . . . . . . . . . . . . . . . .*/
698
case 33: // funcexpr ::= TAN LPAREN expr RPAREN
701
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
702
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
703
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
704
RESULT = new Double(Math.tan(e));
705
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
707
return CUP$Parser$result;
709
/*. . . . . . . . . . . . . . . . . . . .*/
710
case 32: // funcexpr ::= COS LPAREN expr RPAREN
713
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
714
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
715
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
716
RESULT = new Double(Math.cos(e));
717
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
719
return CUP$Parser$result;
721
/*. . . . . . . . . . . . . . . . . . . .*/
722
case 31: // funcexpr ::= SIN LPAREN expr RPAREN
725
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
726
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
727
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
728
RESULT = new Double(Math.sin(e));
729
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
731
return CUP$Parser$result;
733
/*. . . . . . . . . . . . . . . . . . . .*/
734
case 30: // funcexpr ::= EXP LPAREN expr RPAREN
737
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
738
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
739
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
740
RESULT = new Double(Math.exp(e));
741
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
743
return CUP$Parser$result;
745
/*. . . . . . . . . . . . . . . . . . . .*/
746
case 29: // funcexpr ::= LOG LPAREN expr RPAREN
749
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
750
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
751
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
752
RESULT = new Double(Math.log(e));
753
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
755
return CUP$Parser$result;
757
/*. . . . . . . . . . . . . . . . . . . .*/
758
case 28: // funcexpr ::= SQRT LPAREN expr RPAREN
761
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
762
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
763
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
764
RESULT = new Double(Math.sqrt(e));
765
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
767
return CUP$Parser$result;
769
/*. . . . . . . . . . . . . . . . . . . .*/
770
case 27: // funcexpr ::= ABS LPAREN expr RPAREN
773
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
774
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
775
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
776
RESULT = new Double(Math.abs(e));
777
CUP$Parser$result = parser.getSymbolFactory().newSymbol("funcexpr",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
779
return CUP$Parser$result;
781
/*. . . . . . . . . . . . . . . . . . . .*/
782
case 26: // opexpr ::= expr DIVISION expr
785
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
786
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
787
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
788
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
789
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
790
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
791
RESULT = new Double(l.doubleValue() / r.doubleValue());
792
CUP$Parser$result = parser.getSymbolFactory().newSymbol("opexpr",3, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
794
return CUP$Parser$result;
796
/*. . . . . . . . . . . . . . . . . . . .*/
797
case 25: // opexpr ::= expr TIMES expr
800
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
801
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
802
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
803
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
804
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
805
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
806
RESULT = new Double(l.doubleValue() * r.doubleValue());
807
CUP$Parser$result = parser.getSymbolFactory().newSymbol("opexpr",3, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
809
return CUP$Parser$result;
811
/*. . . . . . . . . . . . . . . . . . . .*/
812
case 24: // opexpr ::= expr MINUS expr
815
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
816
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
817
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
818
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
819
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
820
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
821
RESULT = new Double(l.doubleValue() - r.doubleValue());
822
CUP$Parser$result = parser.getSymbolFactory().newSymbol("opexpr",3, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
824
return CUP$Parser$result;
826
/*. . . . . . . . . . . . . . . . . . . .*/
827
case 23: // opexpr ::= expr PLUS expr
830
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
831
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
832
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
833
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
834
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
835
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
836
RESULT = new Double(l.doubleValue() + r.doubleValue());
837
CUP$Parser$result = parser.getSymbolFactory().newSymbol("opexpr",3, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
839
return CUP$Parser$result;
841
/*. . . . . . . . . . . . . . . . . . . .*/
842
case 22: // expr ::= funcexpr
845
int fleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
846
int fright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
847
Double f = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
849
CUP$Parser$result = parser.getSymbolFactory().newSymbol("expr",2, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
851
return CUP$Parser$result;
853
/*. . . . . . . . . . . . . . . . . . . .*/
854
case 21: // expr ::= opexpr
857
int oleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
858
int oright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
859
Double o = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
861
CUP$Parser$result = parser.getSymbolFactory().newSymbol("expr",2, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
863
return CUP$Parser$result;
865
/*. . . . . . . . . . . . . . . . . . . .*/
866
case 20: // expr ::= LPAREN expr RPAREN
869
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
870
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
871
Double e = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
873
CUP$Parser$result = parser.getSymbolFactory().newSymbol("expr",2, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
875
return CUP$Parser$result;
877
/*. . . . . . . . . . . . . . . . . . . .*/
878
case 19: // expr ::= ATTRIBUTE
881
int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
882
int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
883
String a = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
884
if (parser.getSymbols().containsKey(a))
885
RESULT = (Double) parser.getSymbols().get(a);
887
throw new IllegalStateException("Unknown symbol '" + a + "'!");
889
CUP$Parser$result = parser.getSymbolFactory().newSymbol("expr",2, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
891
return CUP$Parser$result;
893
/*. . . . . . . . . . . . . . . . . . . .*/
894
case 18: // expr ::= NUMBER
897
int nleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
898
int nright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
899
Double n = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
901
CUP$Parser$result = parser.getSymbolFactory().newSymbol("expr",2, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
903
return CUP$Parser$result;
905
/*. . . . . . . . . . . . . . . . . . . .*/
906
case 17: // boolexpr ::= ISMISSING LPAREN ATTRIBUTE RPAREN
908
Boolean RESULT =null;
909
int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
910
int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
911
String a = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
912
if (parser.getSymbols().containsKey(a))
913
RESULT = (parser.getSymbols().get(a) instanceof Double) && Instance.isMissingValue((Double) parser.getSymbols().get(a));
915
throw new IllegalStateException("Unknown symbol '" + a + "'!");
917
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
919
return CUP$Parser$result;
921
/*. . . . . . . . . . . . . . . . . . . .*/
922
case 16: // boolexpr ::= ATTRIBUTE IS STRING
924
Boolean RESULT =null;
925
int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
926
int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
927
String a = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
928
int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
929
int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
930
String s = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
931
if (parser.getSymbols().containsKey(a))
932
RESULT = (parser.getSymbols().get(a) instanceof String) && ((String) parser.getSymbols().get(a)).equals(s);
934
throw new IllegalStateException("Unknown symbol '" + a + "'!");
936
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
938
return CUP$Parser$result;
940
/*. . . . . . . . . . . . . . . . . . . .*/
941
case 15: // boolexpr ::= boolexpr OR boolexpr
943
Boolean RESULT =null;
944
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
945
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
946
Boolean l = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
947
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
948
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
949
Boolean r = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
951
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
953
return CUP$Parser$result;
955
/*. . . . . . . . . . . . . . . . . . . .*/
956
case 14: // boolexpr ::= boolexpr AND boolexpr
958
Boolean RESULT =null;
959
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
960
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
961
Boolean l = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
962
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
963
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
964
Boolean r = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
966
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
968
return CUP$Parser$result;
970
/*. . . . . . . . . . . . . . . . . . . .*/
971
case 13: // boolexpr ::= NOT boolexpr
973
Boolean RESULT =null;
974
int bleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
975
int bright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
976
Boolean b = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
978
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
980
return CUP$Parser$result;
982
/*. . . . . . . . . . . . . . . . . . . .*/
983
case 12: // boolexpr ::= LPAREN boolexpr RPAREN
985
Boolean RESULT =null;
986
int bleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
987
int bright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
988
Boolean b = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
990
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
992
return CUP$Parser$result;
994
/*. . . . . . . . . . . . . . . . . . . .*/
995
case 11: // boolexpr ::= expr EQ expr
997
Boolean RESULT =null;
998
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
999
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1000
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1001
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1002
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1003
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1004
RESULT = new Boolean(l.doubleValue() == r.doubleValue());
1005
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1007
return CUP$Parser$result;
1009
/*. . . . . . . . . . . . . . . . . . . .*/
1010
case 10: // boolexpr ::= expr GE expr
1012
Boolean RESULT =null;
1013
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1014
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1015
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1016
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1017
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1018
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1019
RESULT = new Boolean(l.doubleValue() >= r.doubleValue());
1020
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1022
return CUP$Parser$result;
1024
/*. . . . . . . . . . . . . . . . . . . .*/
1025
case 9: // boolexpr ::= expr GT expr
1027
Boolean RESULT =null;
1028
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1029
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1030
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1031
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1032
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1033
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1034
RESULT = new Boolean(l.doubleValue() > r.doubleValue());
1035
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1037
return CUP$Parser$result;
1039
/*. . . . . . . . . . . . . . . . . . . .*/
1040
case 8: // boolexpr ::= expr LE expr
1042
Boolean RESULT =null;
1043
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1044
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1045
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1046
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1047
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1048
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1049
RESULT = new Boolean(l.doubleValue() <= r.doubleValue());
1050
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1052
return CUP$Parser$result;
1054
/*. . . . . . . . . . . . . . . . . . . .*/
1055
case 7: // boolexpr ::= expr LT expr
1057
Boolean RESULT =null;
1058
int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1059
int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1060
Double l = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1061
int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1062
int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1063
Double r = (Double)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1064
RESULT = new Boolean(l.doubleValue() < r.doubleValue());
1065
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1067
return CUP$Parser$result;
1069
/*. . . . . . . . . . . . . . . . . . . .*/
1070
case 6: // boolexpr ::= FALSE
1072
Boolean RESULT =null;
1073
RESULT = new Boolean(false);
1074
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1076
return CUP$Parser$result;
1078
/*. . . . . . . . . . . . . . . . . . . .*/
1079
case 5: // boolexpr ::= TRUE
1081
Boolean RESULT =null;
1082
RESULT = new Boolean(true);
1083
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1085
return CUP$Parser$result;
1087
/*. . . . . . . . . . . . . . . . . . . .*/
1088
case 4: // boolexpr ::= BOOLEAN
1090
Boolean RESULT =null;
1091
int bleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1092
int bright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1093
Boolean b = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1095
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1097
return CUP$Parser$result;
1099
/*. . . . . . . . . . . . . . . . . . . .*/
1100
case 3: // boolexpr_part ::= boolexpr
1102
Object RESULT =null;
1103
int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1104
int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1105
Boolean e = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1106
parser.setResult(e);
1107
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr_part",1, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1109
return CUP$Parser$result;
1111
/*. . . . . . . . . . . . . . . . . . . .*/
1112
case 2: // boolexpr_list ::= boolexpr_part
1114
Object RESULT =null;
1116
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr_list",0, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1118
return CUP$Parser$result;
1120
/*. . . . . . . . . . . . . . . . . . . .*/
1121
case 1: // $START ::= boolexpr_list EOF
1123
Object RESULT =null;
1124
int start_valleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1125
int start_valright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1126
Object start_val = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1128
CUP$Parser$result = parser.getSymbolFactory().newSymbol("$START",0, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1131
CUP$Parser$parser.done_parsing();
1132
return CUP$Parser$result;
1134
/*. . . . . . . . . . . . . . . . . . . .*/
1135
case 0: // boolexpr_list ::= boolexpr_list boolexpr_part
1137
Object RESULT =null;
1139
CUP$Parser$result = parser.getSymbolFactory().newSymbol("boolexpr_list",0, ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1141
return CUP$Parser$result;
1145
throw new Exception(
1146
"Invalid action number found in internal parse table");