KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > joram > shared > selectors > Filter


1 /*
2  * JORAM: Java(TM) Open Reliable Asynchronous Messaging
3  * Copyright (C) 2001 - 2004 ScalAgent Distributed Technologies
4  * Copyright (C) 2004 - Bull SA
5  * Copyright (C) 1996 - 2000 Dyade
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  * USA.
21  *
22  * Initial developer(s): Frederic Maistre (INRIA)
23  * Contributor(s): Nicolas Tachker (Bull SA)
24  * ScalAgent Distributed Technologies
25  */

26
27 //----------------------------------------------------
28
// The following code was generated by CUP v0.10j
29
// Fri Jun 18 16:25:44 CEST 2004
30
//----------------------------------------------------
31

32 package org.objectweb.joram.shared.selectors;
33
34 import java_cup.runtime.*;
35 import org.objectweb.joram.shared.messages.Message;
36
37 /** CUP v0.10j generated parser.
38   * @version Fri Jun 18 16:25:44 CEST 2004
39   */

40 public class Filter extends java_cup.runtime.lr_parser {
41
42   /** Default constructor. */
43   public Filter() {super();}
44
45   /** Constructor which sets the default scanner. */
46   public Filter(java_cup.runtime.Scanner s) {super(s);}
47
48   /** Production table. */
49   protected static final short _production_table[][] =
50     unpackFromStrings(new String JavaDoc[] {
51     "\000\053\000\002\003\005\000\002\002\004\000\002\003" +
52     "\005\000\002\003\004\000\002\003\003\000\002\004\005" +
53     "\000\002\004\005\000\002\004\005\000\002\004\005\000" +
54     "\002\004\005\000\002\004\005\000\002\004\005\000\002" +
55     "\004\007\000\002\004\007\000\002\004\007\000\002\004" +
56     "\010\000\002\004\005\000\002\004\006\000\002\004\007" +
57     "\000\002\004\010\000\002\004\005\000\002\004\006\000" +
58     "\002\004\003\000\002\005\005\000\002\005\003\000\002" +
59     "\006\005\000\002\006\005\000\002\006\005\000\002\006" +
60     "\005\000\002\006\004\000\002\006\004\000\002\006\004" +
61     "\000\002\006\003\000\002\007\005\000\002\007\003\000" +
62     "\002\007\003\000\002\007\003\000\002\007\003\000\002" +
63     "\007\003\000\002\007\003\000\002\007\003\000\002\007" +
64     "\003\000\002\007\003" });
65
66   /** Access to production table. */
67   public short[][] production_table() {return _production_table;}
68
69   /** Parse-action table. */
70   protected static final short[][] _action_table =
71     unpackFromStrings(new String JavaDoc[] {
72     "\000\126\000\034\004\010\005\004\011\021\024\017\034" +
73     "\013\035\022\036\006\037\011\040\005\041\024\042\007" +
74     "\043\014\044\012\001\002\000\032\004\010\005\004\011" +
75     "\046\034\013\035\022\036\006\037\011\040\005\041\024" +
76     "\042\007\043\044\044\012\001\002\000\042\002\uffda\004" +
77     "\uffda\005\uffda\007\uffda\010\uffda\012\uffda\014\uffda\015\uffda" +
78     "\016\uffda\017\uffda\020\uffda\021\uffda\022\uffda\023\uffda\026" +
79     "\uffda\027\uffda\001\002\000\042\002\uffdc\004\uffdc\005\uffdc" +
80     "\007\uffdc\010\uffdc\012\uffdc\014\uffdc\015\uffdc\016\uffdc\017" +
81     "\uffdc\020\uffdc\021\uffdc\022\uffdc\023\uffdc\026\uffdc\027\uffdc" +
82     "\001\002\000\042\002\uffd7\004\uffd7\005\uffd7\007\uffd7\010" +
83     "\uffd7\012\uffd7\014\uffd7\015\uffd7\016\uffd7\017\uffd7\020\uffd7" +
84     "\021\uffd7\022\uffd7\023\uffd7\026\uffd7\027\uffd7\001\002\000" +
85     "\032\004\010\005\004\011\046\034\013\035\022\036\006" +
86     "\037\011\040\005\041\024\042\007\043\044\044\012\001" +
87     "\002\000\066\002\uffdb\004\010\005\004\007\uffdb\010\uffdb" +
88     "\011\046\012\uffdb\014\uffdb\015\uffdb\016\uffdb\017\uffdb\020" +
89     "\uffdb\021\uffdb\022\uffdb\023\uffdb\026\uffdb\027\uffdb\034\013" +
90     "\035\022\036\006\037\011\040\005\041\024\042\007\043" +
91     "\044\044\012\001\002\000\042\002\uffd8\004\uffd8\005\uffd8" +
92     "\007\uffd8\010\uffd8\012\uffd8\014\uffd8\015\uffd8\016\uffd8\017" +
93     "\uffd8\020\uffd8\021\uffd8\022\uffd8\023\uffd8\026\uffd8\027\uffd8" +
94     "\001\002\000\042\002\uffde\004\uffde\005\uffde\007\uffde\010" +
95     "\uffde\012\uffde\014\uffde\015\uffde\016\uffde\017\uffde\020\uffde" +
96     "\021\uffde\022\uffde\023\uffde\026\uffde\027\uffde\001\002\000" +
97     "\052\002\uffdf\004\uffdf\005\uffdf\007\uffdf\010\uffdf\012\uffdf" +
98     "\014\uffdf\015\uffdf\016\uffdf\017\uffdf\020\uffdf\021\uffdf\022" +
99     "\uffdf\023\uffdf\024\100\025\076\026\uffdf\027\uffdf\030\077" +
100     "\032\101\001\002\000\042\002\uffe1\004\uffe1\005\uffe1\007" +
101     "\uffe1\010\uffe1\012\uffe1\014\uffe1\015\uffe1\016\uffe1\017\uffe1" +
102     "\020\uffe1\021\uffe1\022\uffe1\023\uffe1\026\uffe1\027\uffe1\001" +
103     "\002\000\010\002\075\022\070\023\071\001\002\000\034" +
104     "\004\010\005\004\011\021\024\017\034\013\035\022\036" +
105     "\006\037\011\040\005\041\024\042\007\043\014\044\012" +
106     "\001\002\000\042\002\uffeb\004\033\005\027\007\042\010" +
107     "\030\012\uffeb\014\040\015\031\016\043\017\035\020\034" +
108     "\021\032\022\uffeb\023\uffeb\026\036\027\037\001\002\000" +
109     "\034\004\010\005\004\011\021\024\017\034\013\035\022" +
110     "\036\006\037\011\040\005\041\024\042\007\043\014\044" +
111     "\012\001\002\000\042\002\uffdd\004\uffdd\005\uffdd\007\uffdd" +
112     "\010\uffdd\012\uffdd\014\uffdd\015\uffdd\016\uffdd\017\uffdd\020" +
113     "\uffdd\021\uffdd\022\uffdd\023\uffdd\026\uffdd\027\uffdd\001\002" +
114     "\000\012\002\ufffd\012\ufffd\022\ufffd\023\ufffd\001\002\000" +
115     "\042\002\uffd9\004\uffd9\005\uffd9\007\uffd9\010\uffd9\012\uffd9" +
116     "\014\uffd9\015\uffd9\016\uffd9\017\uffd9\020\uffd9\021\uffd9\022" +
117     "\uffd9\023\uffd9\026\uffd9\027\uffd9\001\002\000\010\012\067" +
118     "\022\070\023\071\001\002\000\040\004\033\005\027\007" +
119     "\042\010\030\012\041\014\040\015\031\016\043\017\035" +
120     "\020\034\021\032\022\uffeb\023\uffeb\026\036\027\037\001" +
121     "\002\000\032\004\010\005\004\011\046\034\013\035\022" +
122     "\036\006\037\011\040\005\041\024\042\007\043\044\044" +
123     "\012\001\002\000\032\004\010\005\004\011\046\034\013" +
124     "\035\022\036\006\037\011\040\005\041\024\042\007\043" +
125     "\044\044\012\001\002\000\032\004\010\005\004\011\046" +
126     "\034\013\035\022\036\006\037\011\040\005\041\024\042" +
127     "\007\043\044\044\012\001\002\000\032\004\010\005\004" +
128     "\011\046\034\013\035\022\036\006\037\011\040\005\041" +
129     "\024\042\007\043\044\044\012\001\002\000\032\004\010" +
130     "\005\004\011\046\034\013\035\022\036\006\037\011\040" +
131     "\005\041\024\042\007\043\044\044\012\001\002\000\032" +
132     "\004\010\005\004\011\046\034\013\035\022\036\006\037" +
133     "\011\040\005\041\024\042\007\043\044\044\012\001\002" +
134     "\000\032\004\010\005\004\011\046\034\013\035\022\036" +
135     "\006\037\011\040\005\041\024\042\007\043\044\044\012" +
136     "\001\002\000\032\004\010\005\004\011\046\034\013\035" +
137     "\022\036\006\037\011\040\005\041\024\042\007\043\044" +
138     "\044\012\001\002\000\032\004\010\005\004\011\046\034" +
139     "\013\035\022\036\006\037\011\040\005\041\024\042\007" +
140     "\043\044\044\012\001\002\000\032\004\010\005\004\011" +
141     "\046\034\013\035\022\036\006\037\011\040\005\041\024" +
142     "\042\007\043\044\044\012\001\002\000\042\002\uffe0\004" +
143     "\uffe0\005\uffe0\007\uffe0\010\uffe0\012\uffe0\014\uffe0\015\uffe0" +
144     "\016\uffe0\017\uffe0\020\uffe0\021\uffe0\022\uffe0\023\uffe0\026" +
145     "\uffe0\027\uffe0\001\002\000\032\004\010\005\004\011\046" +
146     "\034\013\035\022\036\006\037\011\040\005\041\024\042" +
147     "\007\043\044\044\012\001\002\000\032\004\010\005\004" +
148     "\011\046\034\013\035\022\036\006\037\011\040\005\041" +
149     "\024\042\007\043\044\044\012\001\002\000\042\002\uffdf" +
150     "\004\uffdf\005\uffdf\007\uffdf\010\uffdf\012\uffdf\014\uffdf\015" +
151     "\uffdf\016\uffdf\017\uffdf\020\uffdf\021\uffdf\022\uffdf\023\uffdf" +
152     "\026\uffdf\027\uffdf\001\002\000\022\002\ufff9\004\033\005" +
153     "\027\007\042\010\030\012\ufff9\022\ufff9\023\ufff9\001\002" +
154     "\000\032\004\010\005\004\011\046\034\013\035\022\036" +
155     "\006\037\011\040\005\041\024\042\007\043\044\044\012" +
156     "\001\002\000\014\004\033\005\027\007\042\010\030\012" +
157     "\041\001\002\000\042\002\uffe6\004\uffe6\005\uffe6\007\uffe6" +
158     "\010\uffe6\012\uffe6\014\uffe6\015\uffe6\016\uffe6\017\uffe6\020" +
159     "\uffe6\021\uffe6\022\uffe6\023\uffe6\026\uffe6\027\uffe6\001\002" +
160     "\000\022\002\ufffb\004\033\005\027\007\042\010\030\012" +
161     "\ufffb\022\ufffb\023\ufffb\001\002\000\014\004\033\005\027" +
162     "\007\042\010\030\022\053\001\002\000\032\004\010\005" +
163     "\004\011\046\034\013\035\022\036\006\037\011\040\005" +
164     "\041\024\042\007\043\044\044\012\001\002\000\022\002" +
165     "\ufff4\004\033\005\027\007\042\010\030\012\ufff4\022\ufff4" +
166     "\023\ufff4\001\002\000\014\004\033\005\027\007\042\010" +
167     "\030\022\056\001\002\000\032\004\010\005\004\011\046" +
168     "\034\013\035\022\036\006\037\011\040\005\041\024\042" +
169     "\007\043\044\044\012\001\002\000\022\002\ufff5\004\033" +
170     "\005\027\007\042\010\030\012\ufff5\022\ufff5\023\ufff5\001" +
171     "\002\000\022\002\ufff8\004\033\005\027\007\042\010\030" +
172     "\012\ufff8\022\ufff8\023\ufff8\001\002\000\022\002\ufff7\004" +
173     "\033\005\027\007\042\010\030\012\ufff7\022\ufff7\023\ufff7" +
174     "\001\002\000\042\002\uffe8\004\uffe8\005\uffe8\007\042\010" +
175     "\030\012\uffe8\014\uffe8\015\uffe8\016\uffe8\017\uffe8\020\uffe8" +
176     "\021\uffe8\022\uffe8\023\uffe8\026\uffe8\027\uffe8\001\002\000" +
177     "\022\002\ufff6\004\033\005\027\007\042\010\030\012\ufff6" +
178     "\022\ufff6\023\ufff6\001\002\000\022\002\ufffa\004\033\005" +
179     "\027\007\042\010\030\012\ufffa\022\ufffa\023\ufffa\001\002" +
180     "\000\042\002\uffe5\004\uffe5\005\uffe5\007\uffe5\010\uffe5\012" +
181     "\uffe5\014\uffe5\015\uffe5\016\uffe5\017\uffe5\020\uffe5\021\uffe5" +
182     "\022\uffe5\023\uffe5\026\uffe5\027\uffe5\001\002\000\042\002" +
183     "\uffe7\004\uffe7\005\uffe7\007\042\010\030\012\uffe7\014\uffe7" +
184     "\015\uffe7\016\uffe7\017\uffe7\020\uffe7\021\uffe7\022\uffe7\023" +
185     "\uffe7\026\uffe7\027\uffe7\001\002\000\012\002\ufffc\012\ufffc" +
186     "\022\ufffc\023\ufffc\001\002\000\034\004\010\005\004\011" +
187     "\021\024\017\034\013\035\022\036\006\037\011\040\005" +
188     "\041\024\042\007\043\014\044\012\001\002\000\034\004" +
189     "\010\005\004\011\021\024\017\034\013\035\022\036\006" +
190     "\037\011\040\005\041\024\042\007\043\014\044\012\001" +
191     "\002\000\012\002\001\012\001\022\070\023\001\001\002" +
192     "\000\012\002\uffff\012\uffff\022\uffff\023\uffff\001\002\000" +
193     "\012\002\ufffe\012\ufffe\022\ufffe\023\ufffe\001\002\000\004" +
194     "\002\000\001\002\000\004\044\123\001\002\000\004\011" +
195     "\120\001\002\000\006\025\105\030\106\001\002\000\006" +
196     "\024\102\033\103\001\002\000\004\033\104\001\002\000" +
197     "\012\002\uffed\012\uffed\022\uffed\023\uffed\001\002\000\012" +
198     "\002\uffec\012\uffec\022\uffec\023\uffec\001\002\000\004\044" +
199     "\115\001\002\000\004\011\107\001\002\000\004\044\111" +
200     "\001\002\000\006\012\113\013\112\001\002\000\006\012" +
201     "\uffe9\013\uffe9\001\002\000\004\044\114\001\002\000\012" +
202     "\002\ufff2\012\ufff2\022\ufff2\023\ufff2\001\002\000\006\012" +
203     "\uffea\013\uffea\001\002\000\014\002\ufff0\012\ufff0\022\ufff0" +
204     "\023\ufff0\031\116\001\002\000\004\044\117\001\002\000" +
205     "\012\002\uffee\012\uffee\022\uffee\023\uffee\001\002\000\004" +
206     "\044\111\001\002\000\006\012\122\013\112\001\002\000" +
207     "\012\002\ufff3\012\ufff3\022\ufff3\023\ufff3\001\002\000\014" +
208     "\002\ufff1\012\ufff1\022\ufff1\023\ufff1\031\124\001\002\000" +
209     "\004\044\125\001\002\000\012\002\uffef\012\uffef\022\uffef" +
210     "\023\uffef\001\002\000\042\002\uffe2\004\033\005\027\007" +
211     "\042\010\030\012\uffe2\014\uffe2\015\uffe2\016\uffe2\017\uffe2" +
212     "\020\uffe2\021\uffe2\022\uffe2\023\uffe2\026\uffe2\027\uffe2\001" +
213     "\002\000\042\002\uffe4\004\uffe4\005\uffe4\007\042\010\030" +
214     "\012\uffe4\014\uffe4\015\uffe4\016\uffe4\017\uffe4\020\uffe4\021" +
215     "\uffe4\022\uffe4\023\uffe4\026\uffe4\027\uffe4\001\002\000\042" +
216     "\002\uffe3\004\uffe3\005\uffe3\007\uffe3\010\uffe3\012\uffe3\014" +
217     "\uffe3\015\uffe3\016\uffe3\017\uffe3\020\uffe3\021\uffe3\022\uffe3" +
218     "\023\uffe3\026\uffe3\027\uffe3\001\002" });
219
220   /** Access to parse-action table. */
221   public short[][] action_table() {return _action_table;}
222
223   /** <code>reduce_goto</code> table. */
224   protected static final short[][] _reduce_table =
225     unpackFromStrings(new String JavaDoc[] {
226     "\000\126\000\012\003\015\004\022\006\017\007\014\001" +
227     "\001\000\006\006\127\007\014\001\001\000\002\001\001" +
228     "\000\002\001\001\000\002\001\001\000\006\006\126\007" +
229     "\014\001\001\000\006\006\125\007\014\001\001\000\002" +
230     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
231     "\001\000\002\001\001\000\012\003\073\004\022\006\017" +
232     "\007\014\001\001\000\002\001\001\000\012\003\024\004" +
233     "\022\006\025\007\014\001\001\000\002\001\001\000\002" +
234     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
235     "\001\000\006\006\065\007\014\001\001\000\006\006\064" +
236     "\007\014\001\001\000\006\006\063\007\014\001\001\000" +
237     "\006\006\062\007\014\001\001\000\006\006\061\007\014" +
238     "\001\001\000\006\006\060\007\014\001\001\000\006\006" +
239     "\057\007\014\001\001\000\006\006\054\007\014\001\001" +
240     "\000\006\006\051\007\014\001\001\000\006\006\050\007" +
241     "\014\001\001\000\002\001\001\000\006\006\047\007\014" +
242     "\001\001\000\006\006\044\007\014\001\001\000\002\001" +
243     "\001\000\002\001\001\000\006\006\046\007\014\001\001" +
244     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
245     "\002\001\001\000\006\006\053\007\014\001\001\000\002" +
246     "\001\001\000\002\001\001\000\006\006\056\007\014\001" +
247     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
248     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
249     "\002\001\001\000\002\001\001\000\002\001\001\000\012" +
250     "\003\072\004\022\006\017\007\014\001\001\000\012\003" +
251     "\071\004\022\006\017\007\014\001\001\000\002\001\001" +
252     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
253     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
254     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
255     "\001\000\002\001\001\000\002\001\001\000\004\005\107" +
256     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
257     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
258     "\000\002\001\001\000\002\001\001\000\004\005\120\001" +
259     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
260     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
261     "\002\001\001\000\002\001\001" });
262
263   /** Access to <code>reduce_goto</code> table. */
264   public short[][] reduce_table() {return _reduce_table;}
265
266   /** Instance of action encapsulation class. */
267   protected CUP$Filter$actions action_obj;
268
269   /** Action encapsulation object initializer. */
270   protected void init_actions()
271     {
272       action_obj = new CUP$Filter$actions(this, message, syntaxType);
273     }
274
275   /** Invoke a user supplied parse action. */
276   public java_cup.runtime.Symbol do_action(
277     int act_num,
278     java_cup.runtime.lr_parser parser,
279     java.util.Stack JavaDoc stack,
280     int top)
281     throws java.lang.Exception JavaDoc
282   {
283     /* call code in generated class */
284     return action_obj.CUP$Filter$do_action(act_num, parser, stack, top);
285   }
286
287   /** Indicates start state. */
288   public int start_state() {return 0;}
289   /** Indicates start production. */
290   public int start_production() {return 1;}
291
292   /** <code>EOF</code> Symbol index. */
293   public int EOF_sym() {return 0;}
294
295   /** <code>error</code> Symbol index. */
296   public int error_sym() {return 1;}
297
298
299
300  
301   private Message message;
302   private String JavaDoc syntaxType;
303
304   /** Constructor which sets the default scanner. */
305   public Filter(Scanner s,
306                 Message message,
307                 String JavaDoc syntaxType) {
308     super(s);
309     this.message = message;
310     this.syntaxType = syntaxType;
311   }
312
313   /* Change the method report_error so it will display the line and
314      column of where the error occurred in the input as well as the
315      reason for the error which is passed into the method in the
316      String 'message'. */

317   public void report_error(String JavaDoc message, Object JavaDoc info) {
318  
319     /* Create a StringBuffer called 'm' with the string 'Error' in it. */
320     StringBuffer JavaDoc m = new StringBuffer JavaDoc("Error");
321  
322     /* Check if the information passed to the method is the same
323        type as the type Symbol. */

324     if (info instanceof Symbol) {
325       /* Declare a Symbol object 's' with the
326          information in the object info that is being typecasted
327          as a Symbol object. */

328       Symbol s = ((Symbol) info);
329    
330       /* Check if the line number in the input is greater or
331          equal to zero. */

332       if (s.left >= 0) {
333         /* Add to the end of the StringBuffer error message
334            the line number of the error in the input. */

335         m.append(" in line "+(s.left+1));
336         /* Check if the column number in the input is greater
337            or equal to zero. */

338         if (s.right >= 0)
339           /* Add to the end of the StringBuffer error message
340              the column number of the error in the input. */

341           m.append(", column "+(s.right+1));
342       }
343     }
344    
345     /* Add to the end of the StringBuffer error message created in
346        this method the message that was passed into this method. */

347     m.append(" : "+message);
348    
349     /* Print the contents of the StringBuffer 'm', which contains
350        an error message, out on a line. */

351     //System.err.println(m);
352
throw new Error JavaDoc(m.toString());
353   }
354    
355   /* Change the method report_fatal_error so when it reports a fatal
356      error it will display the line and column number of where the
357      fatal error occurred in the input as well as the reason for the
358      fatal error which is passed into the method in the object
359      'message' and then exit.*/

360   public void report_fatal_error(String JavaDoc message, Object JavaDoc info) {
361     report_error(message, info);
362     //System.exit(1);
363
}
364
365 }
366
367 /** Cup generated class to encapsulate user supplied action code.*/
368 class CUP$Filter$actions {
369
370
371   private Message message;
372   private String JavaDoc syntaxType;
373
374   /** Constructor */
375   CUP$Filter$actions(Filter parser, Message message, String JavaDoc syntaxType) {
376     this.parser = parser;
377     this.message = message;
378     this.syntaxType = syntaxType;
379   }
380
381
382   private final Filter parser;
383
384   /** Constructor */
385   CUP$Filter$actions(Filter parser) {
386     this.parser = parser;
387   }
388
389   /** Method with the actual generated action code. */
390   public final java_cup.runtime.Symbol CUP$Filter$do_action(
391     int CUP$Filter$act_num,
392     java_cup.runtime.lr_parser CUP$Filter$parser,
393     java.util.Stack JavaDoc CUP$Filter$stack,
394     int CUP$Filter$top)
395     throws java.lang.Exception JavaDoc
396     {
397       /* Symbol object for return from actions */
398       java_cup.runtime.Symbol CUP$Filter$result;
399
400       /* select the action based on the action number */
401       switch (CUP$Filter$act_num)
402         {
403           /*. . . . . . . . . . . . . . . . . . . .*/
404           case 42: // lit_expr ::= BOOLEAN
405
{
406               Object JavaDoc RESULT = null;
407         int boolleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
408         int boolright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
409         Boolean JavaDoc bool = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
410         
411                   RESULT = bool;
412                 
413               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
414             }
415           return CUP$Filter$result;
416
417           /*. . . . . . . . . . . . . . . . . . . .*/
418           case 41: // lit_expr ::= STRING
419
{
420               Object JavaDoc RESULT = null;
421         int stleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
422         int stright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
423         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
424         
425                   RESULT = st.substring(1, st.length() - 1);
426                 
427               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
428             }
429           return CUP$Filter$result;
430
431           /*. . . . . . . . . . . . . . . . . . . .*/
432           case 40: // lit_expr ::= SHORT
433
{
434               Object JavaDoc RESULT = null;
435         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
436         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
437         Short JavaDoc num = (Short JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
438         
439                   RESULT = num;
440                 
441               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
442             }
443           return CUP$Filter$result;
444
445           /*. . . . . . . . . . . . . . . . . . . .*/
446           case 39: // lit_expr ::= INT
447
{
448               Object JavaDoc RESULT = null;
449         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
450         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
451         Integer JavaDoc num = (Integer JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
452         
453                   RESULT = num;
454                 
455               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
456             }
457           return CUP$Filter$result;
458
459           /*. . . . . . . . . . . . . . . . . . . .*/
460           case 38: // lit_expr ::= MIN_LONG
461
{
462               Object JavaDoc RESULT = null;
463         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
464         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
465         Long JavaDoc num = (Long JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
466         
467                   RESULT = num;
468                 
469               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
470             }
471           return CUP$Filter$result;
472
473           /*. . . . . . . . . . . . . . . . . . . .*/
474           case 37: // lit_expr ::= LONG
475
{
476               Object JavaDoc RESULT = null;
477         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
478         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
479         Long JavaDoc num = (Long JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
480         
481                   RESULT = num;
482                 
483               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
484             }
485           return CUP$Filter$result;
486
487           /*. . . . . . . . . . . . . . . . . . . .*/
488           case 36: // lit_expr ::= FLOAT
489
{
490               Object JavaDoc RESULT = null;
491         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
492         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
493         Float JavaDoc num = (Float JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
494         
495                   RESULT = num;
496                 
497               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
498             }
499           return CUP$Filter$result;
500
501           /*. . . . . . . . . . . . . . . . . . . .*/
502           case 35: // lit_expr ::= DOUBLE
503
{
504               Object JavaDoc RESULT = null;
505         int numleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
506         int numright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
507         Double JavaDoc num = (Double JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
508         
509                   RESULT = num;
510                 
511               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
512             }
513           return CUP$Filter$result;
514
515           /*. . . . . . . . . . . . . . . . . . . .*/
516           case 34: // lit_expr ::= ID
517
{
518               Object JavaDoc RESULT = null;
519         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
520         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
521         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
522         
523                   RESULT = Interpreter.interpret(id, message, syntaxType);
524                 
525               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
526             }
527           return CUP$Filter$result;
528
529           /*. . . . . . . . . . . . . . . . . . . .*/
530           case 33: // lit_expr ::= LPAREN expr RPAREN
531
{
532               Object JavaDoc RESULT = null;
533         int eleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left;
534         int eright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).right;
535         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-1)).value;
536         
537                   RESULT = e;
538                 
539               CUP$Filter$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
540             }
541           return CUP$Filter$result;
542
543           /*. . . . . . . . . . . . . . . . . . . .*/
544           case 32: // expr ::= lit_expr
545
{
546               Object JavaDoc RESULT = null;
547         int litleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
548         int litright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
549         Object JavaDoc lit = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
550         
551                   RESULT = lit;
552                 
553               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
554             }
555           return CUP$Filter$result;
556
557           /*. . . . . . . . . . . . . . . . . . . .*/
558           case 31: // expr ::= MIN_LONG expr
559
{
560               Object JavaDoc RESULT = null;
561         int eleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
562         int eright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
563         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
564          
565                   RESULT = e;
566                 
567               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
568             }
569           return CUP$Filter$result;
570
571           /*. . . . . . . . . . . . . . . . . . . .*/
572           case 30: // expr ::= MINUS expr
573
{
574               Object JavaDoc RESULT = null;
575         int eleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
576         int eright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
577         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
578         
579                   if (e instanceof Double JavaDoc)
580                     RESULT = new Double JavaDoc(-((Double JavaDoc) e).doubleValue());
581                   else if (e instanceof Float JavaDoc)
582                     RESULT = new Float JavaDoc(-((Float JavaDoc) e).floatValue());
583                   else if (e instanceof Long JavaDoc)
584                     RESULT = new Long JavaDoc(-((Long JavaDoc) e).longValue());
585                   else if (e instanceof Integer JavaDoc)
586                     RESULT = new Integer JavaDoc(-((Integer JavaDoc) e).intValue());
587                  // else if (e instanceof Short)
588
// RESULT = new Short(-((Short) e).shortValue());
589
else
590                     RESULT = null;
591                 
592               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
593             }
594           return CUP$Filter$result;
595
596           /*. . . . . . . . . . . . . . . . . . . .*/
597           case 29: // expr ::= PLUS expr
598
{
599               Object JavaDoc RESULT = null;
600         int eleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
601         int eright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
602         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
603         
604                   if (e instanceof Double JavaDoc)
605                     RESULT = (Double JavaDoc) e;
606                   else if (e instanceof Float JavaDoc)
607                     RESULT = (Float JavaDoc) e;
608                   else if (e instanceof Long JavaDoc)
609                     RESULT = (Long JavaDoc) e;
610                   else if (e instanceof Integer JavaDoc)
611                     RESULT = (Integer JavaDoc) e;
612                   else if (e instanceof Short JavaDoc)
613                     RESULT = (Short JavaDoc) e;
614                   else
615                     RESULT = null;
616                 
617               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
618             }
619           return CUP$Filter$result;
620
621           /*. . . . . . . . . . . . . . . . . . . .*/
622           case 28: // expr ::= expr DIVIDE expr
623
{
624               Object JavaDoc RESULT = null;
625         int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
626         int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
627         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
628         int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
629         int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
630         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
631         
632                   if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
633                     RESULT = new Double JavaDoc(((Number JavaDoc) e1).doubleValue()
634                                         / ((Number JavaDoc) e2).doubleValue());
635                   else
636                     RESULT = null;
637                 
638               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
639             }
640           return CUP$Filter$result;
641
642           /*. . . . . . . . . . . . . . . . . . . .*/
643           case 27: // expr ::= expr TIMES expr
644
{
645               Object JavaDoc RESULT = null;
646         int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
647         int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
648         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
649         int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
650         int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
651         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
652         
653                   if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
654                     RESULT = new Double JavaDoc(((Number JavaDoc) e1).doubleValue()
655                                         * ((Number JavaDoc) e2).doubleValue());
656                   else
657                     RESULT = null;
658                 
659               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
660             }
661           return CUP$Filter$result;
662
663           /*. . . . . . . . . . . . . . . . . . . .*/
664           case 26: // expr ::= expr MINUS expr
665
{
666               Object JavaDoc RESULT = null;
667         int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
668         int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
669         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
670         int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
671         int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
672         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
673         
674                   if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
675                     RESULT = new Double JavaDoc(((Number JavaDoc) e1).doubleValue()
676                                         - ((Number JavaDoc) e2).doubleValue());
677                   else
678                     RESULT = null;
679                 
680               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
681             }
682           return CUP$Filter$result;
683
684           /*. . . . . . . . . . . . . . . . . . . .*/
685           case 25: // expr ::= expr PLUS expr
686
{
687               Object JavaDoc RESULT = null;
688         int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
689         int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
690         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
691         int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
692         int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
693         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
694         
695                   if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
696                     RESULT = new Double JavaDoc(((Number JavaDoc) e1).doubleValue()
697                                         + ((Number JavaDoc) e2).doubleValue());
698                   else
699                     RESULT = null;
700                 
701               CUP$Filter$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
702             }
703           return CUP$Filter$result;
704
705           /*. . . . . . . . . . . . . . . . . . . .*/
706           case 24: // strings ::= STRING
707
{
708               String JavaDoc RESULT = null;
709         int stleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
710         int stright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
711         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
712         
713                   RESULT = st.substring(1, st.length() - 1);
714                 
715               CUP$Filter$result = new java_cup.runtime.Symbol(3/*strings*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
716             }
717           return CUP$Filter$result;
718
719           /*. . . . . . . . . . . . . . . . . . . .*/
720           case 23: // strings ::= strings COMMA STRING
721
{
722               String JavaDoc RESULT = null;
723         int stsleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
724         int stsright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
725         String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
726         int stleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
727         int stright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
728         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
729         
730                   RESULT = sts + st.substring(1, st.length() - 1);
731                 
732               CUP$Filter$result = new java_cup.runtime.Symbol(3/*strings*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
733             }
734           return CUP$Filter$result;
735
736           /*. . . . . . . . . . . . . . . . . . . .*/
737           case 22: // comp_expr ::= expr
738
{
739               Boolean JavaDoc RESULT = null;
740         int eleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
741         int eright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
742         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
743         
744                   if (e instanceof Boolean JavaDoc)
745                     RESULT = (Boolean JavaDoc) e;
746                   else
747                     RESULT = null;
748                 
749               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
750             }
751           return CUP$Filter$result;
752
753           /*. . . . . . . . . . . . . . . . . . . .*/
754           case 21: // comp_expr ::= ID IS NOT NULL
755
{
756               Boolean JavaDoc RESULT = null;
757         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).left;
758         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).right;
759         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-3)).value;
760         
761                   RESULT = new Boolean JavaDoc(Interpreter.interpret(id, message,
762                                                              syntaxType)
763                                        != null);
764                 
765               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
766             }
767           return CUP$Filter$result;
768
769           /*. . . . . . . . . . . . . . . . . . . .*/
770           case 20: // comp_expr ::= ID IS NULL
771
{
772               Boolean JavaDoc RESULT = null;
773         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
774         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
775         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
776         
777                   RESULT = new Boolean JavaDoc(Interpreter.interpret(id, message,
778                                                              syntaxType)
779                                        == null);
780                 
781               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
782             }
783           return CUP$Filter$result;
784
785           /*. . . . . . . . . . . . . . . . . . . .*/
786           case 19: // comp_expr ::= ID NOT LIKE STRING ESCAPE STRING
787
{
788               Boolean JavaDoc RESULT = null;
789         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).left;
790         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).right;
791         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-5)).value;
792         int st1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
793         int st1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
794         String JavaDoc st1 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
795         int st2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
796         int st2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
797         String JavaDoc st2 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
798         
799                   if (Interpreter.interpret(id, message, syntaxType) == null)
800                     RESULT = null;
801
802                   else if (Interpreter.interpret(id, message, syntaxType)
803                            instanceof String JavaDoc) {
804                     StringBuffer JavaDoc stBuff = new StringBuffer JavaDoc(st1.substring(1, st1.length() - 1));
805                     StringBuffer JavaDoc stBuffRes = new StringBuffer JavaDoc();
806                     stBuffRes.append('^');
807                     char esc = st2.charAt(1);
808                     for (int i = 0; i < stBuff.length(); i++) {
809                       if (stBuff.charAt(i) == esc) {
810                         i++;
811                         stBuffRes.append(stBuff.charAt(i));
812                       } else if (stBuff.charAt(i) == '_')
813                         stBuffRes.append('.');
814                       else if (stBuff.charAt(i) == '%') {
815                         stBuffRes.append('.');
816                         stBuffRes.append('*');
817                         i++ ;
818                       } else {
819                         stBuffRes.append(stBuff.charAt(i));
820                       }
821                     }
822                     stBuffRes.append('$');
823                     st1 = stBuffRes.toString();
824                     org.apache.regexp.RE regExp =
825                       new org.apache.regexp.RE(st1);
826
827                     RESULT =
828                       new Boolean JavaDoc(! regExp.match((String JavaDoc)
829                                                  Interpreter.interpret
830                                                  (id, message, syntaxType)));
831                   }
832
833                   // Comparison of non like values returns FALSE.
834
else
835                     RESULT = new Boolean JavaDoc("FALSE");
836                 
837               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
838             }
839           return CUP$Filter$result;
840
841           /*. . . . . . . . . . . . . . . . . . . .*/
842           case 18: // comp_expr ::= ID LIKE STRING ESCAPE STRING
843
{
844               Boolean JavaDoc RESULT = null;
845         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left;
846         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).right;
847         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-4)).value;
848         int st1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
849         int st1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
850         String JavaDoc st1 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
851         int st2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
852         int st2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
853         String JavaDoc st2 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
854         
855
856                   if (Interpreter.interpret(id, message, syntaxType) == null)
857                     RESULT = null;
858
859                   else if (Interpreter.interpret(id, message, syntaxType)
860                            instanceof String JavaDoc) {
861                     StringBuffer JavaDoc stBuff = new StringBuffer JavaDoc(st1.substring(1, st1.length() - 1));
862                     StringBuffer JavaDoc stBuffRes = new StringBuffer JavaDoc();
863                     stBuffRes.append('^');
864                     char esc = st2.charAt(1);
865                     for (int i = 0; i < stBuff.length(); i++) {
866                       if (stBuff.charAt(i) == esc) {
867                         i++;
868                         stBuffRes.append(stBuff.charAt(i));
869                       } else if (stBuff.charAt(i) == '_')
870                         stBuffRes.append('.');
871                       else if (stBuff.charAt(i) == '%') {
872                         stBuffRes.append('.');
873                         stBuffRes.append('*');
874                         i++ ;
875                       } else {
876                         stBuffRes.append(stBuff.charAt(i));
877                       }
878                     }
879                     stBuffRes.append('$');
880                     st1 = stBuffRes.toString();
881                     org.apache.regexp.RE regExp =
882                       new org.apache.regexp.RE(st1);
883
884                     RESULT =
885                       new Boolean JavaDoc(regExp.match((String JavaDoc)
886                                                Interpreter.interpret
887                                                (id, message, syntaxType)));
888                   }
889
890                   // Comparison of non like values returns FALSE.
891
else
892                     RESULT = new Boolean JavaDoc("FALSE");
893                 
894               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
895             }
896           return CUP$Filter$result;
897
898           /*. . . . . . . . . . . . . . . . . . . .*/
899           case 17: // comp_expr ::= ID NOT LIKE STRING
900
{
901               Boolean JavaDoc RESULT = null;
902         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).left;
903         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).right;
904         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-3)).value;
905         int stleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
906         int stright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
907         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
908         
909                   if (Interpreter.interpret(id, message, syntaxType) == null)
910                     RESULT = null;
911
912                   else if (Interpreter.interpret(id, message, syntaxType)
913                            instanceof String JavaDoc) {
914                     StringBuffer JavaDoc stBuff =
915                       new StringBuffer JavaDoc(st.substring(1, st.length() - 1));
916                     stBuff.insert(0, '^');
917
918                     for (int i = 0; i < stBuff.length(); i++) {
919                       if (stBuff.charAt(i) == '_')
920                         stBuff.setCharAt(i, '.');
921                       else if (stBuff.charAt(i) == '%') {
922                         stBuff.setCharAt(i, '.');
923                         stBuff.insert(i + 1, '*');
924                         i++ ;
925                       }
926                     }
927                     stBuff.append('$');
928
929                     st = stBuff.toString();
930                     org.apache.regexp.RE regExp = new org.apache.regexp.RE(st);
931                     RESULT =
932                       new Boolean JavaDoc(! regExp.match((String JavaDoc)
933                                                  Interpreter.interpret
934                                                  (id, message, syntaxType)));
935                   }
936                   // Comparison of non like values returns FALSE.
937
else
938                     RESULT = new Boolean JavaDoc("FALSE");
939                 
940               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-3)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
941             }
942           return CUP$Filter$result;
943
944           /*. . . . . . . . . . . . . . . . . . . .*/
945           case 16: // comp_expr ::= ID LIKE STRING
946
{
947               Boolean JavaDoc RESULT = null;
948         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
949         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
950         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
951         int stleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
952         int stright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
953         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
954         
955                   if (Interpreter.interpret(id, message, syntaxType) == null)
956                     RESULT = null;
957
958                   if (Interpreter.interpret(id, message, syntaxType)
959                       instanceof String JavaDoc) {
960                     StringBuffer JavaDoc stBuff =
961                       new StringBuffer JavaDoc(st.substring(1, st.length() - 1));
962                     stBuff.insert(0, '^');
963
964                     for (int i = 0; i < stBuff.length(); i++) {
965                       if (stBuff.charAt(i) == '_')
966                         stBuff.setCharAt(i, '.');
967                       else if (stBuff.charAt(i) == '%') {
968                         stBuff.setCharAt(i, '.');
969                         stBuff.insert(i + 1, '*');
970                         i++ ;
971                       }
972                     }
973                     stBuff.append('$');
974
975                     st = stBuff.toString();
976                     org.apache.regexp.RE regExp = new org.apache.regexp.RE(st);
977
978                     RESULT =
979                       new Boolean JavaDoc(regExp.match((String JavaDoc)
980                                                Interpreter.interpret
981                                                (id, message, syntaxType)));
982                   }
983                   // Comparison of non like values returns FALSE.
984
else
985                     RESULT = new Boolean JavaDoc("FALSE");
986                 
987               CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
988             }
989           return CUP$Filter$result;
990
991           /*. . . . . . . . . . . . . . . . . . . .*/
992           case 15: // comp_expr ::= ID NOT IN LPAREN strings RPAREN
993
{
994               Boolean JavaDoc RESULT = null;
995         int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).left;
996         int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).right;
997         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-5)).value;
998         int stsleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left;
999         int stsright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).right;
1000        String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-1)).value;
1001        
1002                  if (Interpreter.interpret(id, message, syntaxType) == null)
1003                    RESULT = null;
1004
1005                  else if (Interpreter.interpret(id, message, syntaxType)
1006                           instanceof String JavaDoc)
1007                    RESULT =
1008                      new Boolean JavaDoc(sts.indexOf((String JavaDoc)
1009                                              Interpreter.interpret
1010                                              (id, message, syntaxType))
1011                                              == -1);
1012
1013                  // Comparison of non like values returns FALSE.
1014
else
1015                    RESULT = new Boolean JavaDoc("FALSE");
1016                
1017              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-5)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1018            }
1019          return CUP$Filter$result;
1020
1021          /*. . . . . . . . . . . . . . . . . . . .*/
1022          case 14: // comp_expr ::= ID IN LPAREN strings RPAREN
1023
{
1024              Boolean JavaDoc RESULT = null;
1025        int idleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left;
1026        int idright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).right;
1027        String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-4)).value;
1028        int stsleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left;
1029        int stsright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).right;
1030        String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-1)).value;
1031        
1032                  if (Interpreter.interpret(id, message, syntaxType) == null)
1033                    RESULT = null;
1034
1035                  else if (Interpreter.interpret(id, message, syntaxType)
1036                           instanceof String JavaDoc)
1037                    RESULT =
1038                      new Boolean JavaDoc(sts.indexOf((String JavaDoc)
1039                                              Interpreter.interpret
1040                                              (id, message, syntaxType))
1041                                              != -1);
1042
1043                  // Comparison of non like values returns FALSE.
1044
else
1045                    RESULT = new Boolean JavaDoc("FALSE");
1046                
1047              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1048            }
1049          return CUP$Filter$result;
1050
1051          /*. . . . . . . . . . . . . . . . . . . .*/
1052          case 13: // comp_expr ::= expr NOTBETWEEN expr AND expr
1053
{
1054              Boolean JavaDoc RESULT = null;
1055        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left;
1056        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).right;
1057        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-4)).value;
1058        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1059        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1060        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1061        int e3left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1062        int e3right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1063        Object JavaDoc e3 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1064        
1065                  if (e1 == null || e2 == null || e3 == null)
1066                    RESULT = null;
1067
1068                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc
1069                           && e3 instanceof Number JavaDoc)
1070                    RESULT = new Boolean JavaDoc((((Number JavaDoc) e1).doubleValue()
1071                                          < ((Number JavaDoc) e2).doubleValue())
1072                                         || (((Number JavaDoc) e1).doubleValue()
1073                                             > ((Number JavaDoc) e3).doubleValue()));
1074
1075                  // Comparison of non like values returns FALSE.
1076
else
1077                    RESULT = new Boolean JavaDoc("FALSE");
1078                
1079              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1080            }
1081          return CUP$Filter$result;
1082
1083          /*. . . . . . . . . . . . . . . . . . . .*/
1084          case 12: // comp_expr ::= expr BETWEEN expr AND expr
1085
{
1086              Boolean JavaDoc RESULT = null;
1087        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left;
1088        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).right;
1089        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-4)).value;
1090        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1091        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1092        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1093        int e3left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1094        int e3right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1095        Object JavaDoc e3 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1096        
1097                  if (e1 == null || e2 == null || e3 == null)
1098                    RESULT = null;
1099
1100                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc
1101                           && e3 instanceof Number JavaDoc)
1102                    RESULT = new Boolean JavaDoc((((Number JavaDoc) e1).doubleValue()
1103                                          >= ((Number JavaDoc) e2).doubleValue())
1104                                         && (((Number JavaDoc) e1).doubleValue()
1105                                             <= ((Number JavaDoc) e3).doubleValue()));
1106
1107                  // Comparison of non like values returns FALSE.
1108
else
1109                    RESULT = new Boolean JavaDoc("FALSE");
1110                
1111              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-4)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1112            }
1113          return CUP$Filter$result;
1114
1115          /*. . . . . . . . . . . . . . . . . . . .*/
1116          case 11: // comp_expr ::= expr NEQ expr
1117
{
1118              Boolean JavaDoc RESULT = null;
1119        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1120        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1121        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1122        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1123        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1124        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1125        
1126                  if (e1 == null || e2 == null)
1127                    RESULT = null;
1128
1129                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1130                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1131                                         != ((Number JavaDoc) e2).doubleValue());
1132
1133                  else if (e1 instanceof Boolean JavaDoc && e2 instanceof Boolean JavaDoc)
1134                    RESULT = new Boolean JavaDoc(!
1135                                         ((Boolean JavaDoc) e1).equals((Boolean JavaDoc) e2));
1136
1137                  else if (e1 instanceof String JavaDoc && e2 instanceof String JavaDoc)
1138                    RESULT = new Boolean JavaDoc(! ((String JavaDoc) e1).equals((String JavaDoc) e2));
1139
1140                  else if (e1 instanceof Boolean JavaDoc && e2 instanceof Number JavaDoc)
1141                    RESULT = new Boolean JavaDoc(!(
1142                      (((Boolean JavaDoc) e1).booleanValue() == true) ?
1143                      (((Number JavaDoc) e2).doubleValue() == 0)? true:false :
1144                      (((Number JavaDoc) e2).doubleValue() != 0)? true:false));
1145
1146                  else if (e1 instanceof Number JavaDoc && e2 instanceof Boolean JavaDoc)
1147                    RESULT = new Boolean JavaDoc(!(
1148                      (((Boolean JavaDoc) e2).booleanValue() == true) ?
1149                      (((Number JavaDoc) e1).doubleValue() == 0)? true:false :
1150                      (((Number JavaDoc) e1).doubleValue() != 0)? true:false));
1151
1152                  // Comparison of non like values returns FALSE.
1153
else
1154                    RESULT = new Boolean JavaDoc("FALSE");
1155                
1156              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1157            }
1158          return CUP$Filter$result;
1159
1160          /*. . . . . . . . . . . . . . . . . . . .*/
1161          case 10: // comp_expr ::= expr EQ expr
1162
{
1163              Boolean JavaDoc RESULT = null;
1164        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1165        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1166        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1167        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1168        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1169        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1170        
1171                  if (e1 == null || e2 == null)
1172                    RESULT = null;
1173
1174                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1175                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1176                                         == ((Number JavaDoc) e2).doubleValue());
1177
1178                  else if (e1 instanceof Boolean JavaDoc && e2 instanceof Boolean JavaDoc)
1179                    RESULT = new Boolean JavaDoc(((Boolean JavaDoc) e1).equals((Boolean JavaDoc) e2));
1180
1181                  else if (e1 instanceof String JavaDoc && e2 instanceof String JavaDoc)
1182                    RESULT = new Boolean JavaDoc(((String JavaDoc) e1).equals((String JavaDoc) e2));
1183
1184                  else if (e1 instanceof Boolean JavaDoc && e2 instanceof Number JavaDoc)
1185                    RESULT = new Boolean JavaDoc(
1186                      (((Boolean JavaDoc) e1).booleanValue() == true) ?
1187                      (((Number JavaDoc) e2).doubleValue() == 0)? true:false :
1188                      (((Number JavaDoc) e2).doubleValue() != 0)? true:false);
1189
1190                  else if (e1 instanceof Number JavaDoc && e2 instanceof Boolean JavaDoc)
1191                    RESULT = new Boolean JavaDoc(
1192                      (((Boolean JavaDoc) e2).booleanValue() == true) ?
1193                      (((Number JavaDoc) e1).doubleValue() == 0)? true:false :
1194                      (((Number JavaDoc) e1).doubleValue() != 0)? true:false);
1195
1196                  // Comparison of non like values returns FALSE.
1197
else
1198                    RESULT = new Boolean JavaDoc("FALSE");
1199                
1200              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1201            }
1202          return CUP$Filter$result;
1203
1204          /*. . . . . . . . . . . . . . . . . . . .*/
1205          case 9: // comp_expr ::= expr LE expr
1206
{
1207              Boolean JavaDoc RESULT = null;
1208        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1209        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1210        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1211        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1212        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1213        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1214        
1215                  if (e1 == null || e2 == null)
1216                    RESULT = null;
1217
1218                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1219                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1220                                         <= ((Number JavaDoc) e2).doubleValue());
1221
1222                  // Comparison of non like values returns FALSE.
1223
else
1224                    RESULT = new Boolean JavaDoc("FALSE");
1225                
1226              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1227            }
1228          return CUP$Filter$result;
1229
1230          /*. . . . . . . . . . . . . . . . . . . .*/
1231          case 8: // comp_expr ::= expr LT expr
1232
{
1233              Boolean JavaDoc RESULT = null;
1234        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1235        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1236        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1237        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1238        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1239        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1240        
1241                  if (e1 == null || e2 == null)
1242                    RESULT = null;
1243
1244                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1245                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1246                                         < ((Number JavaDoc) e2).doubleValue());
1247
1248                  // Comparison of non like values returns FALSE.
1249
else
1250                    RESULT = new Boolean JavaDoc("FALSE");
1251                
1252              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1253            }
1254          return CUP$Filter$result;
1255
1256          /*. . . . . . . . . . . . . . . . . . . .*/
1257          case 7: // comp_expr ::= expr GE expr
1258
{
1259              Boolean JavaDoc RESULT = null;
1260        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1261        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1262        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1263        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1264        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1265        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1266        
1267                  if (e1 == null || e2 == null)
1268                    RESULT = null;
1269
1270                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1271                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1272                                         >= ((Number JavaDoc) e2).doubleValue());
1273
1274                  // Comparison of non like values returns FALSE.
1275
else
1276                    RESULT = new Boolean JavaDoc("FALSE");
1277                
1278              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1279            }
1280          return CUP$Filter$result;
1281
1282          /*. . . . . . . . . . . . . . . . . . . .*/
1283          case 6: // comp_expr ::= expr GT expr
1284
{
1285              Boolean JavaDoc RESULT = null;
1286        int e1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1287        int e1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1288        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1289        int e2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1290        int e2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1291        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1292        
1293                  if (e1 == null || e2 == null)
1294                    RESULT = null;
1295
1296                  else if (e1 instanceof Number JavaDoc && e2 instanceof Number JavaDoc)
1297                    RESULT = new Boolean JavaDoc(((Number JavaDoc) e1).doubleValue()
1298                                         > ((Number JavaDoc) e2).doubleValue());
1299
1300                  // Comparison of non like values returns FALSE.
1301
else
1302                    RESULT = new Boolean JavaDoc("FALSE");
1303                
1304              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1305            }
1306          return CUP$Filter$result;
1307
1308          /*. . . . . . . . . . . . . . . . . . . .*/
1309          case 5: // comp_expr ::= LPAREN cond_expr RPAREN
1310
{
1311              Boolean JavaDoc RESULT = null;
1312        int condleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left;
1313        int condright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).right;
1314        Boolean JavaDoc cond = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-1)).value;
1315        
1316                  RESULT = cond;
1317                
1318              CUP$Filter$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1319            }
1320          return CUP$Filter$result;
1321
1322          /*. . . . . . . . . . . . . . . . . . . .*/
1323          case 4: // cond_expr ::= comp_expr
1324
{
1325              Boolean JavaDoc RESULT = null;
1326        int compleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1327        int compright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1328        Boolean JavaDoc comp = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1329        
1330                  RESULT = comp;
1331                
1332              CUP$Filter$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1333            }
1334          return CUP$Filter$result;
1335
1336          /*. . . . . . . . . . . . . . . . . . . .*/
1337          case 3: // cond_expr ::= NOT cond_expr
1338
{
1339              Boolean JavaDoc RESULT = null;
1340        int condleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1341        int condright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1342        Boolean JavaDoc cond = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1343        
1344                  if (cond != null)
1345                    RESULT = new Boolean JavaDoc(! cond.booleanValue());
1346
1347                  else
1348                    RESULT = new Boolean JavaDoc("FALSE");
1349                
1350              CUP$Filter$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1351            }
1352          return CUP$Filter$result;
1353
1354          /*. . . . . . . . . . . . . . . . . . . .*/
1355          case 2: // cond_expr ::= cond_expr AND cond_expr
1356
{
1357              Boolean JavaDoc RESULT = null;
1358        int cond1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1359        int cond1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1360        Boolean JavaDoc cond1 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1361        int cond2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1362        int cond2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1363        Boolean JavaDoc cond2 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1364        
1365                  if (cond1 != null && cond2 != null)
1366                    RESULT = new Boolean JavaDoc(cond1.booleanValue()
1367                                         && cond2.booleanValue());
1368
1369                  else
1370                    RESULT = new Boolean JavaDoc("FALSE");
1371                
1372              CUP$Filter$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1373            }
1374          return CUP$Filter$result;
1375
1376          /*. . . . . . . . . . . . . . . . . . . .*/
1377          case 1: // $START ::= cond_expr EOF
1378
{
1379              Object JavaDoc RESULT = null;
1380        int start_valleft = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left;
1381        int start_valright = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).right;
1382        Boolean JavaDoc start_val = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-1)).value;
1383        RESULT = start_val;
1384              CUP$Filter$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-1)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1385            }
1386          /* ACCEPT */
1387          CUP$Filter$parser.done_parsing();
1388          return CUP$Filter$result;
1389
1390          /*. . . . . . . . . . . . . . . . . . . .*/
1391          case 0: // cond_expr ::= cond_expr OR cond_expr
1392
{
1393              Boolean JavaDoc RESULT = null;
1394        int cond1left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left;
1395        int cond1right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).right;
1396        Boolean JavaDoc cond1 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-2)).value;
1397        int cond2left = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).left;
1398        int cond2right = ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right;
1399        Boolean JavaDoc cond2 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Filter$stack.elementAt(CUP$Filter$top-0)).value;
1400        
1401                  if (cond1 != null && cond2 != null)
1402                    RESULT = new Boolean JavaDoc(cond1.booleanValue()
1403                                         || cond2.booleanValue());
1404
1405                  else if (cond1 == null && cond2 != null)
1406                    RESULT = cond2;
1407
1408                  else if (cond1 != null && cond2 == null)
1409                    RESULT = cond1;
1410
1411                  else
1412                    RESULT = new Boolean JavaDoc("FALSE");
1413                
1414              CUP$Filter$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-2)).left, ((java_cup.runtime.Symbol)CUP$Filter$stack.elementAt(CUP$Filter$top-0)).right, RESULT);
1415            }
1416          return CUP$Filter$result;
1417
1418          /* . . . . . .*/
1419          default:
1420            throw new Exception JavaDoc(
1421               "Invalid action number found in internal parse table");
1422
1423        }
1424    }
1425}
1426
1427
Popular Tags