KickJava   Java API By Example, From Geeks To Geeks.

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


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:40 CEST 2004
30
//----------------------------------------------------
31

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

40 public class Checker extends java_cup.runtime.lr_parser {
41
42   /** Default constructor. */
43   public Checker() {super();}
44
45   /** Constructor which sets the default scanner. */
46   public Checker(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$Checker$actions action_obj;
268
269   /** Action encapsulation object initializer. */
270   protected void init_actions()
271     {
272       action_obj = new CUP$Checker$actions(this);
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$Checker$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   /* Change the method report_error so it will display the line and
302      column of where the error occurred in the input as well as the
303      reason for the error which is passed into the method in the
304      String 'message'. */

305   public void report_error(String JavaDoc message, Object JavaDoc info) {
306  
307     /* Create a StringBuffer called 'm' with the string 'Error' in it. */
308     StringBuffer JavaDoc m = new StringBuffer JavaDoc("Error");
309  
310     /* Check if the information passed to the method is the same
311        type as the type Symbol. */

312     if (info instanceof Symbol) {
313       /* Declare a Symbol object 's' with the
314          information in the object info that is being typecasted
315          as a Symbol object. */

316       Symbol s = ((Symbol) info);
317    
318       /* Check if the line number in the input is greater or
319          equal to zero. */

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

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

326         if (s.right >= 0)
327           /* Add to the end of the StringBuffer error message
328              the column number of the error in the input. */

329           m.append(", column "+(s.right+1));
330       }
331     }
332    
333     /* Add to the end of the StringBuffer error message created in
334        this method the message that was passed into this method. */

335     m.append(" : "+message);
336    
337     /* Print the contents of the StringBuffer 'm', which contains
338        an error message, out on a line. */

339     //System.err.println(m);
340
throw new Error JavaDoc(m.toString());
341   }
342    
343   /* Change the method report_fatal_error so when it reports a fatal
344      error it will display the line and column number of where the
345      fatal error occurred in the input as well as the reason for the
346      fatal error which is passed into the method in the object
347      'message' and then exit.*/

348   public void report_fatal_error(String JavaDoc message, Object JavaDoc info) {
349     report_error(message, info);
350     //System.exit(1);
351
}
352
353
354 }
355
356 /** Cup generated class to encapsulate user supplied action code.*/
357 class CUP$Checker$actions {
358   private final Checker parser;
359
360   /** Constructor */
361   CUP$Checker$actions(Checker parser) {
362     this.parser = parser;
363   }
364
365   /** Method with the actual generated action code. */
366   public final java_cup.runtime.Symbol CUP$Checker$do_action(
367     int CUP$Checker$act_num,
368     java_cup.runtime.lr_parser CUP$Checker$parser,
369     java.util.Stack JavaDoc CUP$Checker$stack,
370     int CUP$Checker$top)
371     throws java.lang.Exception JavaDoc
372     {
373       /* Symbol object for return from actions */
374       java_cup.runtime.Symbol CUP$Checker$result;
375
376       /* select the action based on the action number */
377       switch (CUP$Checker$act_num)
378         {
379           /*. . . . . . . . . . . . . . . . . . . .*/
380           case 42: // lit_expr ::= BOOLEAN
381
{
382               Object JavaDoc RESULT = null;
383         int boolleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
384         int boolright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
385         Boolean JavaDoc bool = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
386         
387                   RESULT = bool;
388                 
389               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
390             }
391           return CUP$Checker$result;
392
393           /*. . . . . . . . . . . . . . . . . . . .*/
394           case 41: // lit_expr ::= STRING
395
{
396               Object JavaDoc RESULT = null;
397         int stleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
398         int stright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
399         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
400         
401                   RESULT = st.substring(1, st.length() - 1);
402                 
403               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
404             }
405           return CUP$Checker$result;
406
407           /*. . . . . . . . . . . . . . . . . . . .*/
408           case 40: // lit_expr ::= SHORT
409
{
410               Object JavaDoc RESULT = null;
411         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
412         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
413         Short JavaDoc num = (Short JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
414         
415                   RESULT = num;
416                 
417               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
418             }
419           return CUP$Checker$result;
420
421           /*. . . . . . . . . . . . . . . . . . . .*/
422           case 39: // lit_expr ::= INT
423
{
424               Object JavaDoc RESULT = null;
425         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
426         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
427         Integer JavaDoc num = (Integer JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
428         
429                   RESULT = num;
430                 
431               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
432             }
433           return CUP$Checker$result;
434
435           /*. . . . . . . . . . . . . . . . . . . .*/
436           case 38: // lit_expr ::= MIN_LONG
437
{
438               Object JavaDoc RESULT = null;
439         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
440         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
441         Long JavaDoc num = (Long JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
442         
443                   RESULT = num;
444                 
445               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
446             }
447           return CUP$Checker$result;
448
449           /*. . . . . . . . . . . . . . . . . . . .*/
450           case 37: // lit_expr ::= LONG
451
{
452               Object JavaDoc RESULT = null;
453         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
454         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
455         Long JavaDoc num = (Long JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
456         
457                   RESULT = num;
458                 
459               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
460             }
461           return CUP$Checker$result;
462
463           /*. . . . . . . . . . . . . . . . . . . .*/
464           case 36: // lit_expr ::= FLOAT
465
{
466               Object JavaDoc RESULT = null;
467         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
468         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
469         Float JavaDoc num = (Float JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
470         
471                   RESULT = num;
472                 
473               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
474             }
475           return CUP$Checker$result;
476
477           /*. . . . . . . . . . . . . . . . . . . .*/
478           case 35: // lit_expr ::= DOUBLE
479
{
480               Object JavaDoc RESULT = null;
481         int numleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
482         int numright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
483         Double JavaDoc num = (Double JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
484         
485                   RESULT = num;
486                 
487               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
488             }
489           return CUP$Checker$result;
490
491           /*. . . . . . . . . . . . . . . . . . . .*/
492           case 34: // lit_expr ::= ID
493
{
494               Object JavaDoc RESULT = null;
495         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
496         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
497         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
498         
499                   if (id.equals("TRUE") || id.equals("FALSE") || id.equals("NULL"))
500                     throw new SelectorException("Invalid ID TRUE, FALSE or FALSE");
501                   // id type and value are not known at that step!
502
RESULT = null;
503                 
504               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
505             }
506           return CUP$Checker$result;
507
508           /*. . . . . . . . . . . . . . . . . . . .*/
509           case 33: // lit_expr ::= LPAREN expr RPAREN
510
{
511               Object JavaDoc RESULT = null;
512         int eleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left;
513         int eright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).right;
514         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-1)).value;
515         
516                   RESULT = e;
517                 
518               CUP$Checker$result = new java_cup.runtime.Symbol(5/*lit_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
519             }
520           return CUP$Checker$result;
521
522           /*. . . . . . . . . . . . . . . . . . . .*/
523           case 32: // expr ::= lit_expr
524
{
525               Object JavaDoc RESULT = null;
526         int litleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
527         int litright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
528         Object JavaDoc lit = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
529         
530                   RESULT = lit;
531                 
532               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
533             }
534           return CUP$Checker$result;
535
536           /*. . . . . . . . . . . . . . . . . . . .*/
537           case 31: // expr ::= MIN_LONG expr
538
{
539               Object JavaDoc RESULT = null;
540         int eleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
541         int eright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
542         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
543          
544                   RESULT = new Long JavaDoc(0);
545                 
546               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
547             }
548           return CUP$Checker$result;
549
550           /*. . . . . . . . . . . . . . . . . . . .*/
551           case 30: // expr ::= MINUS expr
552
{
553               Object JavaDoc RESULT = null;
554         int eleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
555         int eright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
556         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
557         
558                   if (e instanceof String JavaDoc || e instanceof Boolean JavaDoc)
559                     throw new SelectorException("Numeric type expected"
560                                                 + " after '-'");
561                   if (e instanceof Double JavaDoc)
562                     RESULT = new Double JavaDoc(0);
563                   else if (e instanceof Float JavaDoc)
564                     RESULT = new Float JavaDoc(0);
565                   else if (e instanceof Long JavaDoc)
566                     RESULT = new Long JavaDoc(0);
567                   else if (e instanceof Integer JavaDoc)
568                     RESULT = new Integer JavaDoc(0);
569                   else if (e instanceof Short JavaDoc)
570                     RESULT = new Short JavaDoc((short)0);
571                   else
572                     RESULT = new Double JavaDoc(0);
573                 
574               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
575             }
576           return CUP$Checker$result;
577
578           /*. . . . . . . . . . . . . . . . . . . .*/
579           case 29: // expr ::= PLUS expr
580
{
581               Object JavaDoc RESULT = null;
582         int eleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
583         int eright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
584         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
585         
586                   if (e instanceof String JavaDoc || e instanceof Boolean JavaDoc)
587                     throw new SelectorException("Numeric type expected"
588                                                 + " after '+'");
589
590                   else
591                     RESULT = new Double JavaDoc(0);
592                 
593               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
594             }
595           return CUP$Checker$result;
596
597           /*. . . . . . . . . . . . . . . . . . . .*/
598           case 28: // expr ::= expr DIVIDE expr
599
{
600               Object JavaDoc RESULT = null;
601         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
602         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
603         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
604         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
605         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
606         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
607         
608                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
609                     throw new SelectorException("Numeric type expected"
610                                                 + " before '/'");
611
612                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
613                     throw new SelectorException("Numeric type expected"
614                                                 + " after '/'");
615
616                   else
617                     RESULT = new Double JavaDoc(0);
618                 
619               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
620             }
621           return CUP$Checker$result;
622
623           /*. . . . . . . . . . . . . . . . . . . .*/
624           case 27: // expr ::= expr TIMES expr
625
{
626               Object JavaDoc RESULT = null;
627         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
628         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
629         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
630         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
631         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
632         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
633         
634                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
635                     throw new SelectorException("Numeric type expected"
636                                                 + " before '*'");
637
638                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
639                     throw new SelectorException("Numeric type expected"
640                                                 + " after '*'");
641
642                   else
643                     RESULT = new Double JavaDoc(0);
644                 
645               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
646             }
647           return CUP$Checker$result;
648
649           /*. . . . . . . . . . . . . . . . . . . .*/
650           case 26: // expr ::= expr MINUS expr
651
{
652               Object JavaDoc RESULT = null;
653         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
654         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
655         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
656         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
657         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
658         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
659         
660                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
661                     throw new SelectorException("Numeric type expected"
662                                                 + " before '-'");
663
664                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
665                     throw new SelectorException("Numeric type expected"
666                                                 + " after '-'");
667
668                   else
669                     RESULT = new Double JavaDoc(0);
670                 
671               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
672             }
673           return CUP$Checker$result;
674
675           /*. . . . . . . . . . . . . . . . . . . .*/
676           case 25: // expr ::= expr PLUS expr
677
{
678               Object JavaDoc RESULT = null;
679         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
680         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
681         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
682         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
683         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
684         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
685         
686                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
687                     throw new SelectorException("Numeric type expected"
688                                                 + " before '+'");
689
690                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
691                     throw new SelectorException("Numeric type expected"
692                                                 + " after '+'");
693
694                   else
695                     RESULT = new Double JavaDoc(0);
696                 
697               CUP$Checker$result = new java_cup.runtime.Symbol(4/*expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
698             }
699           return CUP$Checker$result;
700
701           /*. . . . . . . . . . . . . . . . . . . .*/
702           case 24: // strings ::= STRING
703
{
704               String JavaDoc RESULT = null;
705         int stleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
706         int stright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
707         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
708         
709                   RESULT = st.substring(1, st.length() - 1);
710                 
711               CUP$Checker$result = new java_cup.runtime.Symbol(3/*strings*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
712             }
713           return CUP$Checker$result;
714
715           /*. . . . . . . . . . . . . . . . . . . .*/
716           case 23: // strings ::= strings COMMA STRING
717
{
718               String JavaDoc RESULT = null;
719         int stsleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
720         int stsright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
721         String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
722         int stleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
723         int stright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
724         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
725         
726                   RESULT = sts + st.substring(1, st.length() - 1);
727                 
728               CUP$Checker$result = new java_cup.runtime.Symbol(3/*strings*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
729             }
730           return CUP$Checker$result;
731
732           /*. . . . . . . . . . . . . . . . . . . .*/
733           case 22: // comp_expr ::= expr
734
{
735               Boolean JavaDoc RESULT = null;
736         int eleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
737         int eright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
738         Object JavaDoc e = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
739         
740                   if (e instanceof String JavaDoc || e instanceof Double JavaDoc)
741                     throw new SelectorException("Boolean type expected");
742
743                   RESULT = new Boolean JavaDoc("TRUE");
744                 
745               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
746             }
747           return CUP$Checker$result;
748
749           /*. . . . . . . . . . . . . . . . . . . .*/
750           case 21: // comp_expr ::= ID IS NOT NULL
751
{
752               Boolean JavaDoc RESULT = null;
753         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).left;
754         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).right;
755         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-3)).value;
756         
757                   RESULT = new Boolean JavaDoc("TRUE");
758                 
759               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
760             }
761           return CUP$Checker$result;
762
763           /*. . . . . . . . . . . . . . . . . . . .*/
764           case 20: // comp_expr ::= ID IS NULL
765
{
766               Boolean JavaDoc RESULT = null;
767         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
768         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
769         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
770         
771                   RESULT = new Boolean JavaDoc("TRUE");
772                 
773               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
774             }
775           return CUP$Checker$result;
776
777           /*. . . . . . . . . . . . . . . . . . . .*/
778           case 19: // comp_expr ::= ID NOT LIKE STRING ESCAPE STRING
779
{
780               Boolean JavaDoc RESULT = null;
781         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).left;
782         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).right;
783         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-5)).value;
784         int st1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
785         int st1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
786         String JavaDoc st1 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
787         int st2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
788         int st2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
789         String JavaDoc st2 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
790         
791                   // id type can't be checked at that point!
792
RESULT = new Boolean JavaDoc("TRUE");
793                 
794               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
795             }
796           return CUP$Checker$result;
797
798           /*. . . . . . . . . . . . . . . . . . . .*/
799           case 18: // comp_expr ::= ID LIKE STRING ESCAPE STRING
800
{
801               Boolean JavaDoc RESULT = null;
802         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left;
803         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).right;
804         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-4)).value;
805         int st1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
806         int st1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
807         String JavaDoc st1 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
808         int st2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
809         int st2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
810         String JavaDoc st2 = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
811         
812                   // id type can't be checked at that point!
813
RESULT = new Boolean JavaDoc("TRUE");
814                 
815               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
816             }
817           return CUP$Checker$result;
818
819           /*. . . . . . . . . . . . . . . . . . . .*/
820           case 17: // comp_expr ::= ID NOT LIKE STRING
821
{
822               Boolean JavaDoc RESULT = null;
823         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).left;
824         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).right;
825         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-3)).value;
826         int stleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
827         int stright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
828         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
829         
830                   // id type can't be checked at that point!
831
RESULT = new Boolean JavaDoc("TRUE");
832                 
833               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-3)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
834             }
835           return CUP$Checker$result;
836
837           /*. . . . . . . . . . . . . . . . . . . .*/
838           case 16: // comp_expr ::= ID LIKE STRING
839
{
840               Boolean JavaDoc RESULT = null;
841         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
842         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
843         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
844         int stleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
845         int stright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
846         String JavaDoc st = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
847         
848                   // id type can't be checked at that point!
849
RESULT = new Boolean JavaDoc("TRUE");
850                 
851               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
852             }
853           return CUP$Checker$result;
854
855           /*. . . . . . . . . . . . . . . . . . . .*/
856           case 15: // comp_expr ::= ID NOT IN LPAREN strings RPAREN
857
{
858               Boolean JavaDoc RESULT = null;
859         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).left;
860         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).right;
861         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-5)).value;
862         int stsleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left;
863         int stsright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).right;
864         String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-1)).value;
865         
866                   // id type can't be checked at that point!
867
RESULT = new Boolean JavaDoc("TRUE");
868                 
869               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-5)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
870             }
871           return CUP$Checker$result;
872
873           /*. . . . . . . . . . . . . . . . . . . .*/
874           case 14: // comp_expr ::= ID IN LPAREN strings RPAREN
875
{
876               Boolean JavaDoc RESULT = null;
877         int idleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left;
878         int idright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).right;
879         String JavaDoc id = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-4)).value;
880         int stsleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left;
881         int stsright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).right;
882         String JavaDoc sts = (String JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-1)).value;
883         
884                   // id type can't be checked at that point!
885
RESULT = new Boolean JavaDoc("TRUE");
886                 
887               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
888             }
889           return CUP$Checker$result;
890
891           /*. . . . . . . . . . . . . . . . . . . .*/
892           case 13: // comp_expr ::= expr NOTBETWEEN expr AND expr
893
{
894               Boolean JavaDoc RESULT = null;
895         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left;
896         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).right;
897         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-4)).value;
898         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
899         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
900         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
901         int e3left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
902         int e3right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
903         Object JavaDoc e3 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
904         
905                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
906                     throw new SelectorException("Numeric type expected"
907                                                 + " before 'NOT BETWEEN'");
908
909                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
910                     throw new SelectorException("Numeric type expected"
911                                                 + " after 'BETWEEN'");
912
913                   else if (e3 instanceof String JavaDoc || e3 instanceof Boolean JavaDoc)
914                     throw new SelectorException("Numeric type expected"
915                                                 + " after 'AND'");
916
917                   else
918                     RESULT = new Boolean JavaDoc("TRUE");
919                 
920               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
921             }
922           return CUP$Checker$result;
923
924           /*. . . . . . . . . . . . . . . . . . . .*/
925           case 12: // comp_expr ::= expr BETWEEN expr AND expr
926
{
927               Boolean JavaDoc RESULT = null;
928         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left;
929         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).right;
930         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-4)).value;
931         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
932         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
933         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
934         int e3left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
935         int e3right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
936         Object JavaDoc e3 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
937         
938                   if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
939                     throw new SelectorException("Numeric type expected"
940                                                 + " before 'BETWEEN'");
941
942                   else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
943                     throw new SelectorException("Numeric type expected"
944                                                 + " after 'BETWEEN'");
945
946                   else if (e3 instanceof String JavaDoc || e3 instanceof Boolean JavaDoc)
947                     throw new SelectorException("Numeric type expected"
948                                                 + " after 'AND'");
949
950                   else
951                     RESULT = new Boolean JavaDoc("TRUE");
952                 
953               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-4)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
954             }
955           return CUP$Checker$result;
956
957           /*. . . . . . . . . . . . . . . . . . . .*/
958           case 11: // comp_expr ::= expr NEQ expr
959
{
960               Boolean JavaDoc RESULT = null;
961         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
962         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
963         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
964         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
965         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
966         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
967         
968                   RESULT = new Boolean JavaDoc("TRUE");
969                 
970               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
971             }
972           return CUP$Checker$result;
973
974           /*. . . . . . . . . . . . . . . . . . . .*/
975           case 10: // comp_expr ::= expr EQ expr
976
{
977               Boolean JavaDoc RESULT = null;
978         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
979         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
980         Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
981         int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
982         int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
983         Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
984         
985                   if (e1 instanceof Boolean JavaDoc && e2 instanceof Number JavaDoc)
986                     throw new SelectorException("Invalid id TRUE, FALSE or NULL");
987
988                   RESULT = new Boolean JavaDoc("TRUE");
989                 
990               CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
991             }
992           return CUP$Checker$result;
993
994           /*. . . . . . . . . . . . . . . . . . . .*/
995           case 9: // comp_expr ::= expr LE expr
996
{
997               Boolean JavaDoc RESULT = null;
998         int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
999         int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1000        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1001        int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1002        int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1003        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1004        
1005                  if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
1006                    throw new SelectorException("Numeric type expected"
1007                                                + " before '<='");
1008
1009                  else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
1010                    throw new SelectorException("Numeric type expected"
1011                                                + " after '<='");
1012
1013                  else
1014                    RESULT = new Boolean JavaDoc("TRUE");
1015                
1016              CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1017            }
1018          return CUP$Checker$result;
1019
1020          /*. . . . . . . . . . . . . . . . . . . .*/
1021          case 8: // comp_expr ::= expr LT expr
1022
{
1023              Boolean JavaDoc RESULT = null;
1024        int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
1025        int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1026        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1027        int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1028        int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1029        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1030        
1031                  if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
1032                    throw new SelectorException("Numeric type expected"
1033                                                + " before '<'");
1034
1035                  else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
1036                    throw new SelectorException("Numeric type expected"
1037                                                + " after '<'");
1038
1039                  else
1040                    RESULT = new Boolean JavaDoc("TRUE");
1041                
1042              CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1043            }
1044          return CUP$Checker$result;
1045
1046          /*. . . . . . . . . . . . . . . . . . . .*/
1047          case 7: // comp_expr ::= expr GE expr
1048
{
1049              Boolean JavaDoc RESULT = null;
1050        int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
1051        int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1052        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1053        int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1054        int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1055        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1056        
1057                  if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
1058                    throw new SelectorException("Numeric type expected"
1059                                                + " before '>='");
1060
1061                  else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
1062                    throw new SelectorException("Numeric type expected"
1063                                                + " after '>='");
1064
1065                  else
1066                    RESULT = new Boolean JavaDoc("TRUE");
1067                
1068              CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1069            }
1070          return CUP$Checker$result;
1071
1072          /*. . . . . . . . . . . . . . . . . . . .*/
1073          case 6: // comp_expr ::= expr GT expr
1074
{
1075              Boolean JavaDoc RESULT = null;
1076        int e1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
1077        int e1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1078        Object JavaDoc e1 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1079        int e2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1080        int e2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1081        Object JavaDoc e2 = (Object JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1082        
1083                  if (e1 instanceof String JavaDoc || e1 instanceof Boolean JavaDoc)
1084                    throw new SelectorException("Numeric type expected"
1085                                                + " before '>'");
1086
1087                  else if (e2 instanceof String JavaDoc || e2 instanceof Boolean JavaDoc)
1088                    throw new SelectorException("Numeric type expected"
1089                                                + " after '>'");
1090
1091                  else
1092                    RESULT = new Boolean JavaDoc("TRUE");
1093                
1094              CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1095            }
1096          return CUP$Checker$result;
1097
1098          /*. . . . . . . . . . . . . . . . . . . .*/
1099          case 5: // comp_expr ::= LPAREN cond_expr RPAREN
1100
{
1101              Boolean JavaDoc RESULT = null;
1102        int condleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left;
1103        int condright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).right;
1104        Boolean JavaDoc cond = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-1)).value;
1105        
1106                  RESULT = cond;
1107                
1108              CUP$Checker$result = new java_cup.runtime.Symbol(2/*comp_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1109            }
1110          return CUP$Checker$result;
1111
1112          /*. . . . . . . . . . . . . . . . . . . .*/
1113          case 4: // cond_expr ::= comp_expr
1114
{
1115              Boolean JavaDoc RESULT = null;
1116        int compleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1117        int compright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1118        Boolean JavaDoc comp = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1119        
1120                  RESULT = comp;
1121                
1122              CUP$Checker$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1123            }
1124          return CUP$Checker$result;
1125
1126          /*. . . . . . . . . . . . . . . . . . . .*/
1127          case 3: // cond_expr ::= NOT cond_expr
1128
{
1129              Boolean JavaDoc RESULT = null;
1130        int condleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1131        int condright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1132        Boolean JavaDoc cond = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1133        
1134                  RESULT = new Boolean JavaDoc(! cond.booleanValue());
1135                
1136              CUP$Checker$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1137            }
1138          return CUP$Checker$result;
1139
1140          /*. . . . . . . . . . . . . . . . . . . .*/
1141          case 2: // cond_expr ::= cond_expr AND cond_expr
1142
{
1143              Boolean JavaDoc RESULT = null;
1144        int cond1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
1145        int cond1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1146        Boolean JavaDoc cond1 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1147        int cond2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1148        int cond2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1149        Boolean JavaDoc cond2 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1150        
1151                  RESULT = new Boolean JavaDoc(cond1.booleanValue()
1152                                       && cond2.booleanValue());
1153                
1154              CUP$Checker$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1155            }
1156          return CUP$Checker$result;
1157
1158          /*. . . . . . . . . . . . . . . . . . . .*/
1159          case 1: // $START ::= cond_expr EOF
1160
{
1161              Object JavaDoc RESULT = null;
1162        int start_valleft = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left;
1163        int start_valright = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).right;
1164        Boolean JavaDoc start_val = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-1)).value;
1165        RESULT = start_val;
1166              CUP$Checker$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-1)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1167            }
1168          /* ACCEPT */
1169          CUP$Checker$parser.done_parsing();
1170          return CUP$Checker$result;
1171
1172          /*. . . . . . . . . . . . . . . . . . . .*/
1173          case 0: // cond_expr ::= cond_expr OR cond_expr
1174
{
1175              Boolean JavaDoc RESULT = null;
1176        int cond1left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left;
1177        int cond1right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).right;
1178        Boolean JavaDoc cond1 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-2)).value;
1179        int cond2left = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).left;
1180        int cond2right = ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right;
1181        Boolean JavaDoc cond2 = (Boolean JavaDoc)((java_cup.runtime.Symbol) CUP$Checker$stack.elementAt(CUP$Checker$top-0)).value;
1182        
1183                  // Using AND instead of OR so that
1184
// both cond1 and cond2 are checked.
1185
RESULT = new Boolean JavaDoc(cond1.booleanValue()
1186                                       && cond2.booleanValue());
1187                
1188              CUP$Checker$result = new java_cup.runtime.Symbol(1/*cond_expr*/, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-2)).left, ((java_cup.runtime.Symbol)CUP$Checker$stack.elementAt(CUP$Checker$top-0)).right, RESULT);
1189            }
1190          return CUP$Checker$result;
1191
1192          /* . . . . . .*/
1193          default:
1194            throw new Exception JavaDoc(
1195               "Invalid action number found in internal parse table");
1196
1197        }
1198    }
1199}
1200
1201
Popular Tags