001
002//----------------------------------------------------
003// The following code was generated by CUP v0.10k TUM Edition 20050516
004// Tue Apr 14 14:51:42 CEST 2015
005//----------------------------------------------------
006
007package org.nuxeo.ecm.core.query.sql.parser;
008
009import java_cup.runtime.*;
010import org.nuxeo.ecm.core.query.sql.model.*;
011import org.nuxeo.ecm.core.query.sql.*;
012import org.nuxeo.ecm.core.query.*;
013
014/** CUP v0.10k TUM Edition 20050516 generated parser.
015  * @version Tue Apr 14 14:51:42 CEST 2015
016  */
017public class parser extends java_cup.runtime.lr_parser {
018
019  /** Default constructor. */
020  public parser() {super();}
021
022  /** Constructor which sets the default scanner. */
023  public parser(java_cup.runtime.Scanner s) {super(s);}
024
025  /** Production table. */
026  protected static final short _production_table[][] = 
027    unpackFromStrings(new String[] {
028    "\000\145\000\002\002\004\000\002\003\004\000\002\003" +
029    "\005\000\002\003\006\000\002\003\005\000\002\003\005" +
030    "\000\002\003\007\000\002\015\004\000\002\015\005\000" +
031    "\002\015\005\000\002\023\005\000\002\023\007\000\002" +
032    "\023\003\000\002\023\005\000\002\023\003\000\002\016" +
033    "\004\000\002\016\005\000\002\016\005\000\002\030\003" +
034    "\000\002\030\003\000\002\024\005\000\002\024\007\000" +
035    "\002\024\003\000\002\024\005\000\002\017\004\000\002" +
036    "\020\004\000\002\026\003\000\002\026\005\000\002\027" +
037    "\003\000\002\027\004\000\002\027\004\000\002\012\005" +
038    "\000\002\012\005\000\002\012\005\000\002\012\005\000" +
039    "\002\012\005\000\002\012\005\000\002\012\005\000\002" +
040    "\012\005\000\002\012\005\000\002\012\005\000\002\012" +
041    "\005\000\002\012\005\000\002\012\005\000\002\012\004" +
042    "\000\002\012\007\000\002\012\010\000\002\012\007\000" +
043    "\002\012\010\000\002\012\005\000\002\012\005\000\002" +
044    "\012\006\000\002\012\006\000\002\012\005\000\002\012" +
045    "\006\000\002\012\005\000\002\005\003\000\002\005\003" +
046    "\000\002\011\005\000\002\011\005\000\002\011\005\000" +
047    "\002\011\005\000\002\011\005\000\002\011\005\000\002" +
048    "\011\005\000\002\011\005\000\002\011\005\000\002\010" +
049    "\003\000\002\010\006\000\002\010\004\000\002\007\003" +
050    "\000\002\007\003\000\002\004\003\000\002\004\003\000" +
051    "\002\004\003\000\002\006\003\000\002\006\003\000\002" +
052    "\006\004\000\002\006\003\000\002\006\004\000\002\006" +
053    "\004\000\002\006\004\000\002\025\003\000\002\025\005" +
054    "\000\002\013\005\000\002\013\006\000\002\014\003\000" +
055    "\002\014\005\000\002\034\003\000\002\034\005\000\002" +
056    "\035\006\000\002\032\006\000\002\033\006\000\002\031" +
057    "\005\000\002\031\005\000\002\031\005\000\002\031\006" +
058    "\000\002\031\006\000\002\031\006\000\002\031\007\000" +
059    "\002\031\004" });
060
061  /** Access to production table. */
062  public short[][] production_table() {return _production_table;}
063
064  /** Parse-action table. */
065  protected static final short[][] _action_table = 
066    unpackFromStrings(new String[] {
067    "\000\311\000\004\004\006\001\002\000\004\005\153\001" +
068    "\002\000\006\002\147\023\146\001\002\000\032\024\022" +
069    "\025\007\034\015\036\030\053\010\054\026\062\017\067" +
070    "\012\071\014\072\016\073\025\074\031\001\002\000\026" +
071    "\034\015\036\030\053\010\054\026\062\017\067\012\071" +
072    "\014\072\016\073\025\074\031\001\002\000\006\046\142" +
073    "\072\141\001\002\000\050\002\uffb7\005\uffb7\007\uffb7\020" +
074    "\uffb7\023\uffb7\030\uffb7\031\uffb7\033\uffb7\034\uffb7\035\uffb7" +
075    "\036\uffb7\037\uffb7\040\uffb7\041\uffb7\042\uffb7\043\uffb7\044" +
076    "\uffb7\045\uffb7\047\uffb7\001\002\000\070\002\uffbb\005\uffbb" +
077    "\007\uffbb\010\uffbb\011\uffbb\012\uffbb\013\uffbb\020\uffbb\023" +
078    "\uffbb\030\uffbb\031\uffbb\032\uffbb\033\uffbb\034\uffbb\035\uffbb" +
079    "\036\uffbb\037\uffbb\040\uffbb\041\uffbb\042\uffbb\043\uffbb\044" +
080    "\uffbb\045\uffbb\046\104\047\uffbb\051\uffbb\056\uffbb\001\002" +
081    "\000\050\002\uffb8\005\uffb8\007\uffb8\020\uffb8\023\uffb8\030" +
082    "\uffb8\031\uffb8\033\uffb8\034\uffb8\035\uffb8\036\uffb8\037\uffb8" +
083    "\040\uffb8\041\uffb8\042\uffb8\043\uffb8\044\uffb8\045\uffb8\047" +
084    "\uffb8\001\002\000\072\002\uffba\005\uffba\007\uffba\010\uffba" +
085    "\011\uffba\012\uffba\013\uffba\020\uffba\023\uffba\026\uffba\027" +
086    "\uffba\030\uffba\031\uffba\032\uffba\033\uffba\034\uffba\035\uffba" +
087    "\036\uffba\037\uffba\040\uffba\041\uffba\042\uffba\043\uffba\044" +
088    "\uffba\045\uffba\047\uffba\051\uffba\056\uffba\001\002\000\006" +
089    "\073\102\074\103\001\002\000\050\002\uffb6\005\uffb6\007" +
090    "\uffb6\020\uffb6\023\uffb6\030\uffb6\031\uffb6\033\uffb6\034\uffb6" +
091    "\035\uffb6\036\uffb6\037\uffb6\040\uffb6\041\uffb6\042\uffb6\043" +
092    "\uffb6\044\uffb6\045\uffb6\047\uffb6\001\002\000\012\063\045" +
093    "\064\046\065\050\066\044\001\002\000\006\005\ufffa\045" +
094    "\040\001\002\000\072\002\uffbe\005\uffbe\007\uffbe\010\uffbe" +
095    "\011\uffbe\012\uffbe\013\uffbe\020\uffbe\023\uffbe\026\uffbe\027" +
096    "\uffbe\030\uffbe\031\uffbe\032\uffbe\033\uffbe\034\uffbe\035\uffbe" +
097    "\036\uffbe\037\uffbe\040\uffbe\041\uffbe\042\uffbe\043\uffbe\044" +
098    "\uffbe\045\uffbe\047\uffbe\051\uffbe\056\uffbe\001\002\000\026" +
099    "\034\015\036\030\053\010\054\026\062\017\067\012\071" +
100    "\014\072\016\073\025\074\031\001\002\000\006\067\036" +
101    "\071\014\001\002\000\050\002\uffb9\005\uffb9\007\uffb9\020" +
102    "\uffb9\023\uffb9\030\uffb9\031\uffb9\033\uffb9\034\uffb9\035\uffb9" +
103    "\036\uffb9\037\uffb9\040\uffb9\041\uffb9\042\uffb9\043\uffb9\044" +
104    "\uffb9\045\uffb9\047\uffb9\001\002\000\050\002\uffb5\005\uffb5" +
105    "\007\uffb5\020\uffb5\023\uffb5\030\uffb5\031\uffb5\033\uffb5\034" +
106    "\uffb5\035\uffb5\036\uffb5\037\uffb5\040\uffb5\041\uffb5\042\uffb5" +
107    "\043\uffb5\044\uffb5\045\uffb5\047\uffb5\001\002\000\004\072" +
108    "\034\001\002\000\010\005\ufff5\007\032\045\ufff5\001\002" +
109    "\000\006\005\ufff3\045\ufff3\001\002\000\050\002\uffb3\005" +
110    "\uffb3\007\uffb3\020\uffb3\023\uffb3\030\uffb3\031\uffb3\033\uffb3" +
111    "\034\uffb3\035\uffb3\036\uffb3\037\uffb3\040\uffb3\041\uffb3\042" +
112    "\uffb3\043\uffb3\044\uffb3\045\uffb3\047\uffb3\001\002\000\004" +
113    "\067\033\001\002\000\006\005\ufff4\045\ufff4\001\002\000" +
114    "\050\002\uffb0\005\uffb0\007\uffb0\020\uffb0\023\uffb0\030\uffb0" +
115    "\031\uffb0\033\uffb0\034\uffb0\035\uffb0\036\uffb0\037\uffb0\040" +
116    "\uffb0\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0\047\uffb0" +
117    "\001\002\000\072\002\uffbc\005\uffbc\007\uffbc\010\uffbc\011" +
118    "\uffbc\012\uffbc\013\uffbc\020\uffbc\023\uffbc\026\uffbc\027\uffbc" +
119    "\030\uffbc\031\uffbc\032\uffbc\033\uffbc\034\uffbc\035\uffbc\036" +
120    "\uffbc\037\uffbc\040\uffbc\041\uffbc\042\uffbc\043\uffbc\044\uffbc" +
121    "\045\uffbc\047\uffbc\051\uffbc\056\uffbc\001\002\000\072\002" +
122    "\uffbb\005\uffbb\007\uffbb\010\uffbb\011\uffbb\012\uffbb\013\uffbb" +
123    "\020\uffbb\023\uffbb\026\uffbb\027\uffbb\030\uffbb\031\uffbb\032" +
124    "\uffbb\033\uffbb\034\uffbb\035\uffbb\036\uffbb\037\uffbb\040\uffbb" +
125    "\041\uffbb\042\uffbb\043\uffbb\044\uffbb\045\uffbb\047\uffbb\051" +
126    "\uffbb\056\uffbb\001\002\000\006\005\ufff9\045\040\001\002" +
127    "\000\024\034\015\053\010\054\026\062\017\067\012\071" +
128    "\014\072\016\073\025\074\031\001\002\000\010\005\ufff7" +
129    "\007\042\045\ufff7\001\002\000\004\067\043\001\002\000" +
130    "\006\005\ufff6\045\ufff6\001\002\000\004\046\077\001\002" +
131    "\000\006\067\uff9d\071\uff9d\001\002\000\004\046\071\001" +
132    "\002\000\004\063\070\001\002\000\004\046\065\001\002" +
133    "\000\010\063\056\065\050\066\044\001\002\000\006\063" +
134    "\053\066\044\001\002\000\006\067\uffa3\071\uffa3\001\002" +
135    "\000\004\063\055\001\002\000\006\067\uff9f\071\uff9f\001" +
136    "\002\000\006\067\uffa4\071\uffa4\001\002\000\004\063\064" +
137    "\001\002\000\006\063\061\066\044\001\002\000\006\067" +
138    "\uffa1\071\uffa1\001\002\000\004\063\063\001\002\000\006" +
139    "\067\uff9e\071\uff9e\001\002\000\006\067\uffa0\071\uffa0\001" +
140    "\002\000\004\075\066\001\002\000\004\047\067\001\002" +
141    "\000\006\063\uffa6\066\uffa6\001\002\000\006\067\uffa2\071" +
142    "\uffa2\001\002\000\004\075\073\001\002\000\006\045\074" +
143    "\047\075\001\002\000\006\045\uffa9\047\uffa9\001\002\000" +
144    "\004\075\076\001\002\000\010\063\uffa7\065\uffa7\066\uffa7" +
145    "\001\002\000\006\045\uffa8\047\uffa8\001\002\000\004\075" +
146    "\100\001\002\000\004\047\101\001\002\000\004\063\uffa5" +
147    "\001\002\000\050\002\uffb4\005\uffb4\007\uffb4\020\uffb4\023" +
148    "\uffb4\030\uffb4\031\uffb4\033\uffb4\034\uffb4\035\uffb4\036\uffb4" +
149    "\037\uffb4\040\uffb4\041\uffb4\042\uffb4\043\uffb4\044\uffb4\045" +
150    "\uffb4\047\uffb4\001\002\000\050\002\uffb2\005\uffb2\007\uffb2" +
151    "\020\uffb2\023\uffb2\030\uffb2\031\uffb2\033\uffb2\034\uffb2\035" +
152    "\uffb2\036\uffb2\037\uffb2\040\uffb2\041\uffb2\042\uffb2\043\uffb2" +
153    "\044\uffb2\045\uffb2\047\uffb2\001\002\000\030\034\015\046" +
154    "\105\047\112\053\010\054\026\062\017\067\012\071\014" +
155    "\072\016\073\025\074\031\001\002\000\026\034\015\046" +
156    "\105\053\010\054\026\062\017\067\012\071\014\072\016" +
157    "\073\025\074\031\001\002\000\006\045\uffab\047\uffab\001" +
158    "\002\000\044\002\uffc8\020\uffc8\023\uffc8\030\uffc8\031\uffc8" +
159    "\033\126\034\127\035\131\036\130\037\uffc8\040\uffc8\041" +
160    "\uffc8\042\uffc8\043\uffc8\044\uffc8\045\uffc8\047\uffc8\001\002" +
161    "\000\006\045\123\047\124\001\002\000\044\002\uffc9\020" +
162    "\uffc9\023\uffc9\030\uffc9\031\uffc9\033\114\034\113\035\116" +
163    "\036\115\037\uffc9\040\uffc9\041\uffc9\042\uffc9\043\uffc9\044" +
164    "\uffc9\045\uffc9\047\uffc9\001\002\000\050\002\uffad\005\uffad" +
165    "\007\uffad\020\uffad\023\uffad\030\uffad\031\uffad\033\uffad\034" +
166    "\uffad\035\uffad\036\uffad\037\uffad\040\uffad\041\uffad\042\uffad" +
167    "\043\uffad\044\uffad\045\uffad\047\uffad\001\002\000\024\034" +
168    "\015\053\010\054\026\062\017\067\012\071\014\072\016" +
169    "\073\025\074\031\001\002\000\024\034\015\053\010\054" +
170    "\026\062\017\067\012\071\014\072\016\073\025\074\031" +
171    "\001\002\000\024\034\015\053\010\054\026\062\017\067" +
172    "\012\071\014\072\016\073\025\074\031\001\002\000\024" +
173    "\034\015\053\010\054\026\062\017\067\012\071\014\072" +
174    "\016\073\025\074\031\001\002\000\044\002\uffc0\020\uffc0" +
175    "\023\uffc0\030\uffc0\031\uffc0\033\uffc0\034\uffc0\035\uffc0\036" +
176    "\uffc0\037\uffc0\040\uffc0\041\uffc0\042\uffc0\043\uffc0\044\uffc0" +
177    "\045\uffc0\047\uffc0\001\002\000\044\002\uffc1\020\uffc1\023" +
178    "\uffc1\030\uffc1\031\uffc1\033\uffc1\034\uffc1\035\uffc1\036\uffc1" +
179    "\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043\uffc1\044\uffc1\045" +
180    "\uffc1\047\uffc1\001\002\000\044\002\uffc3\020\uffc3\023\uffc3" +
181    "\030\uffc3\031\uffc3\033\uffc3\034\uffc3\035\uffc3\036\uffc3\037" +
182    "\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3\044\uffc3\045\uffc3" +
183    "\047\uffc3\001\002\000\044\002\uffc2\020\uffc2\023\uffc2\030" +
184    "\uffc2\031\uffc2\033\uffc2\034\uffc2\035\uffc2\036\uffc2\037\uffc2" +
185    "\040\uffc2\041\uffc2\042\uffc2\043\uffc2\044\uffc2\045\uffc2\047" +
186    "\uffc2\001\002\000\026\034\015\046\105\053\010\054\026" +
187    "\062\017\067\012\071\014\072\016\073\025\074\031\001" +
188    "\002\000\050\002\uffac\005\uffac\007\uffac\020\uffac\023\uffac" +
189    "\030\uffac\031\uffac\033\uffac\034\uffac\035\uffac\036\uffac\037" +
190    "\uffac\040\uffac\041\uffac\042\uffac\043\uffac\044\uffac\045\uffac" +
191    "\047\uffac\001\002\000\006\045\uffaa\047\uffaa\001\002\000" +
192    "\024\034\015\053\010\054\026\062\017\067\012\071\014" +
193    "\072\016\073\025\074\031\001\002\000\024\034\015\053" +
194    "\010\054\026\062\017\067\012\071\014\072\016\073\025" +
195    "\074\031\001\002\000\024\034\015\053\010\054\026\062" +
196    "\017\067\012\071\014\072\016\073\025\074\031\001\002" +
197    "\000\024\034\015\053\010\054\026\062\017\067\012\071" +
198    "\014\072\016\073\025\074\031\001\002\000\044\002\uffc4" +
199    "\020\uffc4\023\uffc4\030\uffc4\031\uffc4\033\uffc4\034\uffc4\035" +
200    "\uffc4\036\uffc4\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043\uffc4" +
201    "\044\uffc4\045\uffc4\047\uffc4\001\002\000\044\002\uffc5\020" +
202    "\uffc5\023\uffc5\030\uffc5\031\uffc5\033\uffc5\034\uffc5\035\uffc5" +
203    "\036\uffc5\037\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5\044" +
204    "\uffc5\045\uffc5\047\uffc5\001\002\000\044\002\uffc6\020\uffc6" +
205    "\023\uffc6\030\uffc6\031\uffc6\033\uffc6\034\uffc6\035\uffc6\036" +
206    "\uffc6\037\uffc6\040\uffc6\041\uffc6\042\uffc6\043\uffc6\044\uffc6" +
207    "\045\uffc6\047\uffc6\001\002\000\044\002\uffc7\020\uffc7\023" +
208    "\uffc7\030\uffc7\031\uffc7\033\uffc7\034\uffc7\035\uffc7\036\uffc7" +
209    "\037\uffc7\040\uffc7\041\uffc7\042\uffc7\043\uffc7\044\uffc7\045" +
210    "\uffc7\047\uffc7\001\002\000\012\033\114\034\113\035\116" +
211    "\036\115\001\002\000\014\033\126\034\127\035\131\036" +
212    "\130\047\140\001\002\000\044\002\uffbf\020\uffbf\023\uffbf" +
213    "\030\uffbf\031\uffbf\033\uffbf\034\uffbf\035\uffbf\036\uffbf\037" +
214    "\uffbf\040\uffbf\041\uffbf\042\uffbf\043\uffbf\044\uffbf\045\uffbf" +
215    "\047\uffbf\001\002\000\050\002\uffb1\005\uffb1\007\uffb1\020" +
216    "\uffb1\023\uffb1\030\uffb1\031\uffb1\033\uffb1\034\uffb1\035\uffb1" +
217    "\036\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043\uffb1\044" +
218    "\uffb1\045\uffb1\047\uffb1\001\002\000\006\067\036\071\014" +
219    "\001\002\000\004\047\144\001\002\000\072\002\uffbd\005" +
220    "\uffbd\007\uffbd\010\uffbd\011\uffbd\012\uffbd\013\uffbd\020\uffbd" +
221    "\023\uffbd\026\uffbd\027\uffbd\030\uffbd\031\uffbd\032\uffbd\033" +
222    "\uffbd\034\uffbd\035\uffbd\036\uffbd\037\uffbd\040\uffbd\041\uffbd" +
223    "\042\uffbd\043\uffbd\044\uffbd\045\uffbd\047\uffbd\051\uffbd\056" +
224    "\uffbd\001\002\000\006\005\ufff8\045\040\001\002\000\004" +
225    "\073\150\001\002\000\004\002\001\001\002\000\010\002" +
226    "\ufffc\023\ufffc\055\151\001\002\000\004\073\152\001\002" +
227    "\000\006\002\ufffb\023\ufffb\001\002\000\012\050\303\052" +
228    "\302\067\300\070\276\001\002\000\012\002\000\006\160" +
229    "\020\156\023\000\001\002\000\010\002\uffff\020\156\023" +
230    "\uffff\001\002\000\012\053\265\062\017\067\036\071\014" +
231    "\001\002\000\006\002\ufffd\023\ufffd\001\002\000\030\032" +
232    "\162\034\015\046\163\053\010\054\026\062\017\067\012" +
233    "\071\014\072\016\073\025\074\031\001\002\000\020\002" +
234    "\uffe9\020\uffe9\023\uffe9\030\255\031\257\037\253\040\256" +
235    "\001\002\000\030\032\162\034\015\046\163\053\010\054" +
236    "\026\062\017\067\012\071\014\072\016\073\025\074\031" +
237    "\001\002\000\030\032\162\034\015\046\163\053\010\054" +
238    "\026\062\017\067\012\071\014\072\016\073\025\074\031" +
239    "\001\002\000\050\010\207\011\206\012\213\013\210\030" +
240    "\uffb8\031\uffb8\032\211\033\uffb8\034\uffb8\035\uffb8\036\uffb8" +
241    "\037\uffb8\040\uffb8\041\uffb8\042\uffb8\043\uffb8\044\uffb8\051" +
242    "\214\056\212\001\002\000\022\030\172\031\175\037\167" +
243    "\040\173\041\166\042\171\043\174\044\170\001\002\000" +
244    "\026\034\015\046\105\053\010\054\026\062\017\067\012" +
245    "\071\014\072\016\073\025\074\031\001\002\000\026\034" +
246    "\015\046\105\053\010\054\026\062\017\067\012\071\014" +
247    "\072\016\073\025\074\031\001\002\000\026\034\015\046" +
248    "\105\053\010\054\026\062\017\067\012\071\014\072\016" +
249    "\073\025\074\031\001\002\000\026\034\015\046\105\053" +
250    "\010\054\026\062\017\067\012\071\014\072\016\073\025" +
251    "\074\031\001\002\000\026\034\015\046\105\053\010\054" +
252    "\026\062\017\067\012\071\014\072\016\073\025\074\031" +
253    "\001\002\000\026\034\015\046\105\053\010\054\026\062" +
254    "\017\067\012\071\014\072\016\073\025\074\031\001\002" +
255    "\000\026\034\015\046\105\053\010\054\026\062\017\067" +
256    "\012\071\014\072\016\073\025\074\031\001\002\000\026" +
257    "\034\015\046\105\053\010\054\026\062\017\067\012\071" +
258    "\014\072\016\073\025\074\031\001\002\000\022\002\uffdd" +
259    "\020\uffdd\023\uffdd\030\uffdd\031\uffdd\037\uffdd\040\uffdd\047" +
260    "\uffdd\001\002\000\022\002\uffd8\020\uffd8\023\uffd8\030\uffd8" +
261    "\031\uffd8\037\uffd8\040\uffd8\047\uffd8\001\002\000\022\002" +
262    "\uffdb\020\uffdb\023\uffdb\030\uffdb\031\uffdb\037\uffdb\040\uffdb" +
263    "\047\uffdb\001\002\000\022\002\uffde\020\uffde\023\uffde\030" +
264    "\uffde\031\uffde\037\uffde\040\uffde\047\uffde\001\002\000\022" +
265    "\002\uffd9\020\uffd9\023\uffd9\030\uffd9\031\uffd9\037\uffd9\040" +
266    "\uffd9\047\uffd9\001\002\000\022\002\uffd7\020\uffd7\023\uffd7" +
267    "\030\uffd7\031\uffd7\037\uffd7\040\uffd7\047\uffd7\001\002\000" +
268    "\022\002\uffdc\020\uffdc\023\uffdc\030\uffdc\031\uffdc\037\uffdc" +
269    "\040\uffdc\047\uffdc\001\002\000\022\002\uffda\020\uffda\023" +
270    "\uffda\030\uffda\031\uffda\037\uffda\040\uffda\047\uffda\001\002" +
271    "\000\004\072\250\001\002\000\004\046\245\001\002\000" +
272    "\016\034\015\053\230\054\026\072\016\073\025\074\031" +
273    "\001\002\000\012\010\223\011\222\012\225\013\224\001" +
274    "\002\000\006\032\217\057\220\001\002\000\004\072\216" +
275    "\001\002\000\004\072\215\001\002\000\022\002\uffca\020" +
276    "\uffca\023\uffca\030\uffca\031\uffca\037\uffca\040\uffca\047\uffca" +
277    "\001\002\000\022\002\uffcf\020\uffcf\023\uffcf\030\uffcf\031" +
278    "\uffcf\037\uffcf\040\uffcf\047\uffcf\001\002\000\004\057\221" +
279    "\001\002\000\022\002\uffcc\020\uffcc\023\uffcc\030\uffcc\031" +
280    "\uffcc\037\uffcc\040\uffcc\047\uffcc\001\002\000\022\002\uffcb" +
281    "\020\uffcb\023\uffcb\030\uffcb\031\uffcb\037\uffcb\040\uffcb\047" +
282    "\uffcb\001\002\000\004\072\241\001\002\000\004\046\233" +
283    "\001\002\000\016\034\015\053\230\054\026\072\016\073" +
284    "\025\074\031\001\002\000\004\072\226\001\002\000\022" +
285    "\002\uffcd\020\uffcd\023\uffcd\030\uffcd\031\uffcd\037\uffcd\040" +
286    "\uffcd\047\uffcd\001\002\000\004\030\231\001\002\000\004" +
287    "\072\141\001\002\000\016\034\015\053\230\054\026\072" +
288    "\016\073\025\074\031\001\002\000\022\002\uffd1\020\uffd1" +
289    "\023\uffd1\030\uffd1\031\uffd1\037\uffd1\040\uffd1\047\uffd1\001" +
290    "\002\000\016\034\015\053\230\054\026\072\016\073\025" +
291    "\074\031\001\002\000\006\045\uffaf\047\uffaf\001\002\000" +
292    "\006\045\236\047\237\001\002\000\016\034\015\053\230" +
293    "\054\026\072\016\073\025\074\031\001\002\000\022\002" +
294    "\uffd3\020\uffd3\023\uffd3\030\uffd3\031\uffd3\037\uffd3\040\uffd3" +
295    "\047\uffd3\001\002\000\006\045\uffae\047\uffae\001\002\000" +
296    "\022\002\uffce\020\uffce\023\uffce\030\uffce\031\uffce\037\uffce" +
297    "\040\uffce\047\uffce\001\002\000\004\030\243\001\002\000" +
298    "\016\034\015\053\230\054\026\072\016\073\025\074\031" +
299    "\001\002\000\022\002\uffd2\020\uffd2\023\uffd2\030\uffd2\031" +
300    "\uffd2\037\uffd2\040\uffd2\047\uffd2\001\002\000\016\034\015" +
301    "\053\230\054\026\072\016\073\025\074\031\001\002\000" +
302    "\006\045\236\047\247\001\002\000\022\002\uffd4\020\uffd4" +
303    "\023\uffd4\030\uffd4\031\uffd4\037\uffd4\040\uffd4\047\uffd4\001" +
304    "\002\000\022\002\uffd0\020\uffd0\023\uffd0\030\uffd0\031\uffd0" +
305    "\037\uffd0\040\uffd0\047\uffd0\001\002\000\014\030\255\031" +
306    "\257\037\253\040\256\047\254\001\002\000\034\030\uffc8" +
307    "\031\uffc8\033\126\034\127\035\131\036\130\037\uffc8\040" +
308    "\uffc8\041\uffc8\042\uffc8\043\uffc8\044\uffc8\047\140\001\002" +
309    "\000\030\032\162\034\015\046\163\053\010\054\026\062" +
310    "\017\067\012\071\014\072\016\073\025\074\031\001\002" +
311    "\000\022\002\uffd6\020\uffd6\023\uffd6\030\uffd6\031\uffd6\037" +
312    "\uffd6\040\uffd6\047\uffd6\001\002\000\030\032\162\034\015" +
313    "\046\163\053\010\054\026\062\017\067\012\071\014\072" +
314    "\016\073\025\074\031\001\002\000\030\032\162\034\015" +
315    "\046\163\053\010\054\026\062\017\067\012\071\014\072" +
316    "\016\073\025\074\031\001\002\000\030\032\162\034\015" +
317    "\046\163\053\010\054\026\062\017\067\012\071\014\072" +
318    "\016\073\025\074\031\001\002\000\022\002\uffe1\020\uffe1" +
319    "\023\uffe1\030\255\031\uffe1\037\253\040\256\047\uffe1\001" +
320    "\002\000\016\002\uffdf\020\uffdf\023\uffdf\030\uffdf\031\uffdf" +
321    "\047\uffdf\001\002\000\022\002\uffe2\020\uffe2\023\uffe2\030" +
322    "\uffe2\031\uffe2\037\253\040\256\047\uffe2\001\002\000\016" +
323    "\002\uffe0\020\uffe0\023\uffe0\030\uffe0\031\uffe0\047\uffe0\001" +
324    "\002\000\022\002\uffd5\020\uffd5\023\uffd5\030\uffd5\031\uffd5" +
325    "\037\253\040\256\047\uffd5\001\002\000\004\046\142\001" +
326    "\002\000\014\002\uffe5\023\uffe5\026\274\027\273\045\uffe5" +
327    "\001\002\000\010\002\uffe8\023\uffe8\045\271\001\002\000" +
328    "\010\002\uffe7\023\uffe7\045\uffe7\001\002\000\012\053\265" +
329    "\062\017\067\036\071\014\001\002\000\010\002\uffe6\023" +
330    "\uffe6\045\uffe6\001\002\000\010\002\uffe3\023\uffe3\045\uffe3" +
331    "\001\002\000\010\002\uffe4\023\uffe4\045\uffe4\001\002\000" +
332    "\006\002\ufffe\023\ufffe\001\002\000\016\002\uffee\006\uffee" +
333    "\007\uffee\020\uffee\023\uffee\045\uffee\001\002\000\014\002" +
334    "\ufff2\006\ufff2\020\ufff2\023\ufff2\045\305\001\002\000\016" +
335    "\002\uffef\006\uffef\007\uffef\020\uffef\023\uffef\045\uffef\001" +
336    "\002\000\016\002\uffeb\006\uffeb\007\312\020\uffeb\023\uffeb" +
337    "\045\uffeb\001\002\000\006\067\300\070\276\001\002\000" +
338    "\006\067\300\070\276\001\002\000\014\002\ufff0\006\ufff0" +
339    "\020\ufff0\023\ufff0\045\305\001\002\000\006\067\300\070" +
340    "\276\001\002\000\016\002\uffed\006\uffed\007\307\020\uffed" +
341    "\023\uffed\045\uffed\001\002\000\004\067\310\001\002\000" +
342    "\014\002\uffec\006\uffec\020\uffec\023\uffec\045\uffec\001\002" +
343    "\000\014\002\ufff1\006\ufff1\020\ufff1\023\ufff1\045\305\001" +
344    "\002\000\004\067\313\001\002\000\014\002\uffea\006\uffea" +
345    "\020\uffea\023\uffea\045\uffea\001\002" });
346
347  /** Access to parse-action table. */
348  public short[][] action_table() {return _action_table;}
349
350  /** <code>reduce_goto</code> table. */
351  protected static final short[][] _reduce_table = 
352    unpackFromStrings(new String[] {
353    "\000\311\000\006\003\004\015\003\001\001\000\004\016" +
354    "\153\001\001\000\002\001\001\000\020\004\026\006\023" +
355    "\007\020\010\012\013\010\023\017\031\022\001\001\000" +
356    "\020\004\026\006\023\007\020\010\012\013\010\023\144" +
357    "\031\022\001\001\000\002\001\001\000\002\001\001\000" +
358    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
359    "\001\001\000\002\001\001\000\010\032\051\033\046\035" +
360    "\050\001\001\000\002\001\001\000\002\001\001\000\020" +
361    "\004\026\006\023\007\020\010\012\013\010\023\036\031" +
362    "\022\001\001\000\004\007\034\001\001\000\002\001\001" +
363    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
364    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
365    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
366    "\001\000\002\001\001\000\016\004\040\006\023\007\020" +
367    "\010\012\013\010\031\022\001\001\000\002\001\001\000" +
368    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
369    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
370    "\001\000\006\032\057\033\056\001\001\000\004\033\053" +
371    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
372    "\001\000\002\001\001\000\002\001\001\000\004\033\061" +
373    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
374    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
375    "\000\002\001\001\000\002\001\001\000\004\034\071\001" +
376    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
377    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
378    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
379    "\001\001\000\024\004\110\005\105\006\023\007\020\010" +
380    "\012\011\106\013\010\014\107\031\022\001\001\000\020" +
381    "\004\135\006\023\007\020\010\012\011\136\013\010\031" +
382    "\022\001\001\000\002\001\001\000\002\001\001\000\002" +
383    "\001\001\000\002\001\001\000\002\001\001\000\016\004" +
384    "\121\006\023\007\020\010\012\013\010\031\022\001\001" +
385    "\000\016\004\120\006\023\007\020\010\012\013\010\031" +
386    "\022\001\001\000\016\004\117\006\023\007\020\010\012" +
387    "\013\010\031\022\001\001\000\016\004\116\006\023\007" +
388    "\020\010\012\013\010\031\022\001\001\000\002\001\001" +
389    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
390    "\022\004\110\005\124\006\023\007\020\010\012\011\106" +
391    "\013\010\031\022\001\001\000\002\001\001\000\002\001" +
392    "\001\000\016\004\134\006\023\007\020\010\012\013\010" +
393    "\031\022\001\001\000\016\004\133\006\023\007\020\010" +
394    "\012\013\010\031\022\001\001\000\016\004\132\006\023" +
395    "\007\020\010\012\013\010\031\022\001\001\000\016\004" +
396    "\131\006\023\007\020\010\012\013\010\031\022\001\001" +
397    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
398    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
399    "\001\001\000\002\001\001\000\004\007\142\001\001\000" +
400    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
401    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
402    "\001\000\002\001\001\000\006\024\276\030\300\001\001" +
403    "\000\006\017\154\020\156\001\001\000\004\020\274\001" +
404    "\001\000\014\007\020\010\265\026\266\027\267\031\022" +
405    "\001\001\000\002\001\001\000\024\004\110\005\164\006" +
406    "\023\007\020\010\163\011\106\012\160\013\010\031\022" +
407    "\001\001\000\002\001\001\000\024\004\110\005\164\006" +
408    "\023\007\020\010\163\011\106\012\263\013\010\031\022" +
409    "\001\001\000\024\004\110\005\164\006\023\007\020\010" +
410    "\163\011\251\012\250\013\010\031\022\001\001\000\002" +
411    "\001\001\000\002\001\001\000\022\004\110\005\204\006" +
412    "\023\007\020\010\012\011\106\013\010\031\022\001\001" +
413    "\000\022\004\110\005\203\006\023\007\020\010\012\011" +
414    "\106\013\010\031\022\001\001\000\022\004\110\005\202" +
415    "\006\023\007\020\010\012\011\106\013\010\031\022\001" +
416    "\001\000\022\004\110\005\201\006\023\007\020\010\012" +
417    "\011\106\013\010\031\022\001\001\000\022\004\110\005" +
418    "\200\006\023\007\020\010\012\011\106\013\010\031\022" +
419    "\001\001\000\022\004\110\005\177\006\023\007\020\010" +
420    "\012\011\106\013\010\031\022\001\001\000\022\004\110" +
421    "\005\176\006\023\007\020\010\012\011\106\013\010\031" +
422    "\022\001\001\000\022\004\110\005\175\006\023\007\020" +
423    "\010\012\011\106\013\010\031\022\001\001\000\002\001" +
424    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
425    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
426    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
427    "\006\241\001\001\000\002\001\001\000\002\001\001\000" +
428    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
429    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
430    "\001\000\002\001\001\000\002\001\001\000\004\006\226" +
431    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
432    "\001\000\002\001\001\000\004\006\231\001\001\000\002" +
433    "\001\001\000\006\006\233\025\234\001\001\000\002\001" +
434    "\001\000\002\001\001\000\004\006\237\001\001\000\002" +
435    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
436    "\001\000\004\006\243\001\001\000\002\001\001\000\006" +
437    "\006\233\025\245\001\001\000\002\001\001\000\002\001" +
438    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
439    "\000\024\004\110\005\164\006\023\007\020\010\163\011" +
440    "\106\012\262\013\010\031\022\001\001\000\002\001\001" +
441    "\000\024\004\110\005\164\006\023\007\020\010\163\011" +
442    "\106\012\261\013\010\031\022\001\001\000\024\004\110" +
443    "\005\164\006\023\007\020\010\163\011\106\012\260\013" +
444    "\010\031\022\001\001\000\024\004\110\005\164\006\023" +
445    "\007\020\010\163\011\106\012\257\013\010\031\022\001" +
446    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
447    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
448    "\002\001\001\000\002\001\001\000\002\001\001\000\012" +
449    "\007\020\010\265\027\271\031\022\001\001\000\002\001" +
450    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
451    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
452    "\002\001\001\000\006\024\310\030\300\001\001\000\006" +
453    "\024\303\030\300\001\001\000\002\001\001\000\004\030" +
454    "\305\001\001\000\002\001\001\000\002\001\001\000\002" +
455    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
456    "\001" });
457
458  /** Access to <code>reduce_goto</code> table. */
459  public short[][] reduce_table() {return _reduce_table;}
460
461  /** Instance of action encapsulation class. */
462  protected CUP$parser$actions action_obj;
463
464  /** Action encapsulation object initializer. */
465  protected void init_actions()
466    {
467      action_obj = new CUP$parser$actions(this);
468    }
469
470  /** Invoke a user supplied parse action. */
471  public java_cup.runtime.Symbol do_action(
472    int                        act_num,
473    java_cup.runtime.lr_parser parser,
474    java.util.Stack            stack,
475    int                        top)
476    throws java.lang.Exception
477  {
478    /* call code in generated class */
479    return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
480  }
481
482  /** Indicates start state. */
483  public int start_state() {return 0;}
484  /** Indicates start production. */
485  public int start_production() {return 0;}
486
487  /** <code>EOF</code> Symbol index. */
488  public int EOF_sym() {return 0;}
489
490  /** <code>error</code> Symbol index. */
491  public int error_sym() {return 1;}
492
493
494
495
496 public void report_error(String message, Object info) {
497     // do nothing
498 }
499
500 public void report_fatal_error(String message, Object info) throws QueryParseException {
501     if (info instanceof Symbol) parseFailed(message, (Symbol)info);
502     else parseFailed(message, null);
503 }
504
505 public void syntax_error(Symbol cur_token) {
506     // do nothing
507 }
508
509 public void unrecovered_syntax_error(Symbol cur_token) throws QueryParseException {
510     parseFailed("Syntax error", cur_token);
511 }
512
513 public void parseFailed(String message, Symbol token) throws QueryParseException {
514     done_parsing();
515     if (token != null) {
516         StringBuffer buf = new StringBuffer(message);
517         message = buf.append(": Invalid token <").append(token.value).append("> at offset ").append(token.right).toString();
518     }
519     throw new QueryParseException(message);
520 }
521
522
523}
524
525/** Cup generated class to encapsulate user supplied action code.*/
526class CUP$parser$actions {
527  private final parser parser;
528
529  /** Constructor */
530  CUP$parser$actions(parser parser) {
531    this.parser = parser;
532  }
533
534  /** Method with the actual generated action code. */
535  public final java_cup.runtime.Symbol CUP$parser$do_action(
536    int                        CUP$parser$act_num,
537    java_cup.runtime.lr_parser CUP$parser$parser,
538    java.util.Stack            CUP$parser$stack,
539    int                        CUP$parser$top)
540    throws java.lang.Exception
541    {
542      /* Symbol object for return from actions */
543      java_cup.runtime.Symbol CUP$parser$result;
544
545      /* select the action based on the action number */
546      switch (CUP$parser$act_num)
547        {
548          /*. . . . . . . . . . . . . . . . . . . .*/
549          case 100: // es_hint ::= LHINT_ES RHINT 
550            {
551              EsHint RESULT = null;
552                 RESULT = null; 
553              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
554            }
555          return CUP$parser$result;
556
557          /*. . . . . . . . . . . . . . . . . . . .*/
558          case 99: // es_hint ::= LHINT_ES es_index es_analyzer es_operator RHINT 
559            {
560              EsHint RESULT = null;
561                int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
562                int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
563                EsIdentifierList index = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
564                int analyzerleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
565                int analyzerright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
566                String analyzer = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
567                int operatorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
568                int operatorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
569                String operator = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
570                 RESULT = new EsHint(index, analyzer, operator); 
571              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
572            }
573          return CUP$parser$result;
574
575          /*. . . . . . . . . . . . . . . . . . . .*/
576          case 98: // es_hint ::= LHINT_ES es_analyzer es_operator RHINT 
577            {
578              EsHint RESULT = null;
579                int analyzerleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
580                int analyzerright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
581                String analyzer = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
582                int operatorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
583                int operatorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
584                String operator = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
585                 RESULT = new EsHint(null, analyzer, operator); 
586              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
587            }
588          return CUP$parser$result;
589
590          /*. . . . . . . . . . . . . . . . . . . .*/
591          case 97: // es_hint ::= LHINT_ES es_index es_operator RHINT 
592            {
593              EsHint RESULT = null;
594                int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
595                int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
596                EsIdentifierList index = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
597                int operatorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
598                int operatorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
599                String operator = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
600                 RESULT = new EsHint(index, null, operator); 
601              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
602            }
603          return CUP$parser$result;
604
605          /*. . . . . . . . . . . . . . . . . . . .*/
606          case 96: // es_hint ::= LHINT_ES es_index es_analyzer RHINT 
607            {
608              EsHint RESULT = null;
609                int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
610                int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
611                EsIdentifierList index = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
612                int analyzerleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
613                int analyzerright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
614                String analyzer = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
615                 RESULT = new EsHint(index, analyzer, null); 
616              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
617            }
618          return CUP$parser$result;
619
620          /*. . . . . . . . . . . . . . . . . . . .*/
621          case 95: // es_hint ::= LHINT_ES es_operator RHINT 
622            {
623              EsHint RESULT = null;
624                int operatorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
625                int operatorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
626                String operator = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
627                 RESULT = new EsHint(null, null, operator); 
628              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
629            }
630          return CUP$parser$result;
631
632          /*. . . . . . . . . . . . . . . . . . . .*/
633          case 94: // es_hint ::= LHINT_ES es_analyzer RHINT 
634            {
635              EsHint RESULT = null;
636                int analyzerleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
637                int analyzerright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
638                String analyzer = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
639                 RESULT = new EsHint(null, analyzer, null); 
640              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
641            }
642          return CUP$parser$result;
643
644          /*. . . . . . . . . . . . . . . . . . . .*/
645          case 93: // es_hint ::= LHINT_ES es_index RHINT 
646            {
647              EsHint RESULT = null;
648                int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
649                int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
650                EsIdentifierList index = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
651                 RESULT = new EsHint(index, null, null); 
652              CUP$parser$result = new java_cup.runtime.Symbol(23/*es_hint*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
653            }
654          return CUP$parser$result;
655
656          /*. . . . . . . . . . . . . . . . . . . .*/
657          case 92: // es_operator ::= OPERATOR LPARA ES_IDENTIFIER RPARA 
658            {
659              String RESULT = null;
660                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
661                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
662                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
663                 RESULT = v; 
664              CUP$parser$result = new java_cup.runtime.Symbol(25/*es_operator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
665            }
666          return CUP$parser$result;
667
668          /*. . . . . . . . . . . . . . . . . . . .*/
669          case 91: // es_analyzer ::= ANALYZER LPARA ES_IDENTIFIER RPARA 
670            {
671              String RESULT = null;
672                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
673                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
674                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
675                 RESULT = v; 
676              CUP$parser$result = new java_cup.runtime.Symbol(24/*es_analyzer*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
677            }
678          return CUP$parser$result;
679
680          /*. . . . . . . . . . . . . . . . . . . .*/
681          case 90: // es_index ::= INDEX LPARA es_identifier_list RPARA 
682            {
683              EsIdentifierList RESULT = null;
684                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
685                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
686                EsIdentifierList v = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
687                 RESULT = v; 
688              CUP$parser$result = new java_cup.runtime.Symbol(27/*es_index*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
689            }
690          return CUP$parser$result;
691
692          /*. . . . . . . . . . . . . . . . . . . .*/
693          case 89: // es_identifier_list ::= es_identifier_list COMMA ES_IDENTIFIER 
694            {
695              EsIdentifierList RESULT = null;
696                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
697                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
698                EsIdentifierList l = (EsIdentifierList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
699                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
700                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
701                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
702                 l.add(v); RESULT = l; 
703              CUP$parser$result = new java_cup.runtime.Symbol(26/*es_identifier_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
704            }
705          return CUP$parser$result;
706
707          /*. . . . . . . . . . . . . . . . . . . .*/
708          case 88: // es_identifier_list ::= ES_IDENTIFIER 
709            {
710              EsIdentifierList RESULT = null;
711                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
712                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
713                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
714                 RESULT = new EsIdentifierList(); RESULT.add(v); 
715              CUP$parser$result = new java_cup.runtime.Symbol(26/*es_identifier_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
716            }
717          return CUP$parser$result;
718
719          /*. . . . . . . . . . . . . . . . . . . .*/
720          case 87: // function_args ::= function_args COMMA predicate_operand 
721            {
722              OperandList RESULT = null;
723                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
724                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
725                OperandList l = (OperandList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
726                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
727                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
728                Operand v = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
729                 l.add(v); RESULT = l; 
730              CUP$parser$result = new java_cup.runtime.Symbol(10/*function_args*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
731            }
732          return CUP$parser$result;
733
734          /*. . . . . . . . . . . . . . . . . . . .*/
735          case 86: // function_args ::= predicate_operand 
736            {
737              OperandList RESULT = null;
738                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
739                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
740                Operand v = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
741                 RESULT = new OperandList(); RESULT.add(v); 
742              CUP$parser$result = new java_cup.runtime.Symbol(10/*function_args*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
743            }
744          return CUP$parser$result;
745
746          /*. . . . . . . . . . . . . . . . . . . .*/
747          case 85: // function ::= IDENTIFIER LPARA function_args RPARA 
748            {
749              Function RESULT = null;
750                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
751                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
752                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
753                int argsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
754                int argsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
755                OperandList args = (OperandList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
756                 RESULT = new Function(name, args); 
757              CUP$parser$result = new java_cup.runtime.Symbol(9/*function*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
758            }
759          return CUP$parser$result;
760
761          /*. . . . . . . . . . . . . . . . . . . .*/
762          case 84: // function ::= IDENTIFIER LPARA RPARA 
763            {
764              Function RESULT = null;
765                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
766                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
767                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
768                 RESULT = new Function(name);
769              CUP$parser$result = new java_cup.runtime.Symbol(9/*function*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
770            }
771          return CUP$parser$result;
772
773          /*. . . . . . . . . . . . . . . . . . . .*/
774          case 83: // literal_list ::= literal_list COMMA literal 
775            {
776              LiteralList RESULT = null;
777                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
778                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
779                LiteralList l = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
780                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
781                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
782                Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
783                 l.add(v); RESULT = l; 
784              CUP$parser$result = new java_cup.runtime.Symbol(19/*literal_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
785            }
786          return CUP$parser$result;
787
788          /*. . . . . . . . . . . . . . . . . . . .*/
789          case 82: // literal_list ::= literal 
790            {
791              LiteralList RESULT = null;
792                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
793                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
794                Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
795                 RESULT = new LiteralList(); RESULT.add(v); 
796              CUP$parser$result = new java_cup.runtime.Symbol(19/*literal_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
797            }
798          return CUP$parser$result;
799
800          /*. . . . . . . . . . . . . . . . . . . .*/
801          case 81: // literal ::= TIMESTAMP STRING 
802            {
803              Literal RESULT = null;
804                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
805                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
806                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
807                 RESULT = new DateLiteral(v, false); 
808              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
809            }
810          return CUP$parser$result;
811
812          /*. . . . . . . . . . . . . . . . . . . .*/
813          case 80: // literal ::= DATE STRING 
814            {
815              Literal RESULT = null;
816                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
817                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
818                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
819                 RESULT = new DateLiteral(v, true); 
820              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
821            }
822          return CUP$parser$result;
823
824          /*. . . . . . . . . . . . . . . . . . . .*/
825          case 79: // literal ::= SUB DOUBLE 
826            {
827              Literal RESULT = null;
828                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
829                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
830                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
831                 RESULT = new DoubleLiteral('-'+v); 
832              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
833            }
834          return CUP$parser$result;
835
836          /*. . . . . . . . . . . . . . . . . . . .*/
837          case 78: // literal ::= DOUBLE 
838            {
839              Literal RESULT = null;
840                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
841                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
842                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
843                 RESULT = new DoubleLiteral(v); 
844              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
845            }
846          return CUP$parser$result;
847
848          /*. . . . . . . . . . . . . . . . . . . .*/
849          case 77: // literal ::= SUB INTEGER 
850            {
851              Literal RESULT = null;
852                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
853                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
854                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
855                 RESULT = new IntegerLiteral('-'+v); 
856              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
857            }
858          return CUP$parser$result;
859
860          /*. . . . . . . . . . . . . . . . . . . .*/
861          case 76: // literal ::= INTEGER 
862            {
863              Literal RESULT = null;
864                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
865                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
866                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
867                 RESULT = new IntegerLiteral(v); 
868              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
869            }
870          return CUP$parser$result;
871
872          /*. . . . . . . . . . . . . . . . . . . .*/
873          case 75: // literal ::= STRING 
874            {
875              Literal RESULT = null;
876                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
877                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
878                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
879                 RESULT = new StringLiteral(v); 
880              CUP$parser$result = new java_cup.runtime.Symbol(4/*literal*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
881            }
882          return CUP$parser$result;
883
884          /*. . . . . . . . . . . . . . . . . . . .*/
885          case 74: // operand ::= function 
886            {
887              Operand RESULT = null;
888                int fleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
889                int fright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
890                Function f = (Function)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
891                 RESULT = f; 
892              CUP$parser$result = new java_cup.runtime.Symbol(2/*operand*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
893            }
894          return CUP$parser$result;
895
896          /*. . . . . . . . . . . . . . . . . . . .*/
897          case 73: // operand ::= reference 
898            {
899              Operand RESULT = null;
900                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
901                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
902                Reference r = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
903                 RESULT = r; 
904              CUP$parser$result = new java_cup.runtime.Symbol(2/*operand*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
905            }
906          return CUP$parser$result;
907
908          /*. . . . . . . . . . . . . . . . . . . .*/
909          case 72: // operand ::= literal 
910            {
911              Operand RESULT = null;
912                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
913                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
914                Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
915                 RESULT = v; 
916              CUP$parser$result = new java_cup.runtime.Symbol(2/*operand*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
917            }
918          return CUP$parser$result;
919
920          /*. . . . . . . . . . . . . . . . . . . .*/
921          case 71: // simple_reference ::= PATH_IDENTIFIER 
922            {
923              Reference RESULT = null;
924                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
925                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
926                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
927                 RESULT = new Reference(v); 
928              CUP$parser$result = new java_cup.runtime.Symbol(5/*simple_reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
929            }
930          return CUP$parser$result;
931
932          /*. . . . . . . . . . . . . . . . . . . .*/
933          case 70: // simple_reference ::= IDENTIFIER 
934            {
935              Reference RESULT = null;
936                int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
937                int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
938                String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
939                 RESULT = new Reference(v); 
940              CUP$parser$result = new java_cup.runtime.Symbol(5/*simple_reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
941            }
942          return CUP$parser$result;
943
944          /*. . . . . . . . . . . . . . . . . . . .*/
945          case 69: // reference ::= es_hint simple_reference 
946            {
947              Reference RESULT = null;
948                int hintleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
949                int hintright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
950                EsHint hint = (EsHint)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
951                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
952                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
953                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
954                 RESULT = new Reference(ref, hint); 
955              CUP$parser$result = new java_cup.runtime.Symbol(6/*reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
956            }
957          return CUP$parser$result;
958
959          /*. . . . . . . . . . . . . . . . . . . .*/
960          case 68: // reference ::= DATE LPARA simple_reference RPARA 
961            {
962              Reference RESULT = null;
963                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
964                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
965                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
966                 RESULT = new Reference(ref, "DATE"); 
967              CUP$parser$result = new java_cup.runtime.Symbol(6/*reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
968            }
969          return CUP$parser$result;
970
971          /*. . . . . . . . . . . . . . . . . . . .*/
972          case 67: // reference ::= simple_reference 
973            {
974              Reference RESULT = null;
975                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
976                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
977                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
978                 RESULT = ref; 
979              CUP$parser$result = new java_cup.runtime.Symbol(6/*reference*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
980            }
981          return CUP$parser$result;
982
983          /*. . . . . . . . . . . . . . . . . . . .*/
984          case 66: // expression ::= LPARA expression RPARA 
985            {
986              Expression RESULT = null;
987                int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
988                int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
989                Expression e = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
990                 RESULT = e; 
991              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
992            }
993          return CUP$parser$result;
994
995          /*. . . . . . . . . . . . . . . . . . . .*/
996          case 65: // expression ::= operand DIV operand 
997            {
998              Expression RESULT = null;
999                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1000                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1001                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1002                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1003                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1004                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1005                 RESULT = new Expression(l, Operator.DIV, r); 
1006              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1007            }
1008          return CUP$parser$result;
1009
1010          /*. . . . . . . . . . . . . . . . . . . .*/
1011          case 64: // expression ::= operand MUL operand 
1012            {
1013              Expression RESULT = null;
1014                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1015                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1016                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1017                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1018                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1019                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1020                 RESULT = new Expression(l, Operator.MUL, r); 
1021              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1022            }
1023          return CUP$parser$result;
1024
1025          /*. . . . . . . . . . . . . . . . . . . .*/
1026          case 63: // expression ::= operand SUB operand 
1027            {
1028              Expression RESULT = null;
1029                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1030                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1031                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1032                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1033                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1034                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1035                 RESULT = new Expression(l, Operator.SUB, r); 
1036              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1037            }
1038          return CUP$parser$result;
1039
1040          /*. . . . . . . . . . . . . . . . . . . .*/
1041          case 62: // expression ::= operand SUM operand 
1042            {
1043              Expression RESULT = null;
1044                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1045                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1046                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1047                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1048                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1049                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1050                 RESULT = new Expression(l, Operator.SUM, r); 
1051              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1052            }
1053          return CUP$parser$result;
1054
1055          /*. . . . . . . . . . . . . . . . . . . .*/
1056          case 61: // expression ::= expression DIV operand 
1057            {
1058              Expression RESULT = null;
1059                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1060                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1061                Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1062                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1063                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1064                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1065                 RESULT = new Expression(l, Operator.DIV, r); 
1066              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1067            }
1068          return CUP$parser$result;
1069
1070          /*. . . . . . . . . . . . . . . . . . . .*/
1071          case 60: // expression ::= expression MUL operand 
1072            {
1073              Expression RESULT = null;
1074                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1075                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1076                Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1077                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1078                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1079                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1080                 RESULT = new Expression(l, Operator.MUL, r); 
1081              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1082            }
1083          return CUP$parser$result;
1084
1085          /*. . . . . . . . . . . . . . . . . . . .*/
1086          case 59: // expression ::= expression SUB operand 
1087            {
1088              Expression RESULT = null;
1089                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1090                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1091                Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1092                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1093                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1094                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1095                 RESULT = new Expression(l, Operator.SUB, r); 
1096              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1097            }
1098          return CUP$parser$result;
1099
1100          /*. . . . . . . . . . . . . . . . . . . .*/
1101          case 58: // expression ::= expression SUM operand 
1102            {
1103              Expression RESULT = null;
1104                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1105                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1106                Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1107                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1108                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1109                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1110                 RESULT = new Expression(l, Operator.SUM, r); 
1111              CUP$parser$result = new java_cup.runtime.Symbol(7/*expression*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1112            }
1113          return CUP$parser$result;
1114
1115          /*. . . . . . . . . . . . . . . . . . . .*/
1116          case 57: // predicate_operand ::= expression 
1117            {
1118              Operand RESULT = null;
1119                int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1120                int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1121                Expression e = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1122                 RESULT = e; 
1123              CUP$parser$result = new java_cup.runtime.Symbol(3/*predicate_operand*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1124            }
1125          return CUP$parser$result;
1126
1127          /*. . . . . . . . . . . . . . . . . . . .*/
1128          case 56: // predicate_operand ::= operand 
1129            {
1130              Operand RESULT = null;
1131                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1132                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1133                Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1134                 RESULT = o; 
1135              CUP$parser$result = new java_cup.runtime.Symbol(3/*predicate_operand*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1136            }
1137          return CUP$parser$result;
1138
1139          /*. . . . . . . . . . . . . . . . . . . .*/
1140          case 55: // predicate ::= reference STARTSWITH STRING 
1141            {
1142              Predicate RESULT = null;
1143                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1144                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1145                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1146                int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1147                int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1148                String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1149                 RESULT = new Predicate(ref, Operator.STARTSWITH, new StringLiteral(s)); 
1150              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1151            }
1152          return CUP$parser$result;
1153
1154          /*. . . . . . . . . . . . . . . . . . . .*/
1155          case 54: // predicate ::= reference IS NOT NULL 
1156            {
1157              Predicate RESULT = null;
1158                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
1159                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
1160                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
1161                 RESULT = new Predicate(ref, Operator.ISNOTNULL, null); 
1162              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1163            }
1164          return CUP$parser$result;
1165
1166          /*. . . . . . . . . . . . . . . . . . . .*/
1167          case 53: // predicate ::= reference IS NULL 
1168            {
1169              Predicate RESULT = null;
1170                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1171                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1172                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1173                 RESULT = new Predicate(ref, Operator.ISNULL, null); 
1174              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1175            }
1176          return CUP$parser$result;
1177
1178          /*. . . . . . . . . . . . . . . . . . . .*/
1179          case 52: // predicate ::= reference NOT ILIKE STRING 
1180            {
1181              Predicate RESULT = null;
1182                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
1183                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
1184                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
1185                int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1186                int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1187                String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1188                 RESULT = new Predicate(ref, Operator.NOTILIKE, new StringLiteral(s)); 
1189              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1190            }
1191          return CUP$parser$result;
1192
1193          /*. . . . . . . . . . . . . . . . . . . .*/
1194          case 51: // predicate ::= reference NOT LIKE STRING 
1195            {
1196              Predicate RESULT = null;
1197                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
1198                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
1199                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
1200                int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1201                int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1202                String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1203                 RESULT = new Predicate(ref, Operator.NOTLIKE, new StringLiteral(s)); 
1204              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1205            }
1206          return CUP$parser$result;
1207
1208          /*. . . . . . . . . . . . . . . . . . . .*/
1209          case 50: // predicate ::= reference ILIKE STRING 
1210            {
1211              Predicate RESULT = null;
1212                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1213                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1214                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1215                int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1216                int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1217                String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1218                 RESULT = new Predicate(ref, Operator.ILIKE, new StringLiteral(s)); 
1219              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1220            }
1221          return CUP$parser$result;
1222
1223          /*. . . . . . . . . . . . . . . . . . . .*/
1224          case 49: // predicate ::= reference LIKE STRING 
1225            {
1226              Predicate RESULT = null;
1227                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1228                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1229                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1230                int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1231                int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1232                String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1233                 RESULT = new Predicate(ref, Operator.LIKE, new StringLiteral(s)); 
1234              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1235            }
1236          return CUP$parser$result;
1237
1238          /*. . . . . . . . . . . . . . . . . . . .*/
1239          case 48: // predicate ::= reference NOT BETWEEN literal AND literal 
1240            {
1241              Predicate RESULT = null;
1242                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
1243                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
1244                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
1245                int minleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1246                int minright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1247                Literal min = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1248                int maxleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1249                int maxright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1250                Literal max = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1251                
1252                LiteralList range = new LiteralList();
1253                range.add(min); range.add(max);
1254                RESULT = new Predicate(ref, Operator.NOTBETWEEN, range);
1255                
1256              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1257            }
1258          return CUP$parser$result;
1259
1260          /*. . . . . . . . . . . . . . . . . . . .*/
1261          case 47: // predicate ::= reference BETWEEN literal AND literal 
1262            {
1263              Predicate RESULT = null;
1264                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1265                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1266                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1267                int minleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1268                int minright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1269                Literal min = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1270                int maxleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1271                int maxright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1272                Literal max = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1273                
1274                LiteralList range = new LiteralList();
1275                range.add(min); range.add(max);
1276                RESULT = new Predicate(ref, Operator.BETWEEN, range);
1277                
1278              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1279            }
1280          return CUP$parser$result;
1281
1282          /*. . . . . . . . . . . . . . . . . . . .*/
1283          case 46: // predicate ::= reference NOT IN LPARA literal_list RPARA 
1284            {
1285              Predicate RESULT = null;
1286                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
1287                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
1288                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
1289                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1290                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1291                LiteralList list = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1292                 RESULT = new Predicate(ref, Operator.NOTIN, list); 
1293              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1294            }
1295          return CUP$parser$result;
1296
1297          /*. . . . . . . . . . . . . . . . . . . .*/
1298          case 45: // predicate ::= reference IN LPARA literal_list RPARA 
1299            {
1300              Predicate RESULT = null;
1301                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1302                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1303                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1304                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1305                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1306                LiteralList list = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1307                 RESULT = new Predicate(ref, Operator.IN, list); 
1308              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1309            }
1310          return CUP$parser$result;
1311
1312          /*. . . . . . . . . . . . . . . . . . . .*/
1313          case 44: // predicate ::= NOT predicate 
1314            {
1315              Predicate RESULT = null;
1316                int pleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1317                int pright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1318                Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1319                 RESULT = new Predicate(p, Operator.NOT, null); 
1320              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1321            }
1322          return CUP$parser$result;
1323
1324          /*. . . . . . . . . . . . . . . . . . . .*/
1325          case 43: // predicate ::= LPARA predicate RPARA 
1326            {
1327              Predicate RESULT = null;
1328                int pleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1329                int pright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1330                Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1331                 RESULT = p; 
1332              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1333            }
1334          return CUP$parser$result;
1335
1336          /*. . . . . . . . . . . . . . . . . . . .*/
1337          case 42: // predicate ::= predicate_operand GTEQ predicate_operand 
1338            {
1339              Predicate RESULT = null;
1340                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1341                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1342                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1343                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1344                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1345                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1346                 RESULT = new Predicate(l, Operator.GTEQ, r); 
1347              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1348            }
1349          return CUP$parser$result;
1350
1351          /*. . . . . . . . . . . . . . . . . . . .*/
1352          case 41: // predicate ::= predicate_operand LTEQ predicate_operand 
1353            {
1354              Predicate RESULT = null;
1355                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1356                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1357                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1358                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1359                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1360                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1361                 RESULT = new Predicate(l, Operator.LTEQ, r); 
1362              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1363            }
1364          return CUP$parser$result;
1365
1366          /*. . . . . . . . . . . . . . . . . . . .*/
1367          case 40: // predicate ::= predicate_operand GT predicate_operand 
1368            {
1369              Predicate RESULT = null;
1370                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1371                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1372                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1373                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1374                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1375                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1376                 RESULT = new Predicate(l, Operator.GT, r); 
1377              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1378            }
1379          return CUP$parser$result;
1380
1381          /*. . . . . . . . . . . . . . . . . . . .*/
1382          case 39: // predicate ::= predicate_operand LT predicate_operand 
1383            {
1384              Predicate RESULT = null;
1385                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1386                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1387                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1388                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1389                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1390                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1391                 RESULT = new Predicate(l, Operator.LT, r); 
1392              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1393            }
1394          return CUP$parser$result;
1395
1396          /*. . . . . . . . . . . . . . . . . . . .*/
1397          case 38: // predicate ::= predicate_operand NOTEQ predicate_operand 
1398            {
1399              Predicate RESULT = null;
1400                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1401                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1402                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1403                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1404                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1405                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1406                 RESULT = new Predicate(l, Operator.NOTEQ, r); 
1407              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1408            }
1409          return CUP$parser$result;
1410
1411          /*. . . . . . . . . . . . . . . . . . . .*/
1412          case 37: // predicate ::= predicate_operand EQ predicate_operand 
1413            {
1414              Predicate RESULT = null;
1415                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1416                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1417                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1418                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1419                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1420                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1421                 RESULT = new Predicate(l, Operator.EQ, r); 
1422              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1423            }
1424          return CUP$parser$result;
1425
1426          /*. . . . . . . . . . . . . . . . . . . .*/
1427          case 36: // predicate ::= predicate_operand OR predicate_operand 
1428            {
1429              Predicate RESULT = null;
1430                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1431                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1432                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1433                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1434                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1435                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1436                 RESULT = new Predicate(l, Operator.OR, r); 
1437              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1438            }
1439          return CUP$parser$result;
1440
1441          /*. . . . . . . . . . . . . . . . . . . .*/
1442          case 35: // predicate ::= predicate_operand AND predicate_operand 
1443            {
1444              Predicate RESULT = null;
1445                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1446                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1447                Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1448                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1449                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1450                Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1451                 RESULT = new Predicate(l, Operator.AND, r); 
1452              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1453            }
1454          return CUP$parser$result;
1455
1456          /*. . . . . . . . . . . . . . . . . . . .*/
1457          case 34: // predicate ::= predicate NOTEQ predicate 
1458            {
1459              Predicate RESULT = null;
1460                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1461                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1462                Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1463                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1464                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1465                Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1466                 RESULT = new Predicate(l, Operator.NOTEQ, r); 
1467              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1468            }
1469          return CUP$parser$result;
1470
1471          /*. . . . . . . . . . . . . . . . . . . .*/
1472          case 33: // predicate ::= predicate EQ predicate 
1473            {
1474              Predicate RESULT = null;
1475                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1476                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1477                Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1478                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1479                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1480                Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1481                 RESULT = new Predicate(l, Operator.EQ, r); 
1482              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1483            }
1484          return CUP$parser$result;
1485
1486          /*. . . . . . . . . . . . . . . . . . . .*/
1487          case 32: // predicate ::= predicate OR predicate 
1488            {
1489              Predicate RESULT = null;
1490                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1491                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1492                Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1493                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1494                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1495                Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1496                 RESULT = new Predicate(l, Operator.OR, r); 
1497              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1498            }
1499          return CUP$parser$result;
1500
1501          /*. . . . . . . . . . . . . . . . . . . .*/
1502          case 31: // predicate ::= predicate AND predicate 
1503            {
1504              Predicate RESULT = null;
1505                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1506                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1507                Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1508                int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1509                int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1510                Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1511                 RESULT = new Predicate(l, Operator.AND, r); 
1512              CUP$parser$result = new java_cup.runtime.Symbol(8/*predicate*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1513            }
1514          return CUP$parser$result;
1515
1516          /*. . . . . . . . . . . . . . . . . . . .*/
1517          case 30: // order_by_expr ::= reference DESC 
1518            {
1519              OrderByExpr RESULT = null;
1520                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1521                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1522                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1523                 RESULT = new OrderByExpr(ref, true); 
1524              CUP$parser$result = new java_cup.runtime.Symbol(21/*order_by_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1525            }
1526          return CUP$parser$result;
1527
1528          /*. . . . . . . . . . . . . . . . . . . .*/
1529          case 29: // order_by_expr ::= reference ASC 
1530            {
1531              OrderByExpr RESULT = null;
1532                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1533                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1534                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1535                 RESULT = new OrderByExpr(ref, false); 
1536              CUP$parser$result = new java_cup.runtime.Symbol(21/*order_by_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1537            }
1538          return CUP$parser$result;
1539
1540          /*. . . . . . . . . . . . . . . . . . . .*/
1541          case 28: // order_by_expr ::= reference 
1542            {
1543              OrderByExpr RESULT = null;
1544                int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1545                int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1546                Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1547                 RESULT = new OrderByExpr(ref, false); 
1548              CUP$parser$result = new java_cup.runtime.Symbol(21/*order_by_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1549            }
1550          return CUP$parser$result;
1551
1552          /*. . . . . . . . . . . . . . . . . . . .*/
1553          case 27: // order_by_list ::= order_by_list COMMA order_by_expr 
1554            {
1555              OrderByList RESULT = null;
1556                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1557                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1558                OrderByList l = (OrderByList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1559                int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1560                int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1561                OrderByExpr e = (OrderByExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1562                 l.add(e); RESULT = l; 
1563              CUP$parser$result = new java_cup.runtime.Symbol(20/*order_by_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1564            }
1565          return CUP$parser$result;
1566
1567          /*. . . . . . . . . . . . . . . . . . . .*/
1568          case 26: // order_by_list ::= order_by_expr 
1569            {
1570              OrderByList RESULT = null;
1571                int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1572                int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1573                OrderByExpr e = (OrderByExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1574                 RESULT = new OrderByList(e); 
1575              CUP$parser$result = new java_cup.runtime.Symbol(20/*order_by_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1576            }
1577          return CUP$parser$result;
1578
1579          /*. . . . . . . . . . . . . . . . . . . .*/
1580          case 25: // order_by_clause ::= ORDERBY order_by_list 
1581            {
1582              OrderByClause RESULT = null;
1583                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1584                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1585                OrderByList l = (OrderByList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1586                 RESULT = new OrderByClause(l); 
1587              CUP$parser$result = new java_cup.runtime.Symbol(14/*order_by_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1588            }
1589          return CUP$parser$result;
1590
1591          /*. . . . . . . . . . . . . . . . . . . .*/
1592          case 24: // where_clause ::= WHERE predicate 
1593            {
1594              WhereClause RESULT = null;
1595                int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1596                int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1597                Predicate e = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1598                 RESULT = new WhereClause(e); 
1599              CUP$parser$result = new java_cup.runtime.Symbol(13/*where_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1600            }
1601          return CUP$parser$result;
1602
1603          /*. . . . . . . . . . . . . . . . . . . .*/
1604          case 23: // from_list ::= from_key AS IDENTIFIER 
1605            {
1606              FromList RESULT = null;
1607                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1608                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1609                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1610                int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1611                int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1612                String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1613                
1614                RESULT = new FromList();
1615                RESULT.put(alias, name);
1616                
1617              CUP$parser$result = new java_cup.runtime.Symbol(18/*from_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1618            }
1619          return CUP$parser$result;
1620
1621          /*. . . . . . . . . . . . . . . . . . . .*/
1622          case 22: // from_list ::= from_key 
1623            {
1624              FromList RESULT = null;
1625                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1626                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1627                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1628                
1629                RESULT = new FromList();
1630                RESULT.put(name, name);
1631                
1632              CUP$parser$result = new java_cup.runtime.Symbol(18/*from_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1633            }
1634          return CUP$parser$result;
1635
1636          /*. . . . . . . . . . . . . . . . . . . .*/
1637          case 21: // from_list ::= from_list COMMA from_key AS IDENTIFIER 
1638            {
1639              FromList RESULT = null;
1640                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1641                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1642                FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1643                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1644                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1645                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1646                int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1647                int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1648                String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1649                
1650                list.put(alias, name);
1651                RESULT = list;
1652                
1653              CUP$parser$result = new java_cup.runtime.Symbol(18/*from_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1654            }
1655          return CUP$parser$result;
1656
1657          /*. . . . . . . . . . . . . . . . . . . .*/
1658          case 20: // from_list ::= from_list COMMA from_key 
1659            {
1660              FromList RESULT = null;
1661                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1662                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1663                FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1664                int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1665                int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1666                String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1667                
1668                list.put(name, name);
1669                RESULT = list;
1670                
1671              CUP$parser$result = new java_cup.runtime.Symbol(18/*from_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1672            }
1673          return CUP$parser$result;
1674
1675          /*. . . . . . . . . . . . . . . . . . . .*/
1676          case 19: // from_key ::= FROM_IDENTIFIER 
1677            {
1678              String RESULT = null;
1679                int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1680                int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1681                String id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1682                 RESULT = id; 
1683              CUP$parser$result = new java_cup.runtime.Symbol(22/*from_key*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1684            }
1685          return CUP$parser$result;
1686
1687          /*. . . . . . . . . . . . . . . . . . . .*/
1688          case 18: // from_key ::= IDENTIFIER 
1689            {
1690              String RESULT = null;
1691                int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1692                int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1693                String id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1694                 RESULT = id; 
1695              CUP$parser$result = new java_cup.runtime.Symbol(22/*from_key*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1696            }
1697          return CUP$parser$result;
1698
1699          /*. . . . . . . . . . . . . . . . . . . .*/
1700          case 17: // from_clause ::= FROM LOCATION from_list 
1701            {
1702              FromClause RESULT = null;
1703                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1704                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1705                FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1706                 RESULT = new FromClause(FromClause.LOCATION, list); 
1707              CUP$parser$result = new java_cup.runtime.Symbol(12/*from_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1708            }
1709          return CUP$parser$result;
1710
1711          /*. . . . . . . . . . . . . . . . . . . .*/
1712          case 16: // from_clause ::= FROM TYPE from_list 
1713            {
1714              FromClause RESULT = null;
1715                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1716                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1717                FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1718                 RESULT = new FromClause(FromClause.DOCTYPE, list); 
1719              CUP$parser$result = new java_cup.runtime.Symbol(12/*from_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1720            }
1721          return CUP$parser$result;
1722
1723          /*. . . . . . . . . . . . . . . . . . . .*/
1724          case 15: // from_clause ::= FROM from_list 
1725            {
1726              FromClause RESULT = null;
1727                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1728                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1729                FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1730                 RESULT = new FromClause(list); 
1731              CUP$parser$result = new java_cup.runtime.Symbol(12/*from_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1732            }
1733          return CUP$parser$result;
1734
1735          /*. . . . . . . . . . . . . . . . . . . .*/
1736          case 14: // select_list ::= MUL 
1737            {
1738              SelectList RESULT = null;
1739                 RESULT = new SelectList(); 
1740              CUP$parser$result = new java_cup.runtime.Symbol(17/*select_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1741            }
1742          return CUP$parser$result;
1743
1744          /*. . . . . . . . . . . . . . . . . . . .*/
1745          case 13: // select_list ::= operand AS IDENTIFIER 
1746            {
1747              SelectList RESULT = null;
1748                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1749                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1750                Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1751                int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1752                int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1753                String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1754                
1755                  RESULT = new SelectList();
1756                  RESULT.put(alias, o);
1757                  
1758              CUP$parser$result = new java_cup.runtime.Symbol(17/*select_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1759            }
1760          return CUP$parser$result;
1761
1762          /*. . . . . . . . . . . . . . . . . . . .*/
1763          case 12: // select_list ::= operand 
1764            {
1765              SelectList RESULT = null;
1766                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1767                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1768                Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1769                
1770                  RESULT = new SelectList();
1771                  RESULT.put(o.toString(), o);
1772                  
1773              CUP$parser$result = new java_cup.runtime.Symbol(17/*select_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1774            }
1775          return CUP$parser$result;
1776
1777          /*. . . . . . . . . . . . . . . . . . . .*/
1778          case 11: // select_list ::= select_list COMMA operand AS IDENTIFIER 
1779            {
1780              SelectList RESULT = null;
1781                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1782                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1783                SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1784                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1785                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1786                Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1787                int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1788                int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1789                String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1790                
1791                  list.put(alias, o);
1792                  RESULT = list;
1793                  
1794              CUP$parser$result = new java_cup.runtime.Symbol(17/*select_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1795            }
1796          return CUP$parser$result;
1797
1798          /*. . . . . . . . . . . . . . . . . . . .*/
1799          case 10: // select_list ::= select_list COMMA operand 
1800            {
1801              SelectList RESULT = null;
1802                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1803                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1804                SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1805                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1806                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1807                Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1808                
1809                  list.put(o.toString(), o);
1810                  RESULT = list;
1811                  
1812              CUP$parser$result = new java_cup.runtime.Symbol(17/*select_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1813            }
1814          return CUP$parser$result;
1815
1816          /*. . . . . . . . . . . . . . . . . . . .*/
1817          case 9: // select_clause ::= SELECT ALL select_list 
1818            {
1819              SelectClause RESULT = null;
1820                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1821                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1822                SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1823                 RESULT = new SelectClause(list, false); 
1824              CUP$parser$result = new java_cup.runtime.Symbol(11/*select_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1825            }
1826          return CUP$parser$result;
1827
1828          /*. . . . . . . . . . . . . . . . . . . .*/
1829          case 8: // select_clause ::= SELECT DISTINCT select_list 
1830            {
1831              SelectClause RESULT = null;
1832                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1833                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1834                SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1835                 RESULT = new SelectClause(list, true); 
1836              CUP$parser$result = new java_cup.runtime.Symbol(11/*select_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1837            }
1838          return CUP$parser$result;
1839
1840          /*. . . . . . . . . . . . . . . . . . . .*/
1841          case 7: // select_clause ::= SELECT select_list 
1842            {
1843              SelectClause RESULT = null;
1844                int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1845                int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1846                SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1847                 RESULT = new SelectClause(list); 
1848              CUP$parser$result = new java_cup.runtime.Symbol(11/*select_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1849            }
1850          return CUP$parser$result;
1851
1852          /*. . . . . . . . . . . . . . . . . . . .*/
1853          case 6: // query ::= query LIMIT INTEGER OFFSET INTEGER 
1854            {
1855              SQLQuery RESULT = null;
1856                int qleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
1857                int qright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
1858                SQLQuery q = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1859                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1860                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1861                String l = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1862                int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1863                int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1864                String o = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1865                 q.limit = Long.parseLong(l); q.offset = Long.parseLong(o); RESULT = q; 
1866              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1867            }
1868          return CUP$parser$result;
1869
1870          /*. . . . . . . . . . . . . . . . . . . .*/
1871          case 5: // query ::= query LIMIT INTEGER 
1872            {
1873              SQLQuery RESULT = null;
1874                int qleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1875                int qright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1876                SQLQuery q = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1877                int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1878                int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1879                String l = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1880                 q.limit = Long.parseLong(l); RESULT = q; 
1881              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1882            }
1883          return CUP$parser$result;
1884
1885          /*. . . . . . . . . . . . . . . . . . . .*/
1886          case 4: // query ::= select_clause from_clause order_by_clause 
1887            {
1888              SQLQuery RESULT = null;
1889                int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1890                int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1891                SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1892                int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1893                int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1894                FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1895                int orderleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1896                int orderright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1897                OrderByClause order = (OrderByClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1898                 RESULT = new SQLQuery(select, from, null, order); 
1899              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1900            }
1901          return CUP$parser$result;
1902
1903          /*. . . . . . . . . . . . . . . . . . . .*/
1904          case 3: // query ::= select_clause from_clause where_clause order_by_clause 
1905            {
1906              SQLQuery RESULT = null;
1907                int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
1908                int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
1909                SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
1910                int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1911                int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1912                FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1913                int whereleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1914                int whereright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1915                WhereClause where = (WhereClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1916                int orderleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1917                int orderright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1918                OrderByClause order = (OrderByClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1919                 RESULT = new SQLQuery(select, from, where, order); 
1920              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1921            }
1922          return CUP$parser$result;
1923
1924          /*. . . . . . . . . . . . . . . . . . . .*/
1925          case 2: // query ::= select_clause from_clause where_clause 
1926            {
1927              SQLQuery RESULT = null;
1928                int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1929                int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1930                SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1931                int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1932                int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1933                FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1934                int whereleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1935                int whereright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1936                WhereClause where = (WhereClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1937                 RESULT = new SQLQuery(select, from, where); 
1938              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1939            }
1940          return CUP$parser$result;
1941
1942          /*. . . . . . . . . . . . . . . . . . . .*/
1943          case 1: // query ::= select_clause from_clause 
1944            {
1945              SQLQuery RESULT = null;
1946                int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1947                int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1948                SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1949                int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1950                int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1951                FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1952                 RESULT = new SQLQuery(select, from); 
1953              CUP$parser$result = new java_cup.runtime.Symbol(1/*query*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1954            }
1955          return CUP$parser$result;
1956
1957          /*. . . . . . . . . . . . . . . . . . . .*/
1958          case 0: // $START ::= query EOF 
1959            {
1960              Object RESULT = null;
1961                int start_valleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1962                int start_valright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1963                SQLQuery start_val = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1964                RESULT = start_val;
1965              CUP$parser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1966            }
1967          /* ACCEPT */
1968          CUP$parser$parser.done_parsing();
1969          return CUP$parser$result;
1970
1971          /* . . . . . .*/
1972          default:
1973            throw new Exception(
1974               "Invalid action number found in internal parse table");
1975
1976        }
1977    }
1978}
1979