//----------------------------------------------------
// The following code was generated by CUP v0.10k TUM Edition 20050516
// Mon Jan 07 17:15:11 CET 2013
//----------------------------------------------------
package org.nuxeo.ecm.core.query.sql.parser;
import java_cup.runtime.*;
import org.nuxeo.ecm.core.query.sql.model.*;
import org.nuxeo.ecm.core.query.sql.*;
import org.nuxeo.ecm.core.query.*;
/** CUP v0.10k TUM Edition 20050516 generated parser.
* @version Mon Jan 07 17:15:11 CET 2013
*/
public class parser extends java_cup.runtime.lr_parser {
/** Default constructor. */
public parser() {super();}
/** Constructor which sets the default scanner. */
public parser(java_cup.runtime.Scanner s) {super(s);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\127\000\002\002\004\000\002\003\004\000\002\003" +
"\005\000\002\003\006\000\002\003\005\000\002\003\005" +
"\000\002\003\007\000\002\015\004\000\002\015\005\000" +
"\002\015\005\000\002\023\005\000\002\023\007\000\002" +
"\023\003\000\002\023\005\000\002\023\003\000\002\016" +
"\004\000\002\016\005\000\002\016\005\000\002\030\003" +
"\000\002\030\003\000\002\024\005\000\002\024\007\000" +
"\002\024\003\000\002\024\005\000\002\017\004\000\002" +
"\020\004\000\002\026\003\000\002\026\005\000\002\027" +
"\003\000\002\027\004\000\002\027\004\000\002\012\005" +
"\000\002\012\005\000\002\012\005\000\002\012\005\000" +
"\002\012\005\000\002\012\005\000\002\012\005\000\002" +
"\012\005\000\002\012\005\000\002\012\005\000\002\012" +
"\005\000\002\012\005\000\002\012\005\000\002\012\004" +
"\000\002\012\007\000\002\012\010\000\002\012\007\000" +
"\002\012\010\000\002\012\005\000\002\012\005\000\002" +
"\012\006\000\002\012\006\000\002\012\005\000\002\012" +
"\006\000\002\012\005\000\002\005\003\000\002\005\003" +
"\000\002\011\005\000\002\011\005\000\002\011\005\000" +
"\002\011\005\000\002\011\005\000\002\011\005\000\002" +
"\011\005\000\002\011\005\000\002\011\005\000\002\010" +
"\003\000\002\010\006\000\002\007\003\000\002\007\003" +
"\000\002\004\003\000\002\004\003\000\002\004\003\000" +
"\002\006\003\000\002\006\003\000\002\006\004\000\002" +
"\006\003\000\002\006\004\000\002\006\004\000\002\006" +
"\004\000\002\025\003\000\002\025\005\000\002\013\005" +
"\000\002\013\006\000\002\014\003\000\002\014\005" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\250\000\004\004\006\001\002\000\004\005\112\001" +
"\002\000\006\002\106\023\105\001\002\000\030\024\017" +
"\025\014\034\022\036\026\053\011\054\027\062\024\064" +
"\012\065\016\066\010\067\020\001\002\000\072\002\uffbe" +
"\005\uffbe\007\uffbe\010\uffbe\011\uffbe\012\uffbe\013\uffbe\020" +
"\uffbe\023\uffbe\026\uffbe\027\uffbe\030\uffbe\031\uffbe\032\uffbe" +
"\033\uffbe\034\uffbe\035\uffbe\036\uffbe\037\uffbe\040\uffbe\041" +
"\uffbe\042\uffbe\043\uffbe\044\uffbe\045\uffbe\047\uffbe\051\uffbe" +
"\056\uffbe\001\002\000\050\002\uffb6\005\uffb6\007\uffb6\020" +
"\uffb6\023\uffb6\030\uffb6\031\uffb6\033\uffb6\034\uffb6\035\uffb6" +
"\036\uffb6\037\uffb6\040\uffb6\041\uffb6\042\uffb6\043\uffb6\044" +
"\uffb6\045\uffb6\047\uffb6\001\002\000\006\046\101\065\100" +
"\001\002\000\072\002\uffbb\005\uffbb\007\uffbb\010\uffbb\011" +
"\uffbb\012\uffbb\013\uffbb\020\uffbb\023\uffbb\026\uffbb\027\uffbb" +
"\030\uffbb\031\uffbb\032\uffbb\033\uffbb\034\uffbb\035\uffbb\036" +
"\uffbb\037\uffbb\040\uffbb\041\uffbb\042\uffbb\043\uffbb\044\uffbb" +
"\045\uffbb\047\uffbb\051\uffbb\056\uffbb\001\002\000\050\002" +
"\uffb9\005\uffb9\007\uffb9\020\uffb9\023\uffb9\030\uffb9\031\uffb9" +
"\033\uffb9\034\uffb9\035\uffb9\036\uffb9\037\uffb9\040\uffb9\041" +
"\uffb9\042\uffb9\043\uffb9\044\uffb9\045\uffb9\047\uffb9\001\002" +
"\000\024\034\022\036\026\053\011\054\027\062\024\064" +
"\012\065\016\066\010\067\020\001\002\000\050\002\uffb8" +
"\005\uffb8\007\uffb8\020\uffb8\023\uffb8\030\uffb8\031\uffb8\033" +
"\uffb8\034\uffb8\035\uffb8\036\uffb8\037\uffb8\040\uffb8\041\uffb8" +
"\042\uffb8\043\uffb8\044\uffb8\045\uffb8\047\uffb8\001\002\000" +
"\050\002\uffb7\005\uffb7\007\uffb7\020\uffb7\023\uffb7\030\uffb7" +
"\031\uffb7\033\uffb7\034\uffb7\035\uffb7\036\uffb7\037\uffb7\040" +
"\uffb7\041\uffb7\042\uffb7\043\uffb7\044\uffb7\045\uffb7\047\uffb7" +
"\001\002\000\024\034\022\036\026\053\011\054\027\062" +
"\024\064\012\065\016\066\010\067\020\001\002\000\050" +
"\002\uffb4\005\uffb4\007\uffb4\020\uffb4\023\uffb4\030\uffb4\031" +
"\uffb4\033\uffb4\034\uffb4\035\uffb4\036\uffb4\037\uffb4\040\uffb4" +
"\041\uffb4\042\uffb4\043\uffb4\044\uffb4\045\uffb4\047\uffb4\001" +
"\002\000\010\005\ufff5\007\074\045\ufff5\001\002\000\006" +
"\066\072\067\073\001\002\000\006\005\ufffa\045\066\001" +
"\002\000\070\002\uffbc\005\uffbc\007\uffbc\010\uffbc\011\uffbc" +
"\012\uffbc\013\uffbc\020\uffbc\023\uffbc\030\uffbc\031\uffbc\032" +
"\uffbc\033\uffbc\034\uffbc\035\uffbc\036\uffbc\037\uffbc\040\uffbc" +
"\041\uffbc\042\uffbc\043\uffbc\044\uffbc\045\uffbc\046\031\047" +
"\uffbc\051\uffbc\056\uffbc\001\002\000\050\002\uffba\005\uffba" +
"\007\uffba\020\uffba\023\uffba\030\uffba\031\uffba\033\uffba\034" +
"\uffba\035\uffba\036\uffba\037\uffba\040\uffba\041\uffba\042\uffba" +
"\043\uffba\044\uffba\045\uffba\047\uffba\001\002\000\006\005" +
"\ufff3\045\ufff3\001\002\000\004\065\030\001\002\000\050" +
"\002\uffb1\005\uffb1\007\uffb1\020\uffb1\023\uffb1\030\uffb1\031" +
"\uffb1\033\uffb1\034\uffb1\035\uffb1\036\uffb1\037\uffb1\040\uffb1" +
"\041\uffb1\042\uffb1\043\uffb1\044\uffb1\045\uffb1\047\uffb1\001" +
"\002\000\026\034\022\046\032\047\037\053\011\054\027" +
"\062\024\064\012\065\016\066\010\067\020\001\002\000" +
"\024\034\022\046\032\053\011\054\027\062\024\064\012" +
"\065\016\066\010\067\020\001\002\000\006\045\uffac\047" +
"\uffac\001\002\000\044\002\uffc8\020\uffc8\023\uffc8\030\uffc8" +
"\031\uffc8\033\053\034\054\035\056\036\055\037\uffc8\040" +
"\uffc8\041\uffc8\042\uffc8\043\uffc8\044\uffc8\045\uffc8\047\uffc8" +
"\001\002\000\006\045\050\047\051\001\002\000\044\002" +
"\uffc9\020\uffc9\023\uffc9\030\uffc9\031\uffc9\033\041\034\040" +
"\035\043\036\042\037\uffc9\040\uffc9\041\uffc9\042\uffc9\043" +
"\uffc9\044\uffc9\045\uffc9\047\uffc9\001\002\000\050\002\uffae" +
"\005\uffae\007\uffae\020\uffae\023\uffae\030\uffae\031\uffae\033" +
"\uffae\034\uffae\035\uffae\036\uffae\037\uffae\040\uffae\041\uffae" +
"\042\uffae\043\uffae\044\uffae\045\uffae\047\uffae\001\002\000" +
"\022\034\022\053\011\054\027\062\024\064\012\065\016" +
"\066\010\067\020\001\002\000\022\034\022\053\011\054" +
"\027\062\024\064\012\065\016\066\010\067\020\001\002" +
"\000\022\034\022\053\011\054\027\062\024\064\012\065" +
"\016\066\010\067\020\001\002\000\022\034\022\053\011" +
"\054\027\062\024\064\012\065\016\066\010\067\020\001" +
"\002\000\044\002\uffc0\020\uffc0\023\uffc0\030\uffc0\031\uffc0" +
"\033\uffc0\034\uffc0\035\uffc0\036\uffc0\037\uffc0\040\uffc0\041" +
"\uffc0\042\uffc0\043\uffc0\044\uffc0\045\uffc0\047\uffc0\001\002" +
"\000\044\002\uffc1\020\uffc1\023\uffc1\030\uffc1\031\uffc1\033" +
"\uffc1\034\uffc1\035\uffc1\036\uffc1\037\uffc1\040\uffc1\041\uffc1" +
"\042\uffc1\043\uffc1\044\uffc1\045\uffc1\047\uffc1\001\002\000" +
"\044\002\uffc3\020\uffc3\023\uffc3\030\uffc3\031\uffc3\033\uffc3" +
"\034\uffc3\035\uffc3\036\uffc3\037\uffc3\040\uffc3\041\uffc3\042" +
"\uffc3\043\uffc3\044\uffc3\045\uffc3\047\uffc3\001\002\000\044" +
"\002\uffc2\020\uffc2\023\uffc2\030\uffc2\031\uffc2\033\uffc2\034" +
"\uffc2\035\uffc2\036\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2" +
"\043\uffc2\044\uffc2\045\uffc2\047\uffc2\001\002\000\024\034" +
"\022\046\032\053\011\054\027\062\024\064\012\065\016" +
"\066\010\067\020\001\002\000\050\002\uffad\005\uffad\007" +
"\uffad\020\uffad\023\uffad\030\uffad\031\uffad\033\uffad\034\uffad" +
"\035\uffad\036\uffad\037\uffad\040\uffad\041\uffad\042\uffad\043" +
"\uffad\044\uffad\045\uffad\047\uffad\001\002\000\006\045\uffab" +
"\047\uffab\001\002\000\022\034\022\053\011\054\027\062" +
"\024\064\012\065\016\066\010\067\020\001\002\000\022" +
"\034\022\053\011\054\027\062\024\064\012\065\016\066" +
"\010\067\020\001\002\000\022\034\022\053\011\054\027" +
"\062\024\064\012\065\016\066\010\067\020\001\002\000" +
"\022\034\022\053\011\054\027\062\024\064\012\065\016" +
"\066\010\067\020\001\002\000\044\002\uffc4\020\uffc4\023" +
"\uffc4\030\uffc4\031\uffc4\033\uffc4\034\uffc4\035\uffc4\036\uffc4" +
"\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043\uffc4\044\uffc4\045" +
"\uffc4\047\uffc4\001\002\000\044\002\uffc5\020\uffc5\023\uffc5" +
"\030\uffc5\031\uffc5\033\uffc5\034\uffc5\035\uffc5\036\uffc5\037" +
"\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5\044\uffc5\045\uffc5" +
"\047\uffc5\001\002\000\044\002\uffc6\020\uffc6\023\uffc6\030" +
"\uffc6\031\uffc6\033\uffc6\034\uffc6\035\uffc6\036\uffc6\037\uffc6" +
"\040\uffc6\041\uffc6\042\uffc6\043\uffc6\044\uffc6\045\uffc6\047" +
"\uffc6\001\002\000\044\002\uffc7\020\uffc7\023\uffc7\030\uffc7" +
"\031\uffc7\033\uffc7\034\uffc7\035\uffc7\036\uffc7\037\uffc7\040" +
"\uffc7\041\uffc7\042\uffc7\043\uffc7\044\uffc7\045\uffc7\047\uffc7" +
"\001\002\000\012\033\041\034\040\035\043\036\042\001" +
"\002\000\014\033\053\034\054\035\056\036\055\047\065" +
"\001\002\000\044\002\uffbf\020\uffbf\023\uffbf\030\uffbf\031" +
"\uffbf\033\uffbf\034\uffbf\035\uffbf\036\uffbf\037\uffbf\040\uffbf" +
"\041\uffbf\042\uffbf\043\uffbf\044\uffbf\045\uffbf\047\uffbf\001" +
"\002\000\022\034\022\053\011\054\027\062\024\064\012" +
"\065\016\066\010\067\020\001\002\000\010\005\ufff7\007" +
"\070\045\ufff7\001\002\000\004\062\071\001\002\000\006" +
"\005\ufff6\045\ufff6\001\002\000\050\002\uffb5\005\uffb5\007" +
"\uffb5\020\uffb5\023\uffb5\030\uffb5\031\uffb5\033\uffb5\034\uffb5" +
"\035\uffb5\036\uffb5\037\uffb5\040\uffb5\041\uffb5\042\uffb5\043" +
"\uffb5\044\uffb5\045\uffb5\047\uffb5\001\002\000\050\002\uffb3" +
"\005\uffb3\007\uffb3\020\uffb3\023\uffb3\030\uffb3\031\uffb3\033" +
"\uffb3\034\uffb3\035\uffb3\036\uffb3\037\uffb3\040\uffb3\041\uffb3" +
"\042\uffb3\043\uffb3\044\uffb3\045\uffb3\047\uffb3\001\002\000" +
"\004\062\075\001\002\000\006\005\ufff4\045\ufff4\001\002" +
"\000\006\005\ufff9\045\066\001\002\000\006\005\ufff8\045" +
"\066\001\002\000\050\002\uffb2\005\uffb2\007\uffb2\020\uffb2" +
"\023\uffb2\030\uffb2\031\uffb2\033\uffb2\034\uffb2\035\uffb2\036" +
"\uffb2\037\uffb2\040\uffb2\041\uffb2\042\uffb2\043\uffb2\044\uffb2" +
"\045\uffb2\047\uffb2\001\002\000\006\062\103\064\012\001" +
"\002\000\004\047\104\001\002\000\016\002\uffbc\023\uffbc" +
"\026\uffbc\027\uffbc\045\uffbc\047\uffbc\001\002\000\072\002" +
"\uffbd\005\uffbd\007\uffbd\010\uffbd\011\uffbd\012\uffbd\013\uffbd" +
"\020\uffbd\023\uffbd\026\uffbd\027\uffbd\030\uffbd\031\uffbd\032" +
"\uffbd\033\uffbd\034\uffbd\035\uffbd\036\uffbd\037\uffbd\040\uffbd" +
"\041\uffbd\042\uffbd\043\uffbd\044\uffbd\045\uffbd\047\uffbd\051" +
"\uffbd\056\uffbd\001\002\000\004\066\107\001\002\000\004" +
"\002\001\001\002\000\010\002\ufffc\023\ufffc\055\110\001" +
"\002\000\004\066\111\001\002\000\006\002\ufffb\023\ufffb" +
"\001\002\000\012\050\242\052\241\062\237\063\235\001" +
"\002\000\012\002\000\006\117\020\115\023\000\001\002" +
"\000\010\002\uffff\020\115\023\uffff\001\002\000\010\053" +
"\226\062\103\064\012\001\002\000\006\002\ufffd\023\ufffd" +
"\001\002\000\026\032\121\034\022\046\122\053\011\054" +
"\027\062\024\064\012\065\016\066\010\067\020\001\002" +
"\000\020\002\uffe9\020\uffe9\023\uffe9\030\214\031\216\037" +
"\212\040\215\001\002\000\026\032\121\034\022\046\122" +
"\053\011\054\027\062\024\064\012\065\016\066\010\067" +
"\020\001\002\000\026\032\121\034\022\046\122\053\011" +
"\054\027\062\024\064\012\065\016\066\010\067\020\001" +
"\002\000\050\010\146\011\145\012\152\013\147\030\uffb9" +
"\031\uffb9\032\150\033\uffb9\034\uffb9\035\uffb9\036\uffb9\037" +
"\uffb9\040\uffb9\041\uffb9\042\uffb9\043\uffb9\044\uffb9\051\153" +
"\056\151\001\002\000\022\030\131\031\134\037\126\040" +
"\132\041\125\042\130\043\133\044\127\001\002\000\024" +
"\034\022\046\032\053\011\054\027\062\024\064\012\065" +
"\016\066\010\067\020\001\002\000\024\034\022\046\032" +
"\053\011\054\027\062\024\064\012\065\016\066\010\067" +
"\020\001\002\000\024\034\022\046\032\053\011\054\027" +
"\062\024\064\012\065\016\066\010\067\020\001\002\000" +
"\024\034\022\046\032\053\011\054\027\062\024\064\012" +
"\065\016\066\010\067\020\001\002\000\024\034\022\046" +
"\032\053\011\054\027\062\024\064\012\065\016\066\010" +
"\067\020\001\002\000\024\034\022\046\032\053\011\054" +
"\027\062\024\064\012\065\016\066\010\067\020\001\002" +
"\000\024\034\022\046\032\053\011\054\027\062\024\064" +
"\012\065\016\066\010\067\020\001\002\000\024\034\022" +
"\046\032\053\011\054\027\062\024\064\012\065\016\066" +
"\010\067\020\001\002\000\022\002\uffdd\020\uffdd\023\uffdd" +
"\030\uffdd\031\uffdd\037\uffdd\040\uffdd\047\uffdd\001\002\000" +
"\022\002\uffd8\020\uffd8\023\uffd8\030\uffd8\031\uffd8\037\uffd8" +
"\040\uffd8\047\uffd8\001\002\000\022\002\uffdb\020\uffdb\023" +
"\uffdb\030\uffdb\031\uffdb\037\uffdb\040\uffdb\047\uffdb\001\002" +
"\000\022\002\uffde\020\uffde\023\uffde\030\uffde\031\uffde\037" +
"\uffde\040\uffde\047\uffde\001\002\000\022\002\uffd9\020\uffd9" +
"\023\uffd9\030\uffd9\031\uffd9\037\uffd9\040\uffd9\047\uffd9\001" +
"\002\000\022\002\uffd7\020\uffd7\023\uffd7\030\uffd7\031\uffd7" +
"\037\uffd7\040\uffd7\047\uffd7\001\002\000\022\002\uffdc\020" +
"\uffdc\023\uffdc\030\uffdc\031\uffdc\037\uffdc\040\uffdc\047\uffdc" +
"\001\002\000\022\002\uffda\020\uffda\023\uffda\030\uffda\031" +
"\uffda\037\uffda\040\uffda\047\uffda\001\002\000\004\065\207" +
"\001\002\000\004\046\204\001\002\000\016\034\022\053" +
"\167\054\027\065\016\066\010\067\020\001\002\000\012" +
"\010\162\011\161\012\164\013\163\001\002\000\006\032" +
"\156\057\157\001\002\000\004\065\155\001\002\000\004" +
"\065\154\001\002\000\022\002\uffca\020\uffca\023\uffca\030" +
"\uffca\031\uffca\037\uffca\040\uffca\047\uffca\001\002\000\022" +
"\002\uffcf\020\uffcf\023\uffcf\030\uffcf\031\uffcf\037\uffcf\040" +
"\uffcf\047\uffcf\001\002\000\004\057\160\001\002\000\022" +
"\002\uffcc\020\uffcc\023\uffcc\030\uffcc\031\uffcc\037\uffcc\040" +
"\uffcc\047\uffcc\001\002\000\022\002\uffcb\020\uffcb\023\uffcb" +
"\030\uffcb\031\uffcb\037\uffcb\040\uffcb\047\uffcb\001\002\000" +
"\004\065\200\001\002\000\004\046\172\001\002\000\016" +
"\034\022\053\167\054\027\065\016\066\010\067\020\001" +
"\002\000\004\065\165\001\002\000\022\002\uffcd\020\uffcd" +
"\023\uffcd\030\uffcd\031\uffcd\037\uffcd\040\uffcd\047\uffcd\001" +
"\002\000\004\030\170\001\002\000\004\065\100\001\002" +
"\000\016\034\022\053\167\054\027\065\016\066\010\067" +
"\020\001\002\000\022\002\uffd1\020\uffd1\023\uffd1\030\uffd1" +
"\031\uffd1\037\uffd1\040\uffd1\047\uffd1\001\002\000\016\034" +
"\022\053\167\054\027\065\016\066\010\067\020\001\002" +
"\000\006\045\uffb0\047\uffb0\001\002\000\006\045\175\047" +
"\176\001\002\000\016\034\022\053\167\054\027\065\016" +
"\066\010\067\020\001\002\000\022\002\uffd3\020\uffd3\023" +
"\uffd3\030\uffd3\031\uffd3\037\uffd3\040\uffd3\047\uffd3\001\002" +
"\000\006\045\uffaf\047\uffaf\001\002\000\022\002\uffce\020" +
"\uffce\023\uffce\030\uffce\031\uffce\037\uffce\040\uffce\047\uffce" +
"\001\002\000\004\030\202\001\002\000\016\034\022\053" +
"\167\054\027\065\016\066\010\067\020\001\002\000\022" +
"\002\uffd2\020\uffd2\023\uffd2\030\uffd2\031\uffd2\037\uffd2\040" +
"\uffd2\047\uffd2\001\002\000\016\034\022\053\167\054\027" +
"\065\016\066\010\067\020\001\002\000\006\045\175\047" +
"\206\001\002\000\022\002\uffd4\020\uffd4\023\uffd4\030\uffd4" +
"\031\uffd4\037\uffd4\040\uffd4\047\uffd4\001\002\000\022\002" +
"\uffd0\020\uffd0\023\uffd0\030\uffd0\031\uffd0\037\uffd0\040\uffd0" +
"\047\uffd0\001\002\000\014\030\214\031\216\037\212\040" +
"\215\047\213\001\002\000\034\030\uffc8\031\uffc8\033\053" +
"\034\054\035\056\036\055\037\uffc8\040\uffc8\041\uffc8\042" +
"\uffc8\043\uffc8\044\uffc8\047\065\001\002\000\026\032\121" +
"\034\022\046\122\053\011\054\027\062\024\064\012\065" +
"\016\066\010\067\020\001\002\000\022\002\uffd6\020\uffd6" +
"\023\uffd6\030\uffd6\031\uffd6\037\uffd6\040\uffd6\047\uffd6\001" +
"\002\000\026\032\121\034\022\046\122\053\011\054\027" +
"\062\024\064\012\065\016\066\010\067\020\001\002\000" +
"\026\032\121\034\022\046\122\053\011\054\027\062\024" +
"\064\012\065\016\066\010\067\020\001\002\000\026\032" +
"\121\034\022\046\122\053\011\054\027\062\024\064\012" +
"\065\016\066\010\067\020\001\002\000\022\002\uffe1\020" +
"\uffe1\023\uffe1\030\214\031\uffe1\037\212\040\215\047\uffe1" +
"\001\002\000\016\002\uffdf\020\uffdf\023\uffdf\030\uffdf\031" +
"\uffdf\047\uffdf\001\002\000\022\002\uffe2\020\uffe2\023\uffe2" +
"\030\uffe2\031\uffe2\037\212\040\215\047\uffe2\001\002\000" +
"\016\002\uffe0\020\uffe0\023\uffe0\030\uffe0\031\uffe0\047\uffe0" +
"\001\002\000\022\002\uffd5\020\uffd5\023\uffd5\030\uffd5\031" +
"\uffd5\037\212\040\215\047\uffd5\001\002\000\010\002\uffe7" +
"\023\uffe7\045\uffe7\001\002\000\014\002\uffe5\023\uffe5\026" +
"\233\027\232\045\uffe5\001\002\000\004\046\101\001\002" +
"\000\010\002\uffe8\023\uffe8\045\230\001\002\000\010\053" +
"\226\062\103\064\012\001\002\000\010\002\uffe6\023\uffe6" +
"\045\uffe6\001\002\000\010\002\uffe3\023\uffe3\045\uffe3\001" +
"\002\000\010\002\uffe4\023\uffe4\045\uffe4\001\002\000\006" +
"\002\ufffe\023\ufffe\001\002\000\016\002\uffee\006\uffee\007" +
"\uffee\020\uffee\023\uffee\045\uffee\001\002\000\014\002\ufff2" +
"\006\ufff2\020\ufff2\023\ufff2\045\244\001\002\000\016\002" +
"\uffef\006\uffef\007\uffef\020\uffef\023\uffef\045\uffef\001\002" +
"\000\016\002\uffeb\006\uffeb\007\251\020\uffeb\023\uffeb\045" +
"\uffeb\001\002\000\006\062\237\063\235\001\002\000\006" +
"\062\237\063\235\001\002\000\014\002\ufff0\006\ufff0\020" +
"\ufff0\023\ufff0\045\244\001\002\000\006\062\237\063\235" +
"\001\002\000\016\002\uffed\006\uffed\007\246\020\uffed\023" +
"\uffed\045\uffed\001\002\000\004\062\247\001\002\000\014" +
"\002\uffec\006\uffec\020\uffec\023\uffec\045\uffec\001\002\000" +
"\014\002\ufff1\006\ufff1\020\ufff1\023\ufff1\045\244\001\002" +
"\000\004\062\252\001\002\000\014\002\uffea\006\uffea\020" +
"\uffea\023\uffea\045\uffea\001\002" });
/** Access to parse-action table. */
public short[][] action_table() {return _action_table;}
/** <code>reduce_goto</code> table. */
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
"\000\250\000\006\003\004\015\003\001\001\000\004\016" +
"\112\001\001\000\002\001\001\000\016\004\020\006\024" +
"\007\006\010\012\013\014\023\022\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\016\004\020\006\024\007\006\010" +
"\012\013\014\023\076\001\001\000\002\001\001\000\002" +
"\001\001\000\016\004\020\006\024\007\006\010\012\013" +
"\014\023\075\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\022\004\035\005\032\006\024\007\006\010" +
"\012\011\033\013\014\014\034\001\001\000\016\004\062" +
"\006\024\007\006\010\012\011\063\013\014\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\014\004\046\006\024\007" +
"\006\010\012\013\014\001\001\000\014\004\045\006\024" +
"\007\006\010\012\013\014\001\001\000\014\004\044\006" +
"\024\007\006\010\012\013\014\001\001\000\014\004\043" +
"\006\024\007\006\010\012\013\014\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\020\004\035\005\051\006\024\007\006\010\012\011" +
"\033\013\014\001\001\000\002\001\001\000\002\001\001" +
"\000\014\004\061\006\024\007\006\010\012\013\014\001" +
"\001\000\014\004\060\006\024\007\006\010\012\013\014" +
"\001\001\000\014\004\057\006\024\007\006\010\012\013" +
"\014\001\001\000\014\004\056\006\024\007\006\010\012" +
"\013\014\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\014\004\066\006\024\007" +
"\006\010\012\013\014\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\004\007\101\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\006\024\235\030\237" +
"\001\001\000\006\017\113\020\115\001\001\000\004\020" +
"\233\001\001\000\012\007\006\010\224\026\226\027\223" +
"\001\001\000\002\001\001\000\022\004\035\005\123\006" +
"\024\007\006\010\122\011\033\012\117\013\014\001\001" +
"\000\002\001\001\000\022\004\035\005\123\006\024\007" +
"\006\010\122\011\033\012\222\013\014\001\001\000\022" +
"\004\035\005\123\006\024\007\006\010\122\011\210\012" +
"\207\013\014\001\001\000\002\001\001\000\002\001\001" +
"\000\020\004\035\005\143\006\024\007\006\010\012\011" +
"\033\013\014\001\001\000\020\004\035\005\142\006\024" +
"\007\006\010\012\011\033\013\014\001\001\000\020\004" +
"\035\005\141\006\024\007\006\010\012\011\033\013\014" +
"\001\001\000\020\004\035\005\140\006\024\007\006\010" +
"\012\011\033\013\014\001\001\000\020\004\035\005\137" +
"\006\024\007\006\010\012\011\033\013\014\001\001\000" +
"\020\004\035\005\136\006\024\007\006\010\012\011\033" +
"\013\014\001\001\000\020\004\035\005\135\006\024\007" +
"\006\010\012\011\033\013\014\001\001\000\020\004\035" +
"\005\134\006\024\007\006\010\012\011\033\013\014\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\004\006\200\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\006\165\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\004\006\170" +
"\001\001\000\002\001\001\000\006\006\172\025\173\001" +
"\001\000\002\001\001\000\002\001\001\000\004\006\176" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\006\202\001\001\000\002" +
"\001\001\000\006\006\172\025\204\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\022\004\035\005\123\006\024\007" +
"\006\010\122\011\033\012\221\013\014\001\001\000\002" +
"\001\001\000\022\004\035\005\123\006\024\007\006\010" +
"\122\011\033\012\220\013\014\001\001\000\022\004\035" +
"\005\123\006\024\007\006\010\122\011\033\012\217\013" +
"\014\001\001\000\022\004\035\005\123\006\024\007\006" +
"\010\122\011\033\012\216\013\014\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\010\007\006\010\224" +
"\027\230\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\006\024" +
"\247\030\237\001\001\000\006\024\242\030\237\001\001" +
"\000\002\001\001\000\004\030\244\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001" });
/** Access to <code>reduce_goto</code> table. */
public short[][] reduce_table() {return _reduce_table;}
/** Instance of action encapsulation class. */
protected CUP$parser$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$parser$actions(this);
}
/** Invoke a user supplied parse action. */
public java_cup.runtime.Symbol do_action(
int act_num,
java_cup.runtime.lr_parser parser,
java.util.Stack stack,
int top)
throws java.lang.Exception
{
/* call code in generated class */
return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
}
/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates start production. */
public int start_production() {return 0;}
/** <code>EOF</code> Symbol index. */
public int EOF_sym() {return 0;}
/** <code>error</code> Symbol index. */
public int error_sym() {return 1;}
public void report_error(String message, Object info) {
// do nothing
}
public void report_fatal_error(String message, Object info) throws QueryParseException {
if (info instanceof Symbol) parseFailed(message, (Symbol)info);
else parseFailed(message, null);
}
public void syntax_error(Symbol cur_token) {
// do nothing
}
public void unrecovered_syntax_error(Symbol cur_token) throws QueryParseException {
parseFailed("Syntax error", cur_token);
}
public void parseFailed(String message, Symbol token) throws QueryParseException {
done_parsing();
if (token != null) {
StringBuffer buf = new StringBuffer(message);
message = buf.append(": Invalid token <").append(token.value).append("> at offset ").append(token.right).toString();
}
throw new QueryParseException(message);
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$parser$actions {
private final parser parser;
/** Constructor */
CUP$parser$actions(parser parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$parser$do_action(
int CUP$parser$act_num,
java_cup.runtime.lr_parser CUP$parser$parser,
java.util.Stack CUP$parser$stack,
int CUP$parser$top)
throws java.lang.Exception
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$parser$result;
/* select the action based on the action number */
switch (CUP$parser$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // function_args ::= function_args COMMA predicate_operand
{
OperandList RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
OperandList l = (OperandList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand v = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
l.add(v); RESULT = l;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // function_args ::= predicate_operand
{
OperandList RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand v = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new OperandList(); RESULT.add(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // function ::= IDENTIFIER LPARA function_args RPARA
{
Function RESULT = null;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int argsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int argsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
OperandList args = (OperandList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new Function(name, args);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 83: // function ::= IDENTIFIER LPARA RPARA
{
Function RESULT = null;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
RESULT = new Function(name);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // literal_list ::= literal_list COMMA literal
{
LiteralList RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
LiteralList l = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
l.add(v); RESULT = l;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // literal_list ::= literal
{
LiteralList RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new LiteralList(); RESULT.add(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // literal ::= TIMESTAMP STRING
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new DateLiteral(v, false);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // literal ::= DATE STRING
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new DateLiteral(v, true);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 78: // literal ::= SUB DOUBLE
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new DoubleLiteral('-'+v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // literal ::= DOUBLE
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new DoubleLiteral(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // literal ::= SUB INTEGER
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new IntegerLiteral('-'+v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // literal ::= INTEGER
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new IntegerLiteral(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 74: // literal ::= STRING
{
Literal RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new StringLiteral(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 73: // operand ::= function
{
Operand RESULT = null;
int fleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int fright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Function f = (Function)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = f;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 72: // operand ::= reference
{
Operand RESULT = null;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Reference r = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = r;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // operand ::= literal
{
Operand RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Literal v = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = v;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // simple_reference ::= PATH_IDENTIFIER
{
Reference RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Reference(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // simple_reference ::= IDENTIFIER
{
Reference RESULT = null;
int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Reference(v);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // reference ::= DATE LPARA simple_reference RPARA
{
Reference RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new Reference(ref, "DATE");
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // reference ::= simple_reference
{
Reference RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = ref;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 66: // expression ::= LPARA expression RPARA
{
Expression RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
Expression e = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = e;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // expression ::= operand DIV operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.DIV, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // expression ::= operand MUL operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.MUL, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // expression ::= operand SUB operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.SUB, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // expression ::= operand SUM operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.SUM, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // expression ::= expression DIV operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.DIV, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // expression ::= expression MUL operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.MUL, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // expression ::= expression SUB operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.SUB, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // expression ::= expression SUM operand
{
Expression RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Expression l = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Expression(l, Operator.SUM, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // predicate_operand ::= expression
{
Operand RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Expression e = (Expression)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = e;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 56: // predicate_operand ::= operand
{
Operand RESULT = null;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = o;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // predicate ::= reference STARTSWITH STRING
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(ref, Operator.STARTSWITH, new StringLiteral(s));
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 54: // predicate ::= reference IS NOT NULL
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
RESULT = new Predicate(ref, Operator.ISNOTNULL, null);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 53: // predicate ::= reference IS NULL
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
RESULT = new Predicate(ref, Operator.ISNULL, null);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // predicate ::= reference NOT ILIKE STRING
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(ref, Operator.NOTILIKE, new StringLiteral(s));
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // predicate ::= reference NOT LIKE STRING
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(ref, Operator.NOTLIKE, new StringLiteral(s));
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // predicate ::= reference ILIKE STRING
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(ref, Operator.ILIKE, new StringLiteral(s));
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 49: // predicate ::= reference LIKE STRING
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(ref, Operator.LIKE, new StringLiteral(s));
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // predicate ::= reference NOT BETWEEN literal AND literal
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
int minleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int minright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Literal min = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int maxleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int maxright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Literal max = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
LiteralList range = new LiteralList();
range.add(min); range.add(max);
RESULT = new Predicate(ref, Operator.NOTBETWEEN, range);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // predicate ::= reference BETWEEN literal AND literal
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int minleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int minright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Literal min = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int maxleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int maxright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Literal max = (Literal)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
LiteralList range = new LiteralList();
range.add(min); range.add(max);
RESULT = new Predicate(ref, Operator.BETWEEN, range);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // predicate ::= reference NOT IN LPARA literal_list RPARA
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
LiteralList list = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new Predicate(ref, Operator.NOTIN, list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // predicate ::= reference IN LPARA literal_list RPARA
{
Predicate RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
LiteralList list = (LiteralList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new Predicate(ref, Operator.IN, list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // predicate ::= NOT predicate
{
Predicate RESULT = null;
int pleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int pright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(p, Operator.NOT, null);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // predicate ::= LPARA predicate RPARA
{
Predicate RESULT = null;
int pleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int pright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // predicate ::= predicate_operand GTEQ predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.GTEQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // predicate ::= predicate_operand LTEQ predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.LTEQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // predicate ::= predicate_operand GT predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.GT, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // predicate ::= predicate_operand LT predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.LT, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // predicate ::= predicate_operand NOTEQ predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.NOTEQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // predicate ::= predicate_operand EQ predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.EQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // predicate ::= predicate_operand OR predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.OR, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // predicate ::= predicate_operand AND predicate_operand
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand l = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand r = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.AND, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // predicate ::= predicate NOTEQ predicate
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.NOTEQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // predicate ::= predicate EQ predicate
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.EQ, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // predicate ::= predicate OR predicate
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.OR, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // predicate ::= predicate AND predicate
{
Predicate RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Predicate l = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int rright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate r = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new Predicate(l, Operator.AND, r);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // order_by_expr ::= reference DESC
{
OrderByExpr RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new OrderByExpr(ref, true);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // order_by_expr ::= reference ASC
{
OrderByExpr RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new OrderByExpr(ref, false);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // order_by_expr ::= reference
{
OrderByExpr RESULT = null;
int refleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int refright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Reference ref = (Reference)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new OrderByExpr(ref, false);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // order_by_list ::= order_by_list COMMA order_by_expr
{
OrderByList RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
OrderByList l = (OrderByList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
OrderByExpr e = (OrderByExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
l.add(e); RESULT = l;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // order_by_list ::= order_by_expr
{
OrderByList RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
OrderByExpr e = (OrderByExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new OrderByList(e);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // order_by_clause ::= ORDERBY order_by_list
{
OrderByClause RESULT = null;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
OrderByList l = (OrderByList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new OrderByClause(l);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // where_clause ::= WHERE predicate
{
WhereClause RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int eright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Predicate e = (Predicate)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new WhereClause(e);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // from_list ::= from_key AS IDENTIFIER
{
FromList RESULT = null;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new FromList();
RESULT.add(alias, name);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // from_list ::= from_key
{
FromList RESULT = null;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new FromList();
RESULT.add(name, name);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // from_list ::= from_list COMMA from_key AS IDENTIFIER
{
FromList RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
list.add(alias, name);
RESULT = list;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // from_list ::= from_list COMMA from_key
{
FromList RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
list.add(name, name);
RESULT = list;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // from_key ::= FROM_IDENTIFIER
{
String RESULT = null;
int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = id;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // from_key ::= IDENTIFIER
{
String RESULT = null;
int idleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int idright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = id;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // from_clause ::= FROM LOCATION from_list
{
FromClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new FromClause(FromClause.LOCATION, list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // from_clause ::= FROM TYPE from_list
{
FromClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new FromClause(FromClause.DOCTYPE, list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // from_clause ::= FROM from_list
{
FromClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
FromList list = (FromList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new FromClause(list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // select_list ::= MUL
{
SelectList RESULT = null;
RESULT = new SelectList();
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // select_list ::= operand AS IDENTIFIER
{
SelectList RESULT = null;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SelectList();
RESULT.add(alias, o);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // select_list ::= operand
{
SelectList RESULT = null;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SelectList();
RESULT.add(o.toString(), o);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // select_list ::= select_list COMMA operand AS IDENTIFIER
{
SelectList RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int aliasleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int aliasright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String alias = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
list.add(alias, o);
RESULT = list;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // select_list ::= select_list COMMA operand
{
SelectList RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
Operand o = (Operand)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
list.add(o.toString(), o);
RESULT = list;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // select_clause ::= SELECT ALL select_list
{
SelectClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SelectClause(list, false);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // select_clause ::= SELECT DISTINCT select_list
{
SelectClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SelectClause(list, true);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // select_clause ::= SELECT select_list
{
SelectClause RESULT = null;
int listleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int listright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
SelectList list = (SelectList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SelectClause(list);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // query ::= query LIMIT INTEGER OFFSET INTEGER
{
SQLQuery RESULT = null;
int qleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
int qright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
SQLQuery q = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
String l = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int oleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int oright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String o = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
q.limit = Long.parseLong(l); q.offset = Long.parseLong(o); RESULT = q;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // query ::= query LIMIT INTEGER
{
SQLQuery RESULT = null;
int qleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int qright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
SQLQuery q = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int lleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int lright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
String l = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
q.limit = Long.parseLong(l); RESULT = q;
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // query ::= select_clause from_clause order_by_clause
{
SQLQuery RESULT = null;
int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int orderleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int orderright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
OrderByClause order = (OrderByClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SQLQuery(select, from, null, order);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // query ::= select_clause from_clause where_clause order_by_clause
{
SQLQuery RESULT = null;
int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int whereleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int whereright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
WhereClause where = (WhereClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int orderleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int orderright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
OrderByClause order = (OrderByClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SQLQuery(select, from, where, order);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // query ::= select_clause from_clause where_clause
{
SQLQuery RESULT = null;
int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int whereleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int whereright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
WhereClause where = (WhereClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SQLQuery(select, from, where);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // query ::= select_clause from_clause
{
SQLQuery RESULT = null;
int selectleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int selectright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
SelectClause select = (SelectClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
int fromleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
int fromright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
FromClause from = (FromClause)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
RESULT = new SQLQuery(select, from);
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);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 0: // $START ::= query EOF
{
Object RESULT = null;
int start_valleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
int start_valright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
SQLQuery start_val = (SQLQuery)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = start_val;
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);
}
/* ACCEPT */
CUP$parser$parser.done_parsing();
return CUP$parser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}