//----------------------------------------------------
// The following code was generated by CUP v0.10g
// Mon Feb 11 20:57:16 PST 2002
//----------------------------------------------------
package mondrian.olap;
import java_cup.runtime.*;
public class Parser extends java_cup.runtime.lr_parser {
/** constructor */
public Parser() {super();}
/** production table */
protected static final short _production_table[][] = {
{0, 2}, {22, 1}, {24, 1}, {23, 1}, {23, 1},
{21, 1}, {21, 1}, {25, 1}, {25, 1}, {14, 1},
{14, 3}, {15, 1}, {10, 1}, {10, 3}, {10, 3},
{10, 3}, {10, 3}, {10, 3}, {9, 1}, {9, 3},
{9, 3}, {9, 3}, {7, 1}, {7, 2}, {7, 2},
{7, 2}, {11, 1}, {11, 1}, {11, 1}, {11, 3},
{11, 3}, {11, 3}, {11, 6}, {11, 4}, {11, 3},
{11, 3}, {20, 1}, {20, 1}, {20, 1}, {20, 1},
{20, 1}, {20, 1}, {6, 3}, {6, 3}, {6, 1},
{5, 0}, {5, 1}, {4, 1}, {4, 3}, {13, 7},
{32, 2}, {32, 0}, {3, 0}, {3, 1}, {2, 1},
{2, 3}, {12, 0}, {12, 2}, {27, 1}, {27, 0},
{28, 1}, {28, 2}, {31, 1}, {31, 1}, {29, 7},
{29, 5}, {33, 0}, {33, 2}, {34, 1}, {34, 3},
{17, 1}, {35, 3}, {30, 6}, {30, 4}, {18, 1},
{1, 5}, {48, 0}, {48, 2}, {40, 0}, {40, 1},
{19, 1}, {39, 3}, {41, 0}, {41, 1}, {45, 1},
{45, 3}, {16, 1}, {8, 1}, {26, 3}, {36, 0},
{36, 1}, {38, 1}, {38, 3}, {37, 1}, {37, 1},
{37, 1}, {42, 1}, {42, 1}, {42, 1}, {46, 1}
};
/** access to production table */
public short[][] production_table() {return _production_table;}
/** parse action table */
protected static final short[][] _action_table = {
/*0*/{17,-52,22,3,-1,0},
/*1*/{0,153,-1,0},
/*2*/{10,126,18,125,-1,0},
/*3*/{17,5,-1,0},
/*4*/{6,-77,9,-53,11,9,12,-77,15,-77,31,-77,33,-77,35,-77,37,-77,41,-77,42,-77,43,-77,45,-77,-1,0},
/*5*/{9,95,-1,0},
/*6*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*7*/{9,-55,25,12,-1,0},
/*8*/{7,11,-1,0},
/*9*/{9,-54,-1,0},
/*10*/{6,-78,12,-78,15,-78,31,-78,33,-78,35,-78,37,-78,41,-78,42,-78,43,-78,45,-78,-1,0},
/*11*/{6,-77,11,9,12,-77,15,-77,31,-77,33,-77,35,-77,37,-77,41,-77,42,-77,43,-77,45,-77,-1,0},
/*12*/{9,-56,-1,0},
/*13*/{6,25,15,20,31,18,33,17,41,23,42,19,43,28,45,21,-1,0},
/*14*/{0,-29,2,-29,4,-29,6,-29,10,-29,13,-29,14,-29,15,-29,16,-29,17,-29,18,-29,21,-29,23,-29,24,-29,25,-29,26,-29,27,-29,28,-29,29,-29,30,-29,32,-29,33,91,34,-29,35,-29,36,-29,37,-29,38,-29,39,-29,40,-29,-1,0},
/*15*/{6,25,15,20,31,18,33,17,41,23,42,19,43,28,45,21,-1,0},
/*16*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*17*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,38,-46,41,23,42,19,43,28,45,21,-1,0},
/*18*/{0,-4,2,-4,3,-4,4,-4,6,-4,9,-4,10,-4,13,-4,14,-4,15,-4,16,-4,17,-4,18,-4,20,-4,21,-4,23,-4,24,-4,25,-4,26,-4,27,-4,28,-4,29,-4,30,-4,32,-4,33,-4,34,-4,35,-4,36,-4,37,-4,38,-4,39,-4,40,-4,-1,0},
/*19*/{0,-9,2,-9,3,-9,4,-9,6,-9,9,-9,10,-9,13,-9,14,-9,15,-9,16,-9,17,-9,18,-9,20,-9,21,-9,23,-9,24,-9,25,-9,26,-9,27,-9,28,-9,29,-9,30,-9,32,-9,33,-9,34,-9,35,-9,36,-9,37,-9,38,-9,39,-9,40,-9,-1,0},
/*20*/{0,-27,2,-27,4,-27,6,-27,10,-27,13,-27,14,-27,15,-27,16,-27,17,-27,18,-27,21,-27,23,-27,24,-27,25,-27,26,-27,27,-27,28,-27,29,-27,30,-27,32,-27,34,-27,35,-27,36,-27,37,-27,38,-27,39,-27,40,-27,-1,0},
/*21*/{6,76,13,-79,15,-83,24,44,28,47,29,46,30,49,32,48,34,52,36,51,-1,0},
/*22*/{0,-28,2,-28,4,-28,6,-28,10,-28,13,-28,14,-28,15,-28,16,-28,17,-28,18,-28,21,-28,23,-28,24,-28,25,-28,26,-28,27,-28,28,-28,29,-28,30,-28,32,-28,34,-28,35,-28,36,-28,37,-28,38,-28,39,-28,40,-28,-1,0},
/*23*/{0,-45,4,-45,6,-45,10,-45,13,-45,14,58,15,-45,16,-45,17,-45,18,-45,21,59,24,-45,25,-45,26,56,28,-45,29,-45,30,-45,32,-45,34,-45,35,57,36,-45,37,55,38,-45,39,-45,-1,0},
/*24*/{0,-8,2,-8,3,-8,4,-8,6,-8,9,-8,10,-8,13,-8,14,-8,15,-8,16,-8,17,-8,18,-8,20,-8,21,-8,23,-8,24,-8,25,-8,26,-8,27,-8,28,-8,29,-8,30,-8,32,-8,33,-8,34,-8,35,-8,36,-8,37,-8,38,-8,39,-8,40,-8,-1,0},
/*25*/{0,-19,2,-19,4,-19,6,-19,10,-19,13,-19,14,-19,15,-19,16,-19,17,-19,18,-19,21,-19,23,-19,24,-19,25,-19,26,-19,28,-19,29,-19,30,-19,32,-19,34,-19,35,-19,36,-19,37,-19,38,-19,39,-19,40,-19,-1,0},
/*26*/{0,-13,2,61,4,-13,6,-13,10,-13,13,-13,14,-13,15,-13,16,-13,17,-13,18,-13,21,-13,23,62,24,-13,25,-13,26,-13,28,-13,29,-13,30,-13,32,-13,34,-13,35,-13,36,-13,37,-13,38,-13,39,-13,40,63,-1,0},
/*27*/{0,-2,2,-2,3,-2,4,-2,6,-2,9,-2,10,-2,13,-2,14,-2,15,-2,16,-2,17,-2,18,-2,20,-2,21,-2,23,-2,24,-2,25,-2,26,-2,27,-2,28,-2,29,-2,30,-2,32,-2,33,-2,34,-2,35,-2,36,-2,37,-2,38,-2,39,-2,40,-2,-1,0},
/*28*/{6,25,15,20,31,18,33,17,41,23,42,19,43,28,45,21,-1,0},
/*29*/{0,-23,2,-23,4,-23,6,-23,10,-23,13,-23,14,-23,15,-23,16,-23,17,-23,18,-23,21,-23,23,-23,24,-23,25,-23,26,-23,27,34,28,-23,29,-23,30,-23,32,-23,34,-23,35,-23,36,-23,37,-23,38,-23,39,-23,40,-23,-1,0},
/*30*/{0,-5,2,-5,3,-5,4,-5,6,-5,9,-5,10,-5,13,-5,14,-5,15,-5,16,-5,17,-5,18,-5,20,-5,21,-5,23,-5,24,-5,25,-5,26,-5,27,-5,28,-5,29,-5,30,-5,32,-5,33,-5,34,-5,35,-5,36,-5,37,-5,38,-5,39,-5,40,-5,-1,0},
/*31*/{0,-6,2,-6,3,-6,4,-6,6,-6,9,-6,10,-6,13,-6,14,-6,15,-6,16,-6,17,-6,18,-6,20,-6,21,-6,23,-6,24,-6,25,-6,26,-6,27,-6,28,-6,29,-6,30,-6,32,-6,33,-6,34,-6,35,-6,36,-6,37,-6,38,-6,39,-6,40,-6,-1,0},
/*32*/{0,-7,2,-7,3,-7,4,-7,6,-7,9,-7,10,-7,13,-7,14,-7,15,-7,16,-7,17,-7,18,-7,20,-7,21,-7,23,-7,24,-7,25,-7,26,-7,27,-7,28,-7,29,-7,30,-7,32,-7,33,-7,34,-7,35,-7,36,-7,37,-7,38,-7,39,-7,40,-7,-1,0},
/*33*/{6,25,15,20,42,19,43,28,44,39,-1,0},
/*34*/{0,-32,2,-32,4,-32,6,-32,10,-32,13,-32,14,-32,15,-32,16,-32,17,-32,18,-32,21,-32,23,-32,24,-32,25,-32,26,-32,27,-32,28,-32,29,-32,30,-32,32,-32,34,-32,35,-32,36,-32,37,-32,38,-32,39,-32,40,-32,-1,0},
/*35*/{33,40,-1,0},
/*36*/{0,-30,2,-30,4,-30,6,-30,10,-30,13,-30,14,-30,15,-30,16,-30,17,-30,18,-30,21,-30,23,-30,24,-30,25,-30,26,-30,27,-30,28,-30,29,-30,30,-30,32,-30,33,-6,34,-30,35,-30,36,-30,37,-30,38,-30,39,-30,40,-30,-1,0},
/*37*/{0,-31,2,-31,4,-31,6,-31,10,-31,13,-31,14,-31,15,-31,16,-31,17,-31,18,-31,21,-31,23,-31,24,-31,25,-31,26,-31,27,-31,28,-31,29,-31,30,-31,32,-31,33,-7,34,-31,35,-31,36,-31,37,-31,38,-31,39,-31,40,-31,-1,0},
/*38*/{0,-3,2,-3,4,-3,6,-3,10,-3,13,-3,14,-3,15,-3,16,-3,17,-3,18,-3,21,-3,23,-3,24,-3,25,-3,26,-3,27,-3,28,-3,29,-3,30,-3,32,-3,34,-3,35,-3,36,-3,37,-3,38,-3,39,-3,40,-3,-1,0},
/*39*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,39,-46,41,23,42,19,43,28,45,21,-1,0},
/*40*/{39,72,-1,0},
/*41*/{38,-47,39,-47,-1,0},
/*42*/{24,44,25,50,28,47,29,46,30,49,32,48,34,52,36,51,38,-48,39,-48,-1,0},
/*43*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*44*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*45*/{6,-42,12,-42,15,-42,31,-42,33,-42,35,-42,37,-42,41,-42,42,-42,43,-42,45,-42,-1,0},
/*46*/{6,-37,12,-37,15,-37,31,-37,33,-37,35,-37,37,-37,41,-37,42,-37,43,-37,45,-37,-1,0},
/*47*/{6,-41,12,-41,15,-41,31,-41,33,-41,35,-41,37,-41,41,-41,42,-41,43,-41,45,-41,-1,0},
/*48*/{6,-40,12,-40,15,-40,31,-40,33,-40,35,-40,37,-40,41,-40,42,-40,43,-40,45,-40,-1,0},
/*49*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*50*/{6,-38,12,-38,15,-38,31,-38,33,-38,35,-38,37,-38,41,-38,42,-38,43,-38,45,-38,-1,0},
/*51*/{6,-39,12,-39,15,-39,31,-39,33,-39,35,-39,37,-39,41,-39,42,-39,43,-39,45,-39,-1,0},
/*52*/{38,-49,39,-49,-1,0},
/*53*/{0,-44,4,-44,6,-44,10,-44,13,-44,14,58,15,-44,16,-44,17,-44,18,-44,21,59,24,-44,25,-44,26,56,28,-44,29,-44,30,-44,32,-44,34,-44,35,57,36,-44,37,55,38,-44,39,-44,-1,0},
/*54*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*55*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*56*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*57*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*58*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*59*/{0,-17,2,61,4,-17,6,-17,10,-17,13,-17,14,-17,15,-17,16,-17,17,-17,18,-17,21,-17,23,62,24,-17,25,-17,26,-17,28,-17,29,-17,30,-17,32,-17,34,-17,35,-17,36,-17,37,-17,38,-17,39,-17,40,63,-1,0},
/*60*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*61*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*62*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*63*/{0,-21,2,-21,4,-21,6,-21,10,-21,13,-21,14,-21,15,-21,16,-21,17,-21,18,-21,21,-21,23,-21,24,-21,25,-21,26,-21,28,-21,29,-21,30,-21,32,-21,34,-21,35,-21,36,-21,37,-21,38,-21,39,-21,40,-21,-1,0},
/*64*/{0,-20,2,-20,4,-20,6,-20,10,-20,13,-20,14,-20,15,-20,16,-20,17,-20,18,-20,21,-20,23,-20,24,-20,25,-20,26,-20,28,-20,29,-20,30,-20,32,-20,34,-20,35,-20,36,-20,37,-20,38,-20,39,-20,40,-20,-1,0},
/*65*/{0,-22,2,-22,4,-22,6,-22,10,-22,13,-22,14,-22,15,-22,16,-22,17,-22,18,-22,21,-22,23,-22,24,-22,25,-22,26,-22,28,-22,29,-22,30,-22,32,-22,34,-22,35,-22,36,-22,37,-22,38,-22,39,-22,40,-22,-1,0},
/*66*/{0,-16,2,61,4,-16,6,-16,10,-16,13,-16,14,-16,15,-16,16,-16,17,-16,18,-16,21,-16,23,62,24,-16,25,-16,26,-16,28,-16,29,-16,30,-16,32,-16,34,-16,35,-16,36,-16,37,-16,38,-16,39,-16,40,63,-1,0},
/*67*/{0,-15,2,61,4,-15,6,-15,10,-15,13,-15,14,-15,15,-15,16,-15,17,-15,18,-15,21,-15,23,62,24,-15,25,-15,26,-15,28,-15,29,-15,30,-15,32,-15,34,-15,35,-15,36,-15,37,-15,38,-15,39,-15,40,63,-1,0},
/*68*/{0,-18,2,61,4,-18,6,-18,10,-18,13,-18,14,-18,15,-18,16,-18,17,-18,18,-18,21,-18,23,62,24,-18,25,-18,26,-18,28,-18,29,-18,30,-18,32,-18,34,-18,35,-18,36,-18,37,-18,38,-18,39,-18,40,63,-1,0},
/*69*/{0,-14,2,61,4,-14,6,-14,10,-14,13,-14,14,-14,15,-14,16,-14,17,-14,18,-14,21,-14,23,62,24,-14,25,-14,26,-14,28,-14,29,-14,30,-14,32,-14,34,-14,35,-14,36,-14,37,-14,38,-14,39,-14,40,63,-1,0},
/*70*/{0,-43,4,-43,6,-43,10,-43,13,-43,14,58,15,-43,16,-43,17,-43,18,-43,21,59,24,-43,25,-43,26,56,28,-43,29,-43,30,-43,32,-43,34,-43,35,57,36,-43,37,55,38,-43,39,-43,-1,0},
/*71*/{0,-33,2,-33,4,-33,6,-33,10,-33,13,-33,14,-33,15,-33,16,-33,17,-33,18,-33,21,-33,23,-33,24,-33,25,-33,26,-33,27,-33,28,-33,29,-33,30,-33,32,-33,34,-33,35,-33,36,-33,37,-33,38,-33,39,-33,40,-33,-1,0},
/*72*/{0,-25,2,-25,4,-25,6,-25,10,-25,13,-25,14,-25,15,-25,16,-25,17,-25,18,-25,21,-25,23,-25,24,-25,25,-25,26,-25,27,34,28,-25,29,-25,30,-25,32,-25,34,-25,35,-25,36,-25,37,-25,38,-25,39,-25,40,-25,-1,0},
/*73*/{13,-80,-1,0},
/*74*/{13,83,-1,0},
/*75*/{15,-84,-1,0},
/*76*/{15,78,-1,0},
/*77*/{-1,0},
/*78*/{13,-82,-1,0},
/*79*/{13,-85,25,81,-1,0},
/*80*/{-1,0},
/*81*/{13,-86,-1,0},
/*82*/{6,25,15,20,42,19,43,28,-1,0},
/*83*/{9,-76,25,-76,-1,0},
/*84*/{9,-81,25,-81,-1,0},
/*85*/{38,87,-1,0},
/*86*/{0,-36,2,-36,4,-36,6,-36,10,-36,13,-36,14,-36,15,-36,16,-36,17,-36,18,-36,21,-36,23,-36,24,-36,25,-36,26,-36,27,-36,28,-36,29,-36,30,-36,32,-36,34,-36,35,-36,36,-36,37,-36,38,-36,39,-36,40,-36,-1,0},
/*87*/{39,89,-1,0},
/*88*/{0,-35,2,-35,4,-35,6,-35,10,-35,13,-35,14,-35,15,-35,16,-35,17,-35,18,-35,21,-35,23,-35,24,-35,25,-35,26,-35,27,-35,28,-35,29,-35,30,-35,32,-35,34,-35,35,-35,36,-35,37,-35,38,-35,39,-35,40,-35,-1,0},
/*89*/{0,-26,2,-26,4,-26,6,-26,10,-26,13,-26,14,-26,15,-26,16,-26,17,-26,18,-26,21,-26,23,-26,24,-26,25,-26,26,-26,27,34,28,-26,29,-26,30,-26,32,-26,34,-26,35,-26,36,-26,37,-26,38,-26,39,-26,40,-26,-1,0},
/*90*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,39,-46,41,23,42,19,43,28,45,21,-1,0},
/*91*/{39,93,-1,0},
/*92*/{0,-34,2,-34,4,-34,6,-34,10,-34,13,-34,14,-34,15,-34,16,-34,17,-34,18,-34,21,-34,23,-34,24,-34,25,-34,26,-34,27,-34,28,-34,29,-34,30,-34,32,-34,34,-34,35,-34,36,-34,37,-34,38,-34,39,-34,40,-34,-1,0},
/*93*/{0,-24,2,-24,4,-24,6,-24,10,-24,13,-24,14,-24,15,-24,16,-24,17,-24,18,-24,21,-24,23,-24,24,-24,25,-24,26,-24,27,34,28,-24,29,-24,30,-24,32,-24,34,-24,35,-24,36,-24,37,-24,38,-24,39,-24,40,-24,-1,0},
/*94*/{6,25,15,20,42,19,43,28,-1,0},
/*95*/{0,-10,3,-10,4,-10,15,-10,20,-10,27,-10,-1,0},
/*96*/{0,-87,4,-87,15,-87,20,-87,-1,0},
/*97*/{0,-12,4,-12,15,-12,20,-12,27,120,-1,0},
/*98*/{0,-57,4,-57,15,-57,20,100,-1,0},
/*99*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*100*/{0,-60,4,105,15,-90,-1,0},
/*101*/{0,-59,-1,0},
/*102*/{15,106,-1,0},
/*103*/{0,-50,-1,0},
/*104*/{15,-91,-1,0},
/*105*/{5,110,6,25,8,109,15,20,19,111,42,19,43,28,-1,0},
/*106*/{0,-94,25,-94,-1,0},
/*107*/{0,-92,25,116,-1,0},
/*108*/{0,-99,25,-99,-1,0},
/*109*/{0,-97,25,-97,-1,0},
/*110*/{0,-98,25,-98,-1,0},
/*111*/{0,-100,25,-100,-1,0},
/*112*/{0,-89,-1,0},
/*113*/{0,-95,25,-95,-1,0},
/*114*/{0,-96,25,-96,-1,0},
/*115*/{5,110,6,25,8,109,15,20,19,111,42,19,43,28,-1,0},
/*116*/{0,-93,-1,0},
/*117*/{0,-58,4,-58,15,-58,-1,0},
/*118*/{0,-88,4,-88,15,-88,24,44,28,47,29,46,30,49,32,48,34,52,36,51,-1,0},
/*119*/{6,25,15,20,42,19,43,28,-1,0},
/*120*/{0,-11,3,-11,4,-11,15,-11,20,-11,27,-11,-1,0},
/*121*/{17,-51,-1,0},
/*122*/{10,-63,17,-63,18,-63,-1,0},
/*123*/{10,126,17,-61,18,125,-1,0},
/*124*/{6,25,15,20,42,19,43,28,-1,0},
/*125*/{6,25,15,20,42,19,43,28,-1,0},
/*126*/{10,-64,17,-64,18,-64,-1,0},
/*127*/{3,130,-1,0},
/*128*/{3,-71,27,120,-1,0},
/*129*/{6,25,12,16,15,20,16,131,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*130*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*131*/{10,-67,14,58,17,-67,18,-67,21,59,25,134,26,56,35,57,37,55,-1,0},
/*132*/{10,-66,17,-66,18,-66,-1,0},
/*133*/{6,25,15,20,42,19,43,28,-1,0},
/*134*/{10,-68,17,-68,18,-68,-1,0},
/*135*/{10,-69,17,-69,18,-69,25,140,-1,0},
/*136*/{28,138,-1,0},
/*137*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*138*/{10,-72,14,58,17,-72,18,-72,21,59,25,-72,26,56,35,57,37,55,-1,0},
/*139*/{6,25,15,20,42,19,43,28,-1,0},
/*140*/{10,-70,17,-70,18,-70,-1,0},
/*141*/{14,58,16,143,21,59,26,56,35,57,37,55,-1,0},
/*142*/{10,-67,17,-67,18,-67,25,134,-1,0},
/*143*/{10,-65,17,-65,18,-65,-1,0},
/*144*/{3,147,-1,0},
/*145*/{3,-75,27,120,-1,0},
/*146*/{6,25,12,16,15,20,16,148,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*147*/{6,25,12,16,15,20,31,18,33,17,35,29,37,14,41,23,42,19,43,28,45,21,-1,0},
/*148*/{10,-74,17,-74,18,-74,24,44,28,47,29,46,30,49,32,48,34,52,36,51,-1,0},
/*149*/{16,151,24,44,28,47,29,46,30,49,32,48,34,52,36,51,-1,0},
/*150*/{10,-73,17,-73,18,-73,-1,0},
/*151*/{17,-62,-1,0},
/*152*/{0,-1,-1,0},
};
/** access to parse action table */
public short[][] action_table() {return _action_table;}
/** reduce_goto table */
protected static final short[][] _reduce_table = {
/*0*/{13,1,32,3,-1,-1},
/*1*/{-1,-1},
/*2*/{28,121,29,122,30,126,31,123,-1,-1},
/*3*/{-1,-1},
/*4*/{1,7,2,9,3,5,48,6,-1,-1},
/*5*/{-1,-1},
/*6*/{6,21,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*7*/{-1,-1},
/*8*/{-1,-1},
/*9*/{-1,-1},
/*10*/{-1,-1},
/*11*/{1,7,2,12,48,6,-1,-1},
/*12*/{-1,-1},
/*13*/{11,93,21,14,22,32,23,31,25,30,-1,-1},
/*14*/{-1,-1},
/*15*/{11,89,21,14,22,32,23,31,25,30,-1,-1},
/*16*/{4,87,6,42,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*17*/{4,41,5,85,6,42,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*18*/{-1,-1},
/*19*/{-1,-1},
/*20*/{-1,-1},
/*21*/{20,44,39,73,40,74,41,76,-1,-1},
/*22*/{-1,-1},
/*23*/{-1,-1},
/*24*/{-1,-1},
/*25*/{-1,-1},
/*26*/{-1,-1},
/*27*/{-1,-1},
/*28*/{11,72,21,14,22,32,23,31,25,30,-1,-1},
/*29*/{-1,-1},
/*30*/{-1,-1},
/*31*/{-1,-1},
/*32*/{-1,-1},
/*33*/{21,35,22,37,23,36,24,34,25,30,-1,-1},
/*34*/{-1,-1},
/*35*/{-1,-1},
/*36*/{-1,-1},
/*37*/{-1,-1},
/*38*/{-1,-1},
/*39*/{4,41,5,40,6,42,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*40*/{-1,-1},
/*41*/{-1,-1},
/*42*/{20,44,-1,-1},
/*43*/{7,25,9,26,10,70,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*44*/{7,25,9,26,10,53,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*45*/{-1,-1},
/*46*/{-1,-1},
/*47*/{-1,-1},
/*48*/{-1,-1},
/*49*/{4,52,6,42,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*50*/{-1,-1},
/*51*/{-1,-1},
/*52*/{-1,-1},
/*53*/{-1,-1},
/*54*/{7,25,9,69,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*55*/{7,25,9,68,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*56*/{7,25,9,67,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*57*/{7,25,9,66,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*58*/{7,25,9,59,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*59*/{-1,-1},
/*60*/{7,65,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*61*/{7,64,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*62*/{7,63,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*63*/{-1,-1},
/*64*/{-1,-1},
/*65*/{-1,-1},
/*66*/{-1,-1},
/*67*/{-1,-1},
/*68*/{-1,-1},
/*69*/{-1,-1},
/*70*/{-1,-1},
/*71*/{-1,-1},
/*72*/{-1,-1},
/*73*/{-1,-1},
/*74*/{-1,-1},
/*75*/{-1,-1},
/*76*/{-1,-1},
/*77*/{44,79,45,78,-1,-1},
/*78*/{-1,-1},
/*79*/{-1,-1},
/*80*/{44,79,45,81,-1,-1},
/*81*/{-1,-1},
/*82*/{19,83,21,84,22,32,23,31,25,30,-1,-1},
/*83*/{-1,-1},
/*84*/{-1,-1},
/*85*/{-1,-1},
/*86*/{-1,-1},
/*87*/{-1,-1},
/*88*/{-1,-1},
/*89*/{-1,-1},
/*90*/{4,41,5,91,6,42,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*91*/{-1,-1},
/*92*/{-1,-1},
/*93*/{-1,-1},
/*94*/{14,97,15,96,16,98,21,95,22,32,23,31,25,30,-1,-1},
/*95*/{-1,-1},
/*96*/{-1,-1},
/*97*/{-1,-1},
/*98*/{12,100,-1,-1},
/*99*/{6,118,7,25,8,117,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*100*/{26,101,27,103,36,102,-1,-1},
/*101*/{-1,-1},
/*102*/{-1,-1},
/*103*/{-1,-1},
/*104*/{-1,-1},
/*105*/{21,111,22,32,23,31,25,30,37,107,38,112,42,106,43,113,46,114,-1,-1},
/*106*/{-1,-1},
/*107*/{-1,-1},
/*108*/{-1,-1},
/*109*/{-1,-1},
/*110*/{-1,-1},
/*111*/{-1,-1},
/*112*/{-1,-1},
/*113*/{-1,-1},
/*114*/{-1,-1},
/*115*/{21,111,22,32,23,31,25,30,37,107,38,116,42,106,43,113,46,114,-1,-1},
/*116*/{-1,-1},
/*117*/{-1,-1},
/*118*/{20,44,-1,-1},
/*119*/{21,120,22,32,23,31,25,30,-1,-1},
/*120*/{-1,-1},
/*121*/{-1,-1},
/*122*/{-1,-1},
/*123*/{28,151,29,122,30,126,31,123,-1,-1},
/*124*/{14,145,18,144,21,95,22,32,23,31,25,30,-1,-1},
/*125*/{14,128,17,127,21,95,22,32,23,31,25,30,-1,-1},
/*126*/{-1,-1},
/*127*/{-1,-1},
/*128*/{-1,-1},
/*129*/{7,25,9,26,10,131,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*130*/{7,25,9,26,10,141,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*131*/{33,132,-1,-1},
/*132*/{-1,-1},
/*133*/{21,136,22,32,23,31,25,30,34,134,35,135,-1,-1},
/*134*/{-1,-1},
/*135*/{-1,-1},
/*136*/{-1,-1},
/*137*/{7,25,9,26,10,138,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*138*/{-1,-1},
/*139*/{21,136,22,32,23,31,25,30,34,140,35,135,-1,-1},
/*140*/{-1,-1},
/*141*/{-1,-1},
/*142*/{33,143,-1,-1},
/*143*/{-1,-1},
/*144*/{-1,-1},
/*145*/{-1,-1},
/*146*/{6,148,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*147*/{6,149,7,25,9,26,10,23,11,29,21,14,22,32,23,31,25,30,-1,-1},
/*148*/{20,44,-1,-1},
/*149*/{20,44,-1,-1},
/*150*/{-1,-1},
/*151*/{-1,-1},
/*152*/{-1,-1},
};
/** access to reduce_goto 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();
}
/** 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);
}
/** start state */
public int start_state() {return 0;}
/** start production */
public int start_production() {return 0;}
/** EOF Symbol index */
public int EOF_sym() {return 0;}
/** error Symbol index */
public int error_sym() {return 1;}
/** user initialization */
public void user_init() throws java.lang.Exception
{
scanner.init();
}
/** scan to get the next Symbol */
public java_cup.runtime.Symbol scan()
throws java.lang.Exception
{
return scanner.next_token();
}
// Generated from $Id: //guest/julian_hyde/mondrian/src/main/mondrian/olap/Parser.java#1 $
private Scanner scanner;
private String sQuery;
private Connection mdxConnection;
private Query parseInternal(
Connection mdxConnection, String sQuery, boolean debug)
{
Symbol parse_tree = null;
this.scanner = new StringScanner(sQuery, debug);
this.mdxConnection = mdxConnection;
this.sQuery = sQuery;
try {
FunDef.init(); // (re)initialize the function table
if (debug)
parse_tree = debug_parse();
else
parse_tree = parse();
return (Query) parse_tree.value;
} catch (Exception e) {
// "Error while parsing MDX statement '%1'"
throw Util.getRes().newWhileParsingMdx(e, sQuery);
} finally {
this.scanner = null;
this.mdxConnection = null;
this.sQuery = null;
}
}
public static Query parseQuery(
Connection mdxConnection, String sQuery, boolean debug)
{
Parser parser = new Parser();
Query q = (Query) parser.parseInternal(mdxConnection, sQuery, debug);
return q;
}
/** override this function to make your kind of query */
protected Query makeQuery(
Formula firstFormula, QueryAxis firstAxis,
String cube, Exp slicer, QueryPart firstCellProp)
{
return new Query(
mdxConnection, firstFormula, firstAxis, cube, slicer,
firstCellProp);
}
// Override lr_parser methods for NLS. With this error handling scheme,
// all errors are fatal.
public void report_fatal_error(
String message,
Object info)
throws java.lang.Exception
{
done_parsing();
try {
report_error(message, info);
} catch (Throwable e) {
// "MDX parser cannot recover from previous error(s)"
throw Util.getRes().newMdxFatalError(e);
}
}
// override lr_parser method
public void report_error(String message, Object info)
{
// "Error: %1"
throw Util.getRes().newMdxError(message);
}
// override lr_parser method
public void syntax_error(Symbol cur_token)
{
String s = cur_token.value.toString();
if (cur_token.left != -1) {
int loc[] = new int[2];
scanner.getLocation(cur_token, loc);
// "Syntax error at line %2, column %3, token '%1'"
throw Util.getRes().newMdxSyntaxErrorAt(
s, Integer.toString(loc[0] + 1), Integer.toString(loc[1] + 1));
} else {
// "Syntax error at token '%1'"
throw Util.getRes().newMdxSyntaxError(s);
}
}
public void unrecovered_syntax_error(Symbol cur_token)
throws java.lang.Exception
{
// "Couldn't repair and continue parse"
String sFatalSyntaxError = Util.getRes().getMdxFatalSyntaxError();
report_fatal_error(sFatalSyntaxError, cur_token);
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$Parser$actions {
/** Constructor */
CUP$Parser$actions() { }
/** 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 99: // provider_specific_cell_property ::= identifier
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(46/*provider_specific_cell_property*/, ((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 98: // mandatory_cell_property ::= FORMATTED_VALUE
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(42/*mandatory_cell_property*/, ((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 97: // mandatory_cell_property ::= VALUE
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(42/*mandatory_cell_property*/, ((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 96: // mandatory_cell_property ::= CELL_ORDINAL
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(42/*mandatory_cell_property*/, ((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 95: // cell_property ::= provider_specific_cell_property
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(37/*cell_property*/, ((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 94: // cell_property ::= optional_cell_property
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(37/*cell_property*/, ((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 93: // cell_property ::= mandatory_cell_property
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(37/*cell_property*/, ((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 92: // cell_property_list ::= cell_property COMMA cell_property_list
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(38/*cell_property_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 91: // cell_property_list ::= cell_property
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(38/*cell_property_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 90: // cell_opt ::= CELL
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(36/*cell_opt*/, ((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 89: // cell_opt ::=
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(36/*cell_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 88: // cell_props ::= cell_opt PROPERTIES cell_property_list
{
QueryPart RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(26/*cell_props*/, ((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 87: // slicer_specification ::= expression
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(8/*slicer_specification*/, ((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 86: // cube_specification ::= cube_name
{
Id RESULT = null;
// Default action for single-symbol production
RESULT = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(16/*cube_specification*/, ((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 85: // property_list ::= property COMMA property_list
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(45/*property_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 84: // property_list ::= property
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(45/*property_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 83: // dimension_opt ::= DIMENSION
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(41/*dimension_opt*/, ((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 82: // dimension_opt ::=
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(41/*dimension_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // dim_props ::= dimension_opt PROPERTIES property_list
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(39/*dim_props*/, ((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 80: // axis_name ::= identifier
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(19/*axis_name*/, ((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 79: // dim_props_opt ::= dim_props
{
Object RESULT = null;
// Default action for single-symbol production
RESULT = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(40/*dim_props_opt*/, ((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 78: // dim_props_opt ::=
{
Object RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(40/*dim_props_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // non_empty_opt ::= NON EMPTY
{
Boolean RESULT = null;
RESULT = new Boolean(true);
CUP$Parser$result = new java_cup.runtime.Symbol(48/*non_empty_opt*/, ((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 76: // non_empty_opt ::=
{
Boolean RESULT = null;
RESULT = new Boolean(false);
CUP$Parser$result = new java_cup.runtime.Symbol(48/*non_empty_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // axis_specification ::= non_empty_opt expression dim_props_opt ON axis_name
{
QueryAxis RESULT = null;
int bleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
int bright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
Boolean b = (Boolean)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
Exp s = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String a = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new QueryAxis(b.booleanValue(), s, a, QueryAxis.subtotalsUndefined);
CUP$Parser$result = new java_cup.runtime.Symbol(1/*axis_specification*/, ((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 74: // set_name ::= compound_id
{
Id RESULT = null;
// Default action for single-symbol production
RESULT = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(18/*set_name*/, ((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: // set_specification ::= SET set_name AS expression
{
Formula RESULT = null;
int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Id s = (Id)((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;
Exp e = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Formula(s.toStringArray(), e);
CUP$Parser$result = new java_cup.runtime.Symbol(30/*set_specification*/, ((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 72: // set_specification ::= SET set_name AS QUOTE expression QUOTE
{
Formula RESULT = null;
int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
Id s = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
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;
Exp e = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
RESULT = new Formula(s.toStringArray(), e);
CUP$Parser$result = new java_cup.runtime.Symbol(30/*set_specification*/, ((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 71: // member_property_definition ::= identifier EQ value_expression
{
MemberProperty RESULT = null;
int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
String id = (String)((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;
Exp e = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new MemberProperty(id, e);
CUP$Parser$result = new java_cup.runtime.Symbol(35/*member_property_definition*/, ((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 70: // member_name ::= compound_id
{
Id RESULT = null;
// Default action for single-symbol production
RESULT = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(17/*member_name*/, ((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: // member_property_def_list ::= member_property_definition COMMA member_property_def_list
{
MemberProperty RESULT = null;
int hdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int hdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
MemberProperty hd = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
MemberProperty tl = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = hd; RESULT.append(tl);
CUP$Parser$result = new java_cup.runtime.Symbol(34/*member_property_def_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 68: // member_property_def_list ::= member_property_definition
{
MemberProperty RESULT = null;
// Default action for single-symbol production
RESULT = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(34/*member_property_def_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 67: // comma_member_property_def_list_opt ::= COMMA member_property_def_list
{
MemberProperty 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;
MemberProperty l = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = l;
CUP$Parser$result = new java_cup.runtime.Symbol(33/*comma_member_property_def_list_opt*/, ((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 66: // comma_member_property_def_list_opt ::=
{
MemberProperty RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(33/*comma_member_property_def_list_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // member_specification ::= MEMBER member_name AS value_expression comma_member_property_def_list_opt
{
Formula RESULT = null;
int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
Id m = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
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;
Exp e = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).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;
MemberProperty l = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Formula(
m.toStringArray(), e, MemberProperty.makeArray(l));
CUP$Parser$result = new java_cup.runtime.Symbol(29/*member_specification*/, ((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 64: // member_specification ::= MEMBER member_name AS QUOTE value_expression QUOTE comma_member_property_def_list_opt
{
Formula RESULT = null;
int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
Id m = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp e = (Exp)((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;
MemberProperty l = (MemberProperty)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Formula(
m.toStringArray(), e, MemberProperty.makeArray(l));
CUP$Parser$result = new java_cup.runtime.Symbol(29/*member_specification*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // single_formula_specification ::= set_specification
{
Formula RESULT = null;
// Default action for single-symbol production
RESULT = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(31/*single_formula_specification*/, ((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 62: // single_formula_specification ::= member_specification
{
Formula RESULT = null;
// Default action for single-symbol production
RESULT = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(31/*single_formula_specification*/, ((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 61: // formula_specification ::= single_formula_specification formula_specification
{
Formula RESULT = null;
int hdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int hdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Formula hd = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Formula tl = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
hd.append(tl); RESULT = hd;
CUP$Parser$result = new java_cup.runtime.Symbol(28/*formula_specification*/, ((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 60: // formula_specification ::= single_formula_specification
{
Formula RESULT = null;
// Default action for single-symbol production
RESULT = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(28/*formula_specification*/, ((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 59: // cell_props_opt ::=
{
QueryPart RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(27/*cell_props_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // cell_props_opt ::= cell_props
{
QueryPart RESULT = null;
// Default action for single-symbol production
RESULT = (QueryPart)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(27/*cell_props_opt*/, ((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 57: // where_clause_opt ::= WHERE slicer_specification
{
Exp RESULT = null;
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;
Exp s = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = s;
CUP$Parser$result = new java_cup.runtime.Symbol(12/*where_clause_opt*/, ((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 56: // where_clause_opt ::=
{
Exp RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(12/*where_clause_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // axis_specification_list ::= axis_specification COMMA axis_specification_list
{
QueryAxis RESULT = null;
int hdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int hdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
QueryAxis hd = (QueryAxis)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
QueryAxis tl = (QueryAxis)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
hd.append(tl); RESULT = hd;
CUP$Parser$result = new java_cup.runtime.Symbol(2/*axis_specification_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 54: // axis_specification_list ::= axis_specification
{
QueryAxis RESULT = null;
// Default action for single-symbol production
RESULT = (QueryAxis)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(2/*axis_specification_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 53: // axis_specification_list_opt ::= axis_specification_list
{
QueryAxis RESULT = null;
// Default action for single-symbol production
RESULT = (QueryAxis)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(3/*axis_specification_list_opt*/, ((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 52: // axis_specification_list_opt ::=
{
QueryAxis RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(3/*axis_specification_list_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // with_formula_specification_opt ::=
{
Formula RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(32/*with_formula_specification_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // with_formula_specification_opt ::= WITH formula_specification
{
Formula 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;
Formula f = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = f;
CUP$Parser$result = new java_cup.runtime.Symbol(32/*with_formula_specification_opt*/, ((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 49: // select_statement ::= with_formula_specification_opt SELECT axis_specification_list_opt FROM cube_specification where_clause_opt cell_props_opt
{
QueryPart RESULT = null;
int fleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
int fright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
Formula f = (Formula)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
QueryAxis a = (QueryAxis)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
int cleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int cright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Id c = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int wleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int wright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Exp w = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
int cpleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int cpright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
QueryPart cp = (QueryPart)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
Parser parser = (Parser) CUP$Parser$parser;
// We want 'Sales', not '[Sales]', and can't handle 'Schema.Sales'
// yet.
String cubeName = c.getElement(0);
RESULT = parser.makeQuery(f, a, cubeName, w, cp);
CUP$Parser$result = new java_cup.runtime.Symbol(13/*select_statement*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // exp_list ::= expression COMMA exp_list
{
Exp RESULT = null;
int hdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int hdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp hd = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp tl = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
((QueryPart) hd).append((QueryPart) tl); RESULT = hd;
CUP$Parser$result = new java_cup.runtime.Symbol(4/*exp_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 47: // exp_list ::= expression
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(4/*exp_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 46: // exp_list_opt ::= exp_list
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(5/*exp_list_opt*/, ((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 45: // exp_list_opt ::=
{
Exp RESULT = null;
CUP$Parser$result = new java_cup.runtime.Symbol(5/*exp_list_opt*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT);
}
return CUP$Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // expression ::= value_expression
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(6/*expression*/, ((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 43: // expression ::= expression comp_op value_expression
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int opleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int opright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
String op = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
// e.g. 1 < 5
RESULT = new FunCall(op, new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(6/*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 42: // expression ::= expression COLON value_expression
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
// range yields set
RESULT = new FunCall("_Range", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(6/*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 41: // comp_op ::= GE
{
String RESULT = null;
RESULT = ">=";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 40: // comp_op ::= LE
{
String RESULT = null;
RESULT = "<=";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 39: // comp_op ::= GT
{
String RESULT = null;
RESULT = ">";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 38: // comp_op ::= LT
{
String RESULT = null;
RESULT = "<";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 37: // comp_op ::= NE
{
String RESULT = null;
RESULT = "<>";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 36: // comp_op ::= EQ
{
String RESULT = null;
RESULT = "=";
CUP$Parser$result = new java_cup.runtime.Symbol(20/*comp_op*/, ((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 35: // value_expression_primary ::= LBRACE exp_list_opt RBRACE
{
Exp RESULT = null;
int lisleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int lisright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Exp lis = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
// set built from sets/tuples
RESULT = new FunCall("_Set", ExpBase.makeArray(lis));
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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: // value_expression_primary ::= LPAREN exp_list RPAREN
{
Exp RESULT = null;
int lisleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int lisright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Exp lis = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
// Whereas ([Sales],[Time]) and () are tuples, ([Sales]) and (5)
// are just expressions.
RESULT = new FunCall(
(((ExpBase) lis).getChainLength() == 1
? "_Parentheses"
: "_Tuple"),
ExpBase.makeArray(lis));
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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: // value_expression_primary ::= identifier LPAREN exp_list_opt RPAREN
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
String i = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
int lisleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int lisright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Exp lis = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
RESULT = new FunCall(i, ExpBase.makeArray(lis));
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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 32: // value_expression_primary ::= value_expression_primary DOT identifier LPAREN exp_list_opt RPAREN
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
Exp i = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
int jleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
int jright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
String j = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
int lisleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
int lisright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
Exp lis = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
((QueryPart) i).append((QueryPart) lis);
RESULT = new FunCall(j, ExpBase.makeArray(i), true);
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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 31: // value_expression_primary ::= value_expression_primary DOT amp_quoted_identifier
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp i = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int jleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int jright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String j = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
if (i instanceof Id) {
((Id) i).append(j, true);
RESULT = i;
} else {
RESULT = new Dot(i, j);
}
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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: // value_expression_primary ::= value_expression_primary DOT quoted_identifier
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp i = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int jleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int jright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String j = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
if (i instanceof Id) {
((Id) i).append(j);
RESULT = i;
} else {
RESULT = new Dot(i, j);
}
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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 29: // value_expression_primary ::= value_expression_primary DOT unquoted_identifier
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp i = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int jleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int jright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String j = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
if (FunDef.isProperty(j)) {
RESULT = new FunCall(j, new Exp[] {i}, true);
} else {
RESULT = new Dot(i, j);
}
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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 28: // value_expression_primary ::= identifier
{
Exp RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String i = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Id(i);
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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: // value_expression_primary ::= NUMBER
{
Exp RESULT = null;
int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Double d = (Double)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Literal(d);
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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 26: // value_expression_primary ::= STRING
{
Exp RESULT = null;
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 Literal(s, false);
CUP$Parser$result = new java_cup.runtime.Symbol(11/*value_expression_primary*/, ((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: // factor ::= NOT value_expression_primary
{
Exp 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;
Exp p = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("NOT", new Exp[] {p});
CUP$Parser$result = new java_cup.runtime.Symbol(7/*factor*/, ((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: // factor ::= MINUS value_expression_primary
{
Exp 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;
Exp p = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("_Uminus", new Exp[] {p});
CUP$Parser$result = new java_cup.runtime.Symbol(7/*factor*/, ((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: // factor ::= PLUS value_expression_primary
{
Exp 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;
Exp p = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = p;
CUP$Parser$result = new java_cup.runtime.Symbol(7/*factor*/, ((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 22: // factor ::= value_expression_primary
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(7/*factor*/, ((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: // term ::= term AND factor
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("AND", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(9/*term*/, ((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 20: // term ::= term SOLIDUS factor
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("/", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(9/*term*/, ((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: // term ::= term ASTERISK factor
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("*", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(9/*term*/, ((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 18: // term ::= factor
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(9/*term*/, ((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: // value_expression ::= value_expression CONCAT term
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("||", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_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 16: // value_expression ::= value_expression XOR term
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("XOR", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_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 15: // value_expression ::= value_expression OR term
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("OR", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_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 14: // value_expression ::= value_expression MINUS term
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("-", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_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 13: // value_expression ::= value_expression PLUS term
{
Exp RESULT = null;
int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Exp x = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int yleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int yright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
Exp y = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new FunCall("+", new Exp[] {x, y});
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_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 12: // value_expression ::= term
{
Exp RESULT = null;
// Default action for single-symbol production
RESULT = (Exp)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(10/*value_expression*/, ((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: // cube_name ::= compound_id
{
Id RESULT = null;
// Default action for single-symbol production
RESULT = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(15/*cube_name*/, ((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 10: // compound_id ::= compound_id DOT identifier
{
Id RESULT = null;
int hdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
int hdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
Id hd = (Id)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String tl = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
hd.append(tl); RESULT = hd;
CUP$Parser$result = new java_cup.runtime.Symbol(14/*compound_id*/, ((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: // compound_id ::= identifier
{
Id RESULT = null;
int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left;
int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right;
String i = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value;
RESULT = new Id(i);
CUP$Parser$result = new java_cup.runtime.Symbol(14/*compound_id*/, ((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 8: // keyword ::= PROPERTIES
{
String RESULT = null;
RESULT = "Properties";
CUP$Parser$result = new java_cup.runtime.Symbol(25/*keyword*/, ((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 7: // keyword ::= DIMENSION
{
String RESULT = null;
RESULT = "Dimension";
CUP$Parser$result = new java_cup.runtime.Symbol(25/*keyword*/, ((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 6: // identifier ::= quoted_identifier
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(21/*identifier*/, ((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 5: // identifier ::= unquoted_identifier
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(21/*identifier*/, ((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 4: // unquoted_identifier ::= keyword
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(23/*unquoted_identifier*/, ((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 3: // unquoted_identifier ::= ID
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(23/*unquoted_identifier*/, ((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 2: // amp_quoted_identifier ::= AMP_QUOTED_ID
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(24/*amp_quoted_identifier*/, ((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 1: // quoted_identifier ::= QUOTED_ID
{
String RESULT = null;
// Default action for single-symbol production
RESULT = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top)).value;
CUP$Parser$result = new java_cup.runtime.Symbol(22/*quoted_identifier*/, ((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 0: // $START ::= select_statement 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;
QueryPart start_val = (QueryPart)((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");
}
}
}