Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.ximpleware.xpath.XSLParser Maven / Gradle / Ivy
/*
* Copyright (C) 2002-2011 XimpleWare, [email protected]
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Fri Feb 11 18:18:03 PST 2011
//----------------------------------------------------
package com.ximpleware.xpath;
import java_cup.runtime.*;
import com.ximpleware.*;
import com.ximpleware.xpath.*;
import java.io.*;
import java.util.*;
/** CUP v0.10k generated parser.
* @version Fri Feb 11 18:18:03 PST 2011
*/
public class XSLParser extends java_cup.runtime.lr_parser {
/** Default constructor. */
public XSLParser() {super();}
/** Constructor which sets the default scanner. */
public XSLParser(java_cup.runtime.Scanner s) {super(s);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\110\000\002\007\003\000\002\002\004\000\002\010" +
"\003\000\002\010\005\000\002\012\003\000\002\012\005" +
"\000\002\011\003\000\002\011\005\000\002\011\005\000" +
"\002\013\003\000\002\013\005\000\002\013\005\000\002" +
"\013\005\000\002\013\005\000\002\014\003\000\002\014" +
"\005\000\002\014\005\000\002\015\003\000\002\015\005" +
"\000\002\015\005\000\002\015\005\000\002\016\003\000" +
"\002\016\004\000\002\022\003\000\002\022\005\000\002" +
"\017\003\000\002\017\003\000\002\017\005\000\002\017" +
"\005\000\002\020\003\000\002\020\004\000\002\024\003" +
"\000\002\024\005\000\002\024\003\000\002\024\003\000" +
"\002\024\003\000\002\003\006\000\002\004\006\000\002" +
"\023\002\000\002\023\003\000\002\023\005\000\002\025" +
"\003\000\002\026\003\000\002\026\003\000\002\026\003" +
"\000\002\027\003\000\002\027\005\000\002\027\005\000" +
"\002\036\003\000\002\036\004\000\002\036\003\000\002" +
"\035\003\000\002\035\005\000\002\035\003\000\002\033" +
"\005\000\002\033\003\000\002\032\003\000\002\032\003" +
"\000\002\042\002\000\002\042\004\000\002\030\003\000" +
"\002\030\003\000\002\031\002\000\002\031\003\000\002" +
"\034\003\000\002\034\003\000\002\037\004\000\002\040" +
"\005\000\002\041\005\000\002\021\004\000\002\005\003" +
"\000\002\006\003" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\154\000\040\005\050\006\022\007\020\010\045\012" +
"\017\025\004\026\006\035\042\036\034\037\041\040\026" +
"\041\025\042\uffc3\043\uffc3\044\046\001\002\000\062\002" +
"\uffd1\004\uffd1\005\uffd1\006\022\007\020\010\045\011\uffd1" +
"\013\uffd1\015\uffd1\016\uffd1\017\uffd1\020\uffd1\021\uffd1\022" +
"\uffd1\023\uffd1\024\uffd1\027\uffd1\030\uffd1\031\uffd1\032\uffd1" +
"\033\uffd1\042\uffc3\043\uffc3\044\046\001\002\000\032\002" +
"\ufffb\011\ufffb\013\ufffb\015\ufffb\016\133\017\132\020\135" +
"\021\134\022\ufffb\023\ufffb\031\ufffb\032\ufffb\001\002\000" +
"\016\006\022\007\020\010\045\042\uffc3\043\uffc3\044\046" +
"\001\002\000\046\002\uffcf\004\uffcf\005\uffcf\011\uffcf\013" +
"\uffcf\015\uffcf\016\uffcf\017\uffcf\020\uffcf\021\uffcf\022\uffcf" +
"\023\uffcf\024\uffcf\027\uffcf\030\uffcf\031\uffcf\032\uffcf\033" +
"\uffcf\001\002\000\054\002\uffde\004\uffde\005\uffde\011\uffde" +
"\013\uffde\014\uffde\015\uffde\016\uffde\017\uffde\020\uffde\021" +
"\uffde\022\uffde\023\uffde\024\uffde\025\uffde\026\uffde\027\uffde" +
"\030\uffde\031\uffde\032\uffde\033\uffde\001\002\000\006\042" +
"\151\043\147\001\002\000\016\002\uffff\011\uffff\013\uffff" +
"\015\uffff\031\145\032\uffff\001\002\000\006\042\uffc4\043" +
"\uffc4\001\002\000\014\002\001\011\001\013\001\015\001" +
"\032\143\001\002\000\046\002\uffd5\004\uffd5\005\uffd5\011" +
"\uffd5\013\uffd5\015\uffd5\016\uffd5\017\uffd5\020\uffd5\021\uffd5" +
"\022\uffd5\023\uffd5\024\uffd5\027\uffd5\030\uffd5\031\uffd5\032" +
"\uffd5\033\uffd5\001\002\000\022\002\ufffd\011\ufffd\013\ufffd" +
"\015\ufffd\022\127\023\130\031\ufffd\032\ufffd\001\002\000" +
"\040\005\050\006\022\007\020\010\045\012\017\025\004" +
"\026\006\035\042\036\034\037\041\040\026\041\025\042" +
"\uffc3\043\uffc3\044\046\001\002\000\052\002\uffc0\004\uffc0" +
"\005\uffc0\011\uffc0\013\uffc0\015\uffc0\016\uffc0\017\uffc0\020" +
"\uffc0\021\uffc0\022\uffc0\023\uffc0\024\uffc0\025\uffc0\026\uffc0" +
"\027\uffc0\030\uffc0\031\uffc0\032\uffc0\033\uffc0\001\002\000" +
"\046\002\uffd6\004\uffd6\005\uffd6\011\uffd6\013\uffd6\015\uffd6" +
"\016\uffd6\017\uffd6\020\uffd6\021\uffd6\022\uffd6\023\uffd6\024" +
"\uffd6\027\uffd6\030\uffd6\031\uffd6\032\uffd6\033\uffd6\001\002" +
"\000\052\002\uffc1\004\uffc1\005\uffc1\011\uffc1\013\uffc1\015" +
"\uffc1\016\uffc1\017\uffc1\020\uffc1\021\uffc1\022\uffc1\023\uffc1" +
"\024\uffc1\025\uffc1\026\uffc1\027\uffc1\030\uffc1\031\uffc1\032" +
"\uffc1\033\uffc1\001\002\000\036\002\ufff8\004\122\005\121" +
"\011\ufff8\013\ufff8\015\ufff8\016\ufff8\017\ufff8\020\ufff8\021" +
"\ufff8\022\ufff8\023\ufff8\031\ufff8\032\ufff8\001\002\000\044" +
"\002\ufff0\004\ufff0\005\ufff0\011\ufff0\013\ufff0\015\ufff0\016" +
"\ufff0\017\ufff0\020\ufff0\021\ufff0\022\ufff0\023\ufff0\024\ufff0" +
"\027\ufff0\030\ufff0\031\ufff0\032\ufff0\001\002\000\004\012" +
"\uffba\001\002\000\004\012\uffbb\001\002\000\004\012\116" +
"\001\002\000\052\002\uffce\004\uffce\005\uffce\011\uffce\013" +
"\uffce\015\uffce\016\uffce\017\uffce\020\uffce\021\uffce\022\uffce" +
"\023\uffce\024\uffce\025\113\026\112\027\uffce\030\uffce\031" +
"\uffce\032\uffce\033\uffce\001\002\000\046\002\uffe8\004\uffe8" +
"\005\uffe8\011\uffe8\013\uffe8\015\uffe8\016\uffe8\017\uffe8\020" +
"\uffe8\021\uffe8\022\uffe8\023\uffe8\024\uffe8\027\uffe8\030\uffe8" +
"\031\uffe8\032\uffe8\033\uffe8\001\002\000\054\002\uffe4\004" +
"\uffe4\005\uffe4\011\uffe4\013\uffe4\014\uffe4\015\uffe4\016\uffe4" +
"\017\uffe4\020\uffe4\021\uffe4\022\uffe4\023\uffe4\024\uffe4\025" +
"\uffe4\026\uffe4\027\uffe4\030\uffe4\031\uffe4\032\uffe4\033\uffe4" +
"\001\002\000\046\002\uffea\004\uffea\005\uffea\011\uffea\013" +
"\uffea\015\uffea\016\uffea\017\uffea\020\uffea\021\uffea\022\uffea" +
"\023\uffea\024\uffea\027\uffea\030\uffea\031\uffea\032\uffea\033" +
"\110\001\002\000\054\002\uffdf\004\uffdf\005\uffdf\011\uffdf" +
"\013\uffdf\014\uffdf\015\uffdf\016\uffdf\017\uffdf\020\uffdf\021" +
"\uffdf\022\uffdf\023\uffdf\024\uffdf\025\uffdf\026\uffdf\027\uffdf" +
"\030\uffdf\031\uffdf\032\uffdf\033\uffdf\001\002\000\054\002" +
"\uffe2\004\uffe2\005\uffe2\011\uffe2\013\uffe2\014\uffe2\015\uffe2" +
"\016\uffe2\017\uffe2\020\uffe2\021\uffe2\022\uffe2\023\uffe2\024" +
"\uffe2\025\uffe2\026\uffe2\027\uffe2\030\uffe2\031\uffe2\032\uffe2" +
"\033\uffe2\001\002\000\054\002\uffe7\004\uffe7\005\uffe7\011" +
"\uffe7\013\uffe7\014\103\015\uffe7\016\uffe7\017\uffe7\020\uffe7" +
"\021\uffe7\022\uffe7\023\uffe7\024\uffe7\025\102\026\101\027" +
"\uffe7\030\uffe7\031\uffe7\032\uffe7\033\uffe7\001\002\000\004" +
"\012\071\001\002\000\004\002\070\001\002\000\054\002" +
"\uffe0\004\uffe0\005\uffe0\011\uffe0\013\uffe0\014\uffe0\015\uffe0" +
"\016\uffe0\017\uffe0\020\uffe0\021\uffe0\022\uffe0\023\uffe0\024" +
"\uffe0\025\uffe0\026\uffe0\027\uffe0\030\uffe0\031\uffe0\032\uffe0" +
"\033\uffe0\001\002\000\004\043\067\001\002\000\046\002" +
"\uffcc\004\uffcc\005\uffcc\011\uffcc\013\uffcc\015\uffcc\016\uffcc" +
"\017\uffcc\020\uffcc\021\uffcc\022\uffcc\023\uffcc\024\uffcc\027" +
"\uffcc\030\uffcc\031\uffcc\032\uffcc\033\uffcc\001\002\000\052" +
"\002\uffca\004\uffca\005\uffca\011\uffca\013\uffca\015\uffca\016" +
"\uffca\017\uffca\020\uffca\021\uffca\022\uffca\023\uffca\024\uffca" +
"\025\uffca\026\uffca\027\uffca\030\uffca\031\uffca\032\uffca\033" +
"\uffca\001\002\000\006\042\uffc2\043\uffc2\001\002\000\006" +
"\042\uffc5\043\uffc5\001\002\000\044\002\uffec\004\uffec\005" +
"\uffec\011\uffec\013\uffec\015\uffec\016\uffec\017\uffec\020\uffec" +
"\021\uffec\022\uffec\023\uffec\024\uffec\027\uffec\030\uffec\031" +
"\uffec\032\uffec\001\002\000\040\005\050\006\022\007\020" +
"\010\045\012\017\025\004\026\006\035\042\036\034\037" +
"\041\040\026\041\025\042\uffc3\043\uffc3\044\046\001\002" +
"\000\052\002\uffd4\004\uffd4\005\uffd4\011\uffd4\013\uffd4\015" +
"\uffd4\016\uffd4\017\uffd4\020\uffd4\021\uffd4\022\uffd4\023\uffd4" +
"\024\uffd4\025\063\026\062\027\uffd4\030\uffd4\031\uffd4\032" +
"\uffd4\033\uffd4\001\002\000\044\002\ufff3\004\ufff3\005\ufff3" +
"\011\ufff3\013\ufff3\015\ufff3\016\ufff3\017\ufff3\020\ufff3\021" +
"\ufff3\022\ufff3\023\ufff3\024\055\027\056\030\054\031\ufff3" +
"\032\ufff3\001\002\000\046\002\uffd7\004\uffd7\005\uffd7\011" +
"\uffd7\013\uffd7\015\uffd7\016\uffd7\017\uffd7\020\uffd7\021\uffd7" +
"\022\uffd7\023\uffd7\024\uffd7\027\uffd7\030\uffd7\031\uffd7\032" +
"\uffd7\033\uffd7\001\002\000\040\005\050\006\022\007\020" +
"\010\045\012\017\025\004\026\006\035\042\036\034\037" +
"\041\040\026\041\025\042\uffc3\043\uffc3\044\046\001\002" +
"\000\040\005\050\006\022\007\020\010\045\012\017\025" +
"\004\026\006\035\042\036\034\037\041\040\026\041\025" +
"\042\uffc3\043\uffc3\044\046\001\002\000\040\005\050\006" +
"\022\007\020\010\045\012\017\025\004\026\006\035\042" +
"\036\034\037\041\040\026\041\025\042\uffc3\043\uffc3\044" +
"\046\001\002\000\044\002\uffee\004\uffee\005\uffee\011\uffee" +
"\013\uffee\015\uffee\016\uffee\017\uffee\020\uffee\021\uffee\022" +
"\uffee\023\uffee\024\uffee\027\uffee\030\uffee\031\uffee\032\uffee" +
"\001\002\000\044\002\uffef\004\uffef\005\uffef\011\uffef\013" +
"\uffef\015\uffef\016\uffef\017\uffef\020\uffef\021\uffef\022\uffef" +
"\023\uffef\024\uffef\027\uffef\030\uffef\031\uffef\032\uffef\001" +
"\002\000\044\002\uffed\004\uffed\005\uffed\011\uffed\013\uffed" +
"\015\uffed\016\uffed\017\uffed\020\uffed\021\uffed\022\uffed\023" +
"\uffed\024\uffed\027\uffed\030\uffed\031\uffed\032\uffed\001\002" +
"\000\016\006\022\007\020\010\045\042\uffc3\043\uffc3\044" +
"\046\001\002\000\016\006\022\007\020\010\045\042\uffc3" +
"\043\uffc3\044\046\001\002\000\046\002\uffd3\004\uffd3\005" +
"\uffd3\011\uffd3\013\uffd3\015\uffd3\016\uffd3\017\uffd3\020\uffd3" +
"\021\uffd3\022\uffd3\023\uffd3\024\uffd3\027\uffd3\030\uffd3\031" +
"\uffd3\032\uffd3\033\uffd3\001\002\000\046\002\uffd2\004\uffd2" +
"\005\uffd2\011\uffd2\013\uffd2\015\uffd2\016\uffd2\017\uffd2\020" +
"\uffd2\021\uffd2\022\uffd2\023\uffd2\024\uffd2\027\uffd2\030\uffd2" +
"\031\uffd2\032\uffd2\033\uffd2\001\002\000\044\002\uffeb\004" +
"\uffeb\005\uffeb\011\uffeb\013\uffeb\015\uffeb\016\uffeb\017\uffeb" +
"\020\uffeb\021\uffeb\022\uffeb\023\uffeb\024\uffeb\027\uffeb\030" +
"\uffeb\031\uffeb\032\uffeb\001\002\000\054\002\uffbc\004\uffbc" +
"\005\uffbc\011\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc\017" +
"\uffbc\020\uffbc\021\uffbc\022\uffbc\023\uffbc\024\uffbc\025\uffbc" +
"\026\uffbc\027\uffbc\030\uffbc\031\uffbc\032\uffbc\033\uffbc\001" +
"\002\000\004\002\000\001\002\000\042\005\050\006\022" +
"\007\020\010\045\012\017\013\uffdb\025\004\026\006\035" +
"\042\036\034\037\041\040\026\041\025\042\uffc3\043\uffc3" +
"\044\046\001\002\000\004\013\077\001\002\000\006\011" +
"\075\013\uffda\001\002\000\006\011\uffd8\013\uffd8\001\002" +
"\000\042\005\050\006\022\007\020\010\045\012\017\013" +
"\uffdb\025\004\026\006\035\042\036\034\037\041\040\026" +
"\041\025\042\uffc3\043\uffc3\044\046\001\002\000\004\013" +
"\uffd9\001\002\000\052\002\uffdc\004\uffdc\005\uffdc\011\uffdc" +
"\013\uffdc\015\uffdc\016\uffdc\017\uffdc\020\uffdc\021\uffdc\022" +
"\uffdc\023\uffdc\024\uffdc\025\uffdc\026\uffdc\027\uffdc\030\uffdc" +
"\031\uffdc\032\uffdc\033\uffdc\001\002\000\054\002\uffe3\004" +
"\uffe3\005\uffe3\011\uffe3\013\uffe3\014\uffe3\015\uffe3\016\uffe3" +
"\017\uffe3\020\uffe3\021\uffe3\022\uffe3\023\uffe3\024\uffe3\025" +
"\uffe3\026\uffe3\027\uffe3\030\uffe3\031\uffe3\032\uffe3\033\uffe3" +
"\001\002\000\016\006\022\007\020\010\045\042\uffc3\043" +
"\uffc3\044\046\001\002\000\016\006\022\007\020\010\045" +
"\042\uffc3\043\uffc3\044\046\001\002\000\040\005\050\006" +
"\022\007\020\010\045\012\017\025\004\026\006\035\042" +
"\036\034\037\041\040\026\041\025\042\uffc3\043\uffc3\044" +
"\046\001\002\000\004\015\105\001\002\000\054\002\uffbd" +
"\004\uffbd\005\uffbd\011\uffbd\013\uffbd\014\uffbd\015\uffbd\016" +
"\uffbd\017\uffbd\020\uffbd\021\uffbd\022\uffbd\023\uffbd\024\uffbd" +
"\025\uffbd\026\uffbd\027\uffbd\030\uffbd\031\uffbd\032\uffbd\033" +
"\uffbd\001\002\000\046\002\uffe6\004\uffe6\005\uffe6\011\uffe6" +
"\013\uffe6\015\uffe6\016\uffe6\017\uffe6\020\uffe6\021\uffe6\022" +
"\uffe6\023\uffe6\024\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6" +
"\033\uffe6\001\002\000\046\002\uffe5\004\uffe5\005\uffe5\011" +
"\uffe5\013\uffe5\015\uffe5\016\uffe5\017\uffe5\020\uffe5\021\uffe5" +
"\022\uffe5\023\uffe5\024\uffe5\027\uffe5\030\uffe5\031\uffe5\032" +
"\uffe5\033\uffe5\001\002\000\036\006\022\007\020\010\045" +
"\012\017\025\004\026\006\035\042\036\034\037\041\040" +
"\026\041\025\042\uffc3\043\uffc3\044\046\001\002\000\044" +
"\002\uffe9\004\uffe9\005\uffe9\011\uffe9\013\uffe9\015\uffe9\016" +
"\uffe9\017\uffe9\020\uffe9\021\uffe9\022\uffe9\023\uffe9\024\uffe9" +
"\027\uffe9\030\uffe9\031\uffe9\032\uffe9\001\002\000\016\006" +
"\022\007\020\010\045\042\uffc3\043\uffc3\044\046\001\002" +
"\000\016\006\022\007\020\010\045\042\uffc3\043\uffc3\044" +
"\046\001\002\000\046\002\uffcd\004\uffcd\005\uffcd\011\uffcd" +
"\013\uffcd\015\uffcd\016\uffcd\017\uffcd\020\uffcd\021\uffcd\022" +
"\uffcd\023\uffcd\024\uffcd\027\uffcd\030\uffcd\031\uffcd\032\uffcd" +
"\033\uffcd\001\002\000\046\002\uffbe\004\uffbe\005\uffbe\011" +
"\uffbe\013\uffbe\015\uffbe\016\uffbe\017\uffbe\020\uffbe\021\uffbe" +
"\022\uffbe\023\uffbe\024\uffbe\027\uffbe\030\uffbe\031\uffbe\032" +
"\uffbe\033\uffbe\001\002\000\042\005\050\006\022\007\020" +
"\010\045\012\017\013\uffdb\025\004\026\006\035\042\036" +
"\034\037\041\040\026\041\025\042\uffc3\043\uffc3\044\046" +
"\001\002\000\004\013\120\001\002\000\054\002\uffdd\004" +
"\uffdd\005\uffdd\011\uffdd\013\uffdd\014\uffdd\015\uffdd\016\uffdd" +
"\017\uffdd\020\uffdd\021\uffdd\022\uffdd\023\uffdd\024\uffdd\025" +
"\uffdd\026\uffdd\027\uffdd\030\uffdd\031\uffdd\032\uffdd\033\uffdd" +
"\001\002\000\040\005\050\006\022\007\020\010\045\012" +
"\017\025\004\026\006\035\042\036\034\037\041\040\026" +
"\041\025\042\uffc3\043\uffc3\044\046\001\002\000\040\005" +
"\050\006\022\007\020\010\045\012\017\025\004\026\006" +
"\035\042\036\034\037\041\040\026\041\025\042\uffc3\043" +
"\uffc3\044\046\001\002\000\044\002\ufff2\004\ufff2\005\ufff2" +
"\011\ufff2\013\ufff2\015\ufff2\016\ufff2\017\ufff2\020\ufff2\021" +
"\ufff2\022\ufff2\023\ufff2\024\055\027\056\030\054\031\ufff2" +
"\032\ufff2\001\002\000\044\002\ufff1\004\ufff1\005\ufff1\011" +
"\ufff1\013\ufff1\015\ufff1\016\ufff1\017\ufff1\020\ufff1\021\ufff1" +
"\022\ufff1\023\ufff1\024\055\027\056\030\054\031\ufff1\032" +
"\ufff1\001\002\000\004\013\126\001\002\000\054\002\uffe1" +
"\004\uffe1\005\uffe1\011\uffe1\013\uffe1\014\uffe1\015\uffe1\016" +
"\uffe1\017\uffe1\020\uffe1\021\uffe1\022\uffe1\023\uffe1\024\uffe1" +
"\025\uffe1\026\uffe1\027\uffe1\030\uffe1\031\uffe1\032\uffe1\033" +
"\uffe1\001\002\000\040\005\050\006\022\007\020\010\045" +
"\012\017\025\004\026\006\035\042\036\034\037\041\040" +
"\026\041\025\042\uffc3\043\uffc3\044\046\001\002\000\040" +
"\005\050\006\022\007\020\010\045\012\017\025\004\026" +
"\006\035\042\036\034\037\041\040\026\041\025\042\uffc3" +
"\043\uffc3\044\046\001\002\000\032\002\ufff9\011\ufff9\013" +
"\ufff9\015\ufff9\016\133\017\132\020\135\021\134\022\ufff9" +
"\023\ufff9\031\ufff9\032\ufff9\001\002\000\040\005\050\006" +
"\022\007\020\010\045\012\017\025\004\026\006\035\042" +
"\036\034\037\041\040\026\041\025\042\uffc3\043\uffc3\044" +
"\046\001\002\000\040\005\050\006\022\007\020\010\045" +
"\012\017\025\004\026\006\035\042\036\034\037\041\040" +
"\026\041\025\042\uffc3\043\uffc3\044\046\001\002\000\040" +
"\005\050\006\022\007\020\010\045\012\017\025\004\026" +
"\006\035\042\036\034\037\041\040\026\041\025\042\uffc3" +
"\043\uffc3\044\046\001\002\000\040\005\050\006\022\007" +
"\020\010\045\012\017\025\004\026\006\035\042\036\034" +
"\037\041\040\026\041\025\042\uffc3\043\uffc3\044\046\001" +
"\002\000\036\002\ufff4\004\122\005\121\011\ufff4\013\ufff4" +
"\015\ufff4\016\ufff4\017\ufff4\020\ufff4\021\ufff4\022\ufff4\023" +
"\ufff4\031\ufff4\032\ufff4\001\002\000\036\002\ufff5\004\122" +
"\005\121\011\ufff5\013\ufff5\015\ufff5\016\ufff5\017\ufff5\020" +
"\ufff5\021\ufff5\022\ufff5\023\ufff5\031\ufff5\032\ufff5\001\002" +
"\000\036\002\ufff6\004\122\005\121\011\ufff6\013\ufff6\015" +
"\ufff6\016\ufff6\017\ufff6\020\ufff6\021\ufff6\022\ufff6\023\ufff6" +
"\031\ufff6\032\ufff6\001\002\000\036\002\ufff7\004\122\005" +
"\121\011\ufff7\013\ufff7\015\ufff7\016\ufff7\017\ufff7\020\ufff7" +
"\021\ufff7\022\ufff7\023\ufff7\031\ufff7\032\ufff7\001\002\000" +
"\032\002\ufffa\011\ufffa\013\ufffa\015\ufffa\016\133\017\132" +
"\020\135\021\134\022\ufffa\023\ufffa\031\ufffa\032\ufffa\001" +
"\002\000\040\005\050\006\022\007\020\010\045\012\017" +
"\025\004\026\006\035\042\036\034\037\041\040\026\041" +
"\025\042\uffc3\043\uffc3\044\046\001\002\000\016\002\ufffe" +
"\011\ufffe\013\ufffe\015\ufffe\031\145\032\ufffe\001\002\000" +
"\040\005\050\006\022\007\020\010\045\012\017\025\004" +
"\026\006\035\042\036\034\037\041\040\026\041\025\042" +
"\uffc3\043\uffc3\044\046\001\002\000\022\002\ufffc\011\ufffc" +
"\013\ufffc\015\ufffc\022\127\023\130\031\ufffc\032\ufffc\001" +
"\002\000\054\002\uffc9\004\uffc9\005\uffc9\011\uffc9\013\uffc9" +
"\014\uffc9\015\uffc9\016\uffc9\017\uffc9\020\uffc9\021\uffc9\022" +
"\uffc9\023\uffc9\024\uffc9\025\uffc9\026\uffc9\027\uffc9\030\uffc9" +
"\031\uffc9\032\uffc9\033\uffc9\001\002\000\054\002\uffc7\004" +
"\uffc7\005\uffc7\011\uffc7\013\uffc7\014\103\015\uffc7\016\uffc7" +
"\017\uffc7\020\uffc7\021\uffc7\022\uffc7\023\uffc7\024\uffc7\025" +
"\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032\uffc7\033\uffc7" +
"\001\002\000\054\002\uffc8\004\uffc8\005\uffc8\011\uffc8\013" +
"\uffc8\014\uffc8\015\uffc8\016\uffc8\017\uffc8\020\uffc8\021\uffc8" +
"\022\uffc8\023\uffc8\024\uffc8\025\uffc8\026\uffc8\027\uffc8\030" +
"\uffc8\031\uffc8\032\uffc8\033\uffc8\001\002\000\054\002\uffc7" +
"\004\uffc7\005\uffc7\011\uffc7\013\uffc7\014\103\015\uffc7\016" +
"\uffc7\017\uffc7\020\uffc7\021\uffc7\022\uffc7\023\uffc7\024\uffc7" +
"\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032\uffc7\033" +
"\uffc7\001\002\000\052\002\uffcb\004\uffcb\005\uffcb\011\uffcb" +
"\013\uffcb\015\uffcb\016\uffcb\017\uffcb\020\uffcb\021\uffcb\022" +
"\uffcb\023\uffcb\024\uffcb\025\uffcb\026\uffcb\027\uffcb\030\uffcb" +
"\031\uffcb\032\uffcb\033\uffcb\001\002\000\052\002\uffc6\004" +
"\uffc6\005\uffc6\011\uffc6\013\uffc6\015\uffc6\016\uffc6\017\uffc6" +
"\020\uffc6\021\uffc6\022\uffc6\023\uffc6\024\uffc6\025\uffc6\026" +
"\uffc6\027\uffc6\030\uffc6\031\uffc6\032\uffc6\033\uffc6\001\002" +
"\000\046\002\uffbf\004\uffbf\005\uffbf\011\uffbf\013\uffbf\015" +
"\uffbf\016\uffbf\017\uffbf\020\uffbf\021\uffbf\022\uffbf\023\uffbf" +
"\024\uffbf\027\uffbf\030\uffbf\031\uffbf\032\uffbf\033\uffbf\001" +
"\002\000\046\002\uffd0\004\uffd0\005\uffd0\011\uffd0\013\uffd0" +
"\015\uffd0\016\uffd0\017\uffd0\020\uffd0\021\uffd0\022\uffd0\023" +
"\uffd0\024\uffd0\027\uffd0\030\uffd0\031\uffd0\032\uffd0\033\uffd0" +
"\001\002" });
/** Access to parse-action table. */
public short[][] action_table() {return _action_table;}
/** reduce_goto
table. */
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
"\000\154\000\070\003\007\004\050\005\026\006\036\007" +
"\037\010\013\011\015\012\011\013\004\014\022\015\051" +
"\016\023\017\032\020\035\021\034\022\046\024\031\026" +
"\030\027\014\030\010\031\012\033\027\034\043\035\052" +
"\036\020\037\006\040\042\001\001\000\016\030\010\031" +
"\012\033\027\034\043\035\155\040\042\001\001\000\002" +
"\001\001\000\016\030\010\031\012\033\027\034\043\035" +
"\154\040\042\001\001\000\002\001\001\000\002\001\001" +
"\000\004\032\147\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\070\003\007\004\050\005\026\006\036\007\124\010" +
"\013\011\015\012\011\013\004\014\022\015\051\016\023" +
"\017\032\020\035\021\034\022\046\024\031\026\030\027" +
"\014\030\010\031\012\033\027\034\043\035\052\036\020" +
"\037\006\040\042\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\002" +
"\001\001\000\002\001\001\000\002\001\001\000\004\041" +
"\077\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\052\003\007\004\050\005\026\006\036\016\065\017" +
"\032\020\035\021\034\022\046\024\031\026\030\027\014" +
"\030\010\031\012\033\027\034\043\035\052\036\020\037" +
"\006\040\042\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\052\003\007\004\050\005\026\006" +
"\036\016\060\017\032\020\035\021\034\022\046\024\031" +
"\026\030\027\014\030\010\031\012\033\027\034\043\035" +
"\052\036\020\037\006\040\042\001\001\000\052\003\007" +
"\004\050\005\026\006\036\016\057\017\032\020\035\021" +
"\034\022\046\024\031\026\030\027\014\030\010\031\012" +
"\033\027\034\043\035\052\036\020\037\006\040\042\001" +
"\001\000\052\003\007\004\050\005\026\006\036\016\056" +
"\017\032\020\035\021\034\022\046\024\031\026\030\027" +
"\014\030\010\031\012\033\027\034\043\035\052\036\020" +
"\037\006\040\042\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\016\030\010\031\012\033\027" +
"\034\043\035\064\040\042\001\001\000\016\030\010\031" +
"\012\033\027\034\043\035\063\040\042\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\074\003\007\004\050\005\026" +
"\006\036\007\073\010\013\011\015\012\011\013\004\014" +
"\022\015\051\016\023\017\032\020\035\021\034\022\046" +
"\023\071\024\031\025\072\026\030\027\014\030\010\031" +
"\012\033\027\034\043\035\052\036\020\037\006\040\042" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\074\003\007\004\050\005\026\006\036\007\073" +
"\010\013\011\015\012\011\013\004\014\022\015\051\016" +
"\023\017\032\020\035\021\034\022\046\023\075\024\031" +
"\025\072\026\030\027\014\030\010\031\012\033\027\034" +
"\043\035\052\036\020\037\006\040\042\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\016\030" +
"\010\031\012\033\027\034\043\035\106\040\042\001\001" +
"\000\016\030\010\031\012\033\027\034\043\035\105\040" +
"\042\001\001\000\070\003\007\004\050\005\026\006\036" +
"\007\103\010\013\011\015\012\011\013\004\014\022\015" +
"\051\016\023\017\032\020\035\021\034\022\046\024\031" +
"\026\030\027\014\030\010\031\012\033\027\034\043\035" +
"\052\036\020\037\006\040\042\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\050\003\007\004\050\005\026\006\036\017\032\020\035" +
"\021\034\022\110\024\031\026\030\027\014\030\010\031" +
"\012\033\027\034\043\035\052\036\020\037\006\040\042" +
"\001\001\000\002\001\001\000\016\030\010\031\012\033" +
"\027\034\043\035\114\040\042\001\001\000\016\030\010" +
"\031\012\033\027\034\043\035\113\040\042\001\001\000" +
"\002\001\001\000\002\001\001\000\074\003\007\004\050" +
"\005\026\006\036\007\073\010\013\011\015\012\011\013" +
"\004\014\022\015\051\016\023\017\032\020\035\021\034" +
"\022\046\023\116\024\031\025\072\026\030\027\014\030" +
"\010\031\012\033\027\034\043\035\052\036\020\037\006" +
"\040\042\001\001\000\002\001\001\000\002\001\001\000" +
"\054\003\007\004\050\005\026\006\036\015\123\016\023" +
"\017\032\020\035\021\034\022\046\024\031\026\030\027" +
"\014\030\010\031\012\033\027\034\043\035\052\036\020" +
"\037\006\040\042\001\001\000\054\003\007\004\050\005" +
"\026\006\036\015\122\016\023\017\032\020\035\021\034" +
"\022\046\024\031\026\030\027\014\030\010\031\012\033" +
"\027\034\043\035\052\036\020\037\006\040\042\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\060\003\007\004\050\005\026\006\036" +
"\013\141\014\022\015\051\016\023\017\032\020\035\021" +
"\034\022\046\024\031\026\030\027\014\030\010\031\012" +
"\033\027\034\043\035\052\036\020\037\006\040\042\001" +
"\001\000\060\003\007\004\050\005\026\006\036\013\130" +
"\014\022\015\051\016\023\017\032\020\035\021\034\022" +
"\046\024\031\026\030\027\014\030\010\031\012\033\027" +
"\034\043\035\052\036\020\037\006\040\042\001\001\000" +
"\002\001\001\000\056\003\007\004\050\005\026\006\036" +
"\014\140\015\051\016\023\017\032\020\035\021\034\022" +
"\046\024\031\026\030\027\014\030\010\031\012\033\027" +
"\034\043\035\052\036\020\037\006\040\042\001\001\000" +
"\056\003\007\004\050\005\026\006\036\014\137\015\051" +
"\016\023\017\032\020\035\021\034\022\046\024\031\026" +
"\030\027\014\030\010\031\012\033\027\034\043\035\052" +
"\036\020\037\006\040\042\001\001\000\056\003\007\004" +
"\050\005\026\006\036\014\136\015\051\016\023\017\032" +
"\020\035\021\034\022\046\024\031\026\030\027\014\030" +
"\010\031\012\033\027\034\043\035\052\036\020\037\006" +
"\040\042\001\001\000\056\003\007\004\050\005\026\006" +
"\036\014\135\015\051\016\023\017\032\020\035\021\034" +
"\022\046\024\031\026\030\027\014\030\010\031\012\033" +
"\027\034\043\035\052\036\020\037\006\040\042\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\064\003\007\004\050" +
"\005\026\006\036\011\015\012\143\013\004\014\022\015" +
"\051\016\023\017\032\020\035\021\034\022\046\024\031" +
"\026\030\027\014\030\010\031\012\033\027\034\043\035" +
"\052\036\020\037\006\040\042\001\001\000\002\001\001" +
"\000\062\003\007\004\050\005\026\006\036\011\145\013" +
"\004\014\022\015\051\016\023\017\032\020\035\021\034" +
"\022\046\024\031\026\030\027\014\030\010\031\012\033" +
"\027\034\043\035\052\036\020\037\006\040\042\001\001" +
"\000\002\001\001\000\002\001\001\000\006\041\151\042" +
"\152\001\001\000\002\001\001\000\006\041\151\042\153" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001" });
/** Access to reduce_goto
table. */
public short[][] reduce_table() {return _reduce_table;}
/** Instance of action encapsulation class. */
protected CUP$XSLParser$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$XSLParser$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$XSLParser$do_action(act_num, parser, stack, top);
}
/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates start production. */
public int start_production() {return 1;}
/** EOF
Symbol index. */
public int EOF_sym() {return 0;}
/** error
Symbol index. */
public int error_sym() {return 1;}
public Hashtable nsHash;
public Hashtable symbolHash;
Step tempStep;
NodeTest tempNt;
LocationPathExpr tempLPExpr;
//ExprList tmpEL1, tmpEL2;
public XSLParser (java.io.Reader input) {
super(new XSLScanner(input));
nsHash = null;
}
public XSLParser (java.io.InputStream input) {
super(new XSLScanner(input));
}
public static void main(String args[]){
try {
String s="//abc[document('',document(''))//a/b/c]";
s="./.";
XSLParser p = new XSLParser(new StringReader(s));
Object result = p.parse().value;
//System.out.println(((Expr)result).evalNumber(null));
System.out.println(((Expr)result));
}
catch (Exception e) {
System.out.println("caught: "+e);
}
}
public void setStrictScanner(boolean b){
((XSLScanner)getScanner()).setStrict(b);
}
public void report_error(String message, Object info) {
//throw new XPathParseException("Syntax error during parsing");
}
public void report_fatal_error(String message, Object info) throws XPathParseException{
throw new XPathParseException("Syntax error during parsing: "+ message);
}
public void syntax_error(Symbol cur_token) {
}
public void unrecovered_syntax_error(Symbol cur_token) throws XPathParseException{
XSLScanner scanner = (XSLScanner)getScanner();
throw new XPathParseException("XPath Syntax error: "+cur_token, scanner.getOffset());
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$XSLParser$actions {
private final XSLParser parser;
/** Constructor */
CUP$XSLParser$actions(XSLParser parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$XSLParser$do_action(
int CUP$XSLParser$act_num,
java_cup.runtime.lr_parser CUP$XSLParser$parser,
java.util.Stack CUP$XSLParser$stack,
int CUP$XSLParser$top)
throws java.lang.Exception
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$XSLParser$result;
/* select the action based on the action number */
switch (CUP$XSLParser$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // LocationPathFuncName ::= FNAME2
{
FuncName RESULT = null;
int fn2left = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int fn2right = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
FuncName fn2 = (FuncName)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT= fn2;
CUP$XSLParser$result = new java_cup.runtime.Symbol(4/*LocationPathFuncName*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // FunctionName ::= FNAME
{
FuncName RESULT = null;
int fnleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int fnright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
FuncName fn = (FuncName)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = fn;
CUP$XSLParser$result = new java_cup.runtime.Symbol(3/*FunctionName*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // VariableReference ::= DOLLAR NAME
{
Expr RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int nright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
NameType n = (NameType)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
if (parser.symbolHash.get(n.qname)==null)
throw new XPathParseException("variableExpression not declared ==> $"+n.qname);
RESULT = new VariableExpr(n.qname, (Expr)parser.symbolHash.get(n.qname));
CUP$XSLParser$result = new java_cup.runtime.Symbol(15/*VariableReference*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // Predicate ::= LB Expr RB
{
Predicate RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int eright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
RESULT = new Predicate();
RESULT.expr= e;
CUP$XSLParser$result = new java_cup.runtime.Symbol(31/*Predicate*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // AbbreviatedRelativeLocationPath ::= Step DSLASH RelativeLocationPath
{
Step RESULT = null;
int sleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int sright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Step s = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new Step();
RESULT.setAxisType(AxisType.DESCENDANT_OR_SELF);
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
RESULT.setNodeTest(parser.tempNt);
s.setNextStep(RESULT);
RESULT.setPrevStep(s);
RESULT.setNextStep(rlp);
rlp.setPrevStep(RESULT);
RESULT = s;
CUP$XSLParser$result = new java_cup.runtime.Symbol(30/*AbbreviatedRelativeLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 66: // AbbreviatedAbsoluteLocationPath ::= DSLASH RelativeLocationPath
{
Step RESULT = null;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new Step();
RESULT.setAxisType(AxisType.DESCENDANT_OR_SELF);
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
RESULT.setNodeTest(parser.tempNt);
RESULT.setNextStep(rlp);
rlp.setPrevStep(RESULT);
CUP$XSLParser$result = new java_cup.runtime.Symbol(29/*AbbreviatedAbsoluteLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // AbbreviatedStep ::= DDOT
{
Step RESULT = null;
RESULT = new Step();
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
RESULT.setAxisType(AxisType.PARENT);
RESULT.setNodeTest(parser.tempNt);
// System.out.println("result " + RESULT.toString());
CUP$XSLParser$result = new java_cup.runtime.Symbol(26/*AbbreviatedStep*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // AbbreviatedStep ::= DOT
{
Step RESULT = null;
RESULT = new Step();
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
RESULT.setAxisType(AxisType.SELF);
RESULT.setNodeTest(parser.tempNt);
CUP$XSLParser$result = new java_cup.runtime.Symbol(26/*AbbreviatedStep*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // AbbreviatedAxisSpecifier ::= AT
{
AxisType RESULT = null;
RESULT = new AxisType(); RESULT.i = AxisType.ATTRIBUTE;
CUP$XSLParser$result = new java_cup.runtime.Symbol(23/*AbbreviatedAxisSpecifier*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // AbbreviatedAxisSpecifier ::=
{
AxisType RESULT = null;
RESULT = new AxisType(); RESULT.i = AxisType.CHILD;
CUP$XSLParser$result = new java_cup.runtime.Symbol(23/*AbbreviatedAxisSpecifier*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // AxisSpecifier ::= AbbreviatedAxisSpecifier
{
AxisType RESULT = null;
int aasleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aasright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
AxisType aas = (AxisType)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = aas;
CUP$XSLParser$result = new java_cup.runtime.Symbol(22/*AxisSpecifier*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // AxisSpecifier ::= AXISNAME
{
AxisType RESULT = null;
int anleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int anright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
AxisType an = (AxisType)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = an;
CUP$XSLParser$result = new java_cup.runtime.Symbol(22/*AxisSpecifier*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // PredicateList ::= Predicate PredicateList
{
Predicate RESULT = null;
int pleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int pright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
int plleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int plright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Predicate pl = (Predicate)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
p.nextP = pl;
RESULT = p;
CUP$XSLParser$result = new java_cup.runtime.Symbol(32/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // PredicateList ::=
{
Predicate RESULT = null;
RESULT = null;
CUP$XSLParser$result = new java_cup.runtime.Symbol(32/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // nodetest ::= NTEST
{
NodeTest RESULT = null;
int n2left = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int n2right = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Ntest n2 = (Ntest)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new NodeTest();
if (n2.i!=3)
RESULT.setTestType(n2.i);
else {
if (n2.arg ==null)
RESULT.setTestType(n2.i); //PI0
else {
RESULT.setTestType(4); //PI1
RESULT.setNodeName(n2.arg);
}
}
CUP$XSLParser$result = new java_cup.runtime.Symbol(24/*nodetest*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 56: // nodetest ::= NAME
{
NodeTest RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int nright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
NameType n = (NameType)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new NodeTest();
RESULT.setTestType(NodeTest.NAMETEST);
RESULT.setNodeName(n.qname);
if (n.localname!=null){
RESULT.setNodeNameNS(n.prefix,n.localname);
if (parser.nsHash==null || parser.nsHash.get(n.prefix) ==null)
throw new XPathParseException("No URL found for prefix:"+n.prefix);
RESULT.URL = (String) parser.nsHash.get(n.prefix);
}
CUP$XSLParser$result = new java_cup.runtime.Symbol(24/*nodetest*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // Step ::= AbbreviatedStep
{
Step RESULT = null;
int absleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int absright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step abs = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = abs;
//System.out.println(" step 4");
CUP$XSLParser$result = new java_cup.runtime.Symbol(25/*Step*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 54: // Step ::= AxisSpecifier nodetest PredicateList
{
Step RESULT = null;
int asleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int asright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
AxisType as = (AxisType)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int ntleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int ntright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
NodeTest nt = (NodeTest)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
int plleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int plright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Predicate pl = (Predicate)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new Step();
RESULT.setAxisType(as.i);
if ( (as.i== AxisType.ATTRIBUTE
|| as.i == AxisType.DESCENDANT
|| as.i == AxisType.PRECEDING
|| as.i == AxisType.FOLLOWING
|| as.i == AxisType.FOLLOWING_SIBLING
|| as.i == AxisType.PRECEDING_SIBLING
|| as.i == AxisType.NAMESPACE) &&
(nt.testType>1)){
XSLScanner scanner = (XSLScanner)parser.getScanner();
throw new XPathParseException(as.getAxisString()+" axis can't operate on"+
" comment(), pi(), or text()",
scanner.getOffset());
}
RESULT.setNodeTest(nt);
RESULT.setPredicate(pl);
//System.out.println(" Step 3 ");
CUP$XSLParser$result = new java_cup.runtime.Symbol(25/*Step*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 53: // RelativeLocationPath ::= AbbreviatedRelativeLocationPath
{
Step RESULT = null;
int arlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int arlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step arlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = arlp;
CUP$XSLParser$result = new java_cup.runtime.Symbol(27/*RelativeLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // RelativeLocationPath ::= Step SLASH RelativeLocationPath
{
Step RESULT = null;
int sleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int sright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Step s = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
//if (s == rlp) throw new XPathParseException("$1 = $3!!!!");
s.nextS = rlp;
rlp.prevS = s;
RESULT= s;
CUP$XSLParser$result = new java_cup.runtime.Symbol(27/*RelativeLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // RelativeLocationPath ::= Step
{
Step RESULT = null;
int sleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int sright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step s = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = s;
CUP$XSLParser$result = new java_cup.runtime.Symbol(27/*RelativeLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // AbsoluteLocationPath ::= AbbreviatedAbsoluteLocationPath
{
Step RESULT = null;
int aalpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aalpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step aalp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = aalp;
CUP$XSLParser$result = new java_cup.runtime.Symbol(28/*AbsoluteLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 49: // AbsoluteLocationPath ::= SLASH RelativeLocationPath
{
Step RESULT = null;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = rlp;
CUP$XSLParser$result = new java_cup.runtime.Symbol(28/*AbsoluteLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // AbsoluteLocationPath ::= SLASH
{
Step RESULT = null;
RESULT = null;
CUP$XSLParser$result = new java_cup.runtime.Symbol(28/*AbsoluteLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // FunctionalLocationPath ::= LocationPathFunctionCall DSLASH RelativeLocationPath
{
LocationPathExpr RESULT = null;
int lpfcleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int lpfcright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
FuncExpr lpfc = (FuncExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
parser.tempStep = new Step();
parser.tempStep.setAxisType(AxisType.DESCENDANT_OR_SELF);
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
parser.tempStep.setNodeTest(parser.tempNt);
parser.tempStep.setNextStep(rlp);
rlp.setPrevStep(parser.tempStep);
RESULT = new FunctionalLocationPathExpr(lpfc);
//RESULT.setFunc(lpfc);
//RESULT.setPathType(LocationPathExpr.FUNC_PATH);
RESULT.setStep(parser.tempStep);
CUP$XSLParser$result = new java_cup.runtime.Symbol(21/*FunctionalLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // FunctionalLocationPath ::= LocationPathFunctionCall SLASH RelativeLocationPath
{
LocationPathExpr RESULT = null;
int lpfcleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int lpfcright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
FuncExpr lpfc = (FuncExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new FunctionalLocationPathExpr(lpfc);
//RESULT.setFunc(lpfc);
//RESULT.setPathType(LocationPathExpr.FUNC_PATH);
RESULT.setStep(rlp);
CUP$XSLParser$result = new java_cup.runtime.Symbol(21/*FunctionalLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // FunctionalLocationPath ::= LocationPathFunctionCall
{
LocationPathExpr RESULT = null;
int lpfcleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int lpfcright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
FuncExpr lpfc = (FuncExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new FunctionalLocationPathExpr(lpfc);
//RESULT.setFunc(lpfc);
//RESULT.setPathType(LocationPathExpr.FUNC_PATH);
CUP$XSLParser$result = new java_cup.runtime.Symbol(21/*FunctionalLocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // LocationPath ::= FunctionalLocationPath
{
LocationPathExpr RESULT = null;
int flpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int flpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
LocationPathExpr flp = (LocationPathExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = flp;
CUP$XSLParser$result = new java_cup.runtime.Symbol(20/*LocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // LocationPath ::= AbsoluteLocationPath
{
LocationPathExpr RESULT = null;
int alpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int alpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step alp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new LocationPathExpr();
RESULT.setPathType(LocationPathExpr.ABSOLUTE_PATH);
//System.out.println(" absolute ");
RESULT.setStep(alp);
//startStep = currentStep=null;
CUP$XSLParser$result = new java_cup.runtime.Symbol(20/*LocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // LocationPath ::= RelativeLocationPath
{
LocationPathExpr RESULT = null;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new LocationPathExpr();
RESULT.setStep(rlp);
CUP$XSLParser$result = new java_cup.runtime.Symbol(20/*LocationPath*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // Argument ::= Expr
{
Expr RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int eright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = e;
CUP$XSLParser$result = new java_cup.runtime.Symbol(19/*Argument*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // ArgumentList ::= Argument COMMA ArgumentList
{
Alist RESULT = null;
int aleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int aright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int alleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int alright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Alist al = (Alist)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new Alist();
RESULT.e = a;
RESULT.next = al;
CUP$XSLParser$result = new java_cup.runtime.Symbol(17/*ArgumentList*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // ArgumentList ::= Argument
{
Alist RESULT = null;
int aleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new Alist();
RESULT.e = a;
CUP$XSLParser$result = new java_cup.runtime.Symbol(17/*ArgumentList*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // ArgumentList ::=
{
Alist RESULT = null;
RESULT = null;
CUP$XSLParser$result = new java_cup.runtime.Symbol(17/*ArgumentList*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // LocationPathFunctionCall ::= LocationPathFuncName LP ArgumentList RP
{
FuncExpr RESULT = null;
int lpfnleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).left;
int lpfnright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).right;
FuncName lpfn = (FuncName)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).value;
int alleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int alright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Alist al = (Alist)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
FuncExpr tfe = new FuncExpr(lpfn.i, al);
if (!tfe.checkArgumentCount())
throw new XPathParseException(" argument input for function "+tfe.fname()+" incorrect");
RESULT = tfe;
CUP$XSLParser$result = new java_cup.runtime.Symbol(2/*LocationPathFunctionCall*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // FunctionCall ::= FunctionName LP ArgumentList RP
{
FuncExpr RESULT = null;
int fnleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).left;
int fnright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).right;
FuncName fn = (FuncName)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).value;
int alleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int alright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Alist al = (Alist)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
FuncExpr tfe = new FuncExpr(fn.i, al);
if (!tfe.checkArgumentCount())
throw new XPathParseException(" argument input for function "+tfe.fname()+" incorrect");
RESULT = tfe;
CUP$XSLParser$result = new java_cup.runtime.Symbol(1/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // PrimaryExpr ::= FunctionCall
{
Expr RESULT = null;
int fcleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int fcright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
FuncExpr fc = (FuncExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = fc;
CUP$XSLParser$result = new java_cup.runtime.Symbol(18/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // PrimaryExpr ::= NUMBER
{
Expr RESULT = null;
int neleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int neright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Double ne = (Double)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new NumExpr(ne.doubleValue());
CUP$XSLParser$result = new java_cup.runtime.Symbol(18/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // PrimaryExpr ::= LITERAL
{
Expr RESULT = null;
int leleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int leright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
String le = (String)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new LiteralExpr(le);
CUP$XSLParser$result = new java_cup.runtime.Symbol(18/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // PrimaryExpr ::= LP Expr RP
{
Expr RESULT = null;
int eleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int eright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
RESULT = e;
CUP$XSLParser$result = new java_cup.runtime.Symbol(18/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // PrimaryExpr ::= VariableReference
{
Expr RESULT = null;
int veleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int veright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ve = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = ve;
CUP$XSLParser$result = new java_cup.runtime.Symbol(18/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // FilterExpr ::= FilterExpr Predicate
{
Expr RESULT = null;
int feleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int feright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Expr fe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
int pleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int pright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Predicate p = (Predicate)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new FilterExpr(fe, p);
CUP$XSLParser$result = new java_cup.runtime.Symbol(14/*FilterExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // FilterExpr ::= PrimaryExpr
{
Expr RESULT = null;
int peleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int peright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr pe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = pe;
CUP$XSLParser$result = new java_cup.runtime.Symbol(14/*FilterExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // PathExpr ::= FilterExpr DSLASH RelativeLocationPath
{
Expr RESULT = null;
int feleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int feright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr fe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
parser.tempStep = new Step();
parser.tempStep.setAxisType(AxisType.DESCENDANT_OR_SELF);
parser.tempNt = new NodeTest();
parser.tempNt.setTestType(NodeTest.NODE);
parser.tempStep.setNodeTest(parser.tempNt);
parser.tempStep.setNextStep(rlp);
rlp.setPrevStep(parser.tempStep);
/*parser.tempStep2 = new Step();
parser.tempNt = new NodeTest();
parser.tempStep2.setAxisType(AxisType.SELF);
parser.tempNt.setTestType(NodeTest.NODE);
parser.tempStep2.setNodeTest(parser.tempNt);
parser.tempStep2.setNextStep(parser.tempStep);
parser.tempStep.setPrevStep(parser.tempStep2);*/
parser.tempLPExpr = new LocationPathExpr();
parser.tempLPExpr.setStep(parser.tempStep);
RESULT = new PathExpr(fe, parser.tempLPExpr);
CUP$XSLParser$result = new java_cup.runtime.Symbol(13/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // PathExpr ::= FilterExpr SLASH RelativeLocationPath
{
Expr RESULT = null;
int feleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int feright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr fe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int rlpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int rlpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Step rlp = (Step)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
parser.tempLPExpr = new LocationPathExpr();
parser.tempLPExpr.setStep(rlp);
RESULT = new PathExpr(fe, parser.tempLPExpr);
CUP$XSLParser$result = new java_cup.runtime.Symbol(13/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // PathExpr ::= FilterExpr
{
Expr RESULT = null;
int feleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int feright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr fe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = fe;
CUP$XSLParser$result = new java_cup.runtime.Symbol(13/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // PathExpr ::= LocationPath
{
Expr RESULT = null;
int lpleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int lpright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
LocationPathExpr lp = (LocationPathExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = lp;
CUP$XSLParser$result = new java_cup.runtime.Symbol(13/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // UnionExpr ::= PathExpr UNION UnionExpr
{
UnionExpr RESULT = null;
int peleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int peright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr pe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int uneleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int uneright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
UnionExpr une = (UnionExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new UnionExpr(pe);
RESULT.next = une;
CUP$XSLParser$result = new java_cup.runtime.Symbol(16/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // UnionExpr ::= PathExpr
{
UnionExpr RESULT = null;
int peleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int peright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr pe = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new UnionExpr(pe);
CUP$XSLParser$result = new java_cup.runtime.Symbol(16/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // UnaryExpr ::= SUB UnaryExpr
{
Expr RESULT = null;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ue = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new UnaryExpr( BinaryExpr.SUB, ue);
CUP$XSLParser$result = new java_cup.runtime.Symbol(12/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // UnaryExpr ::= UnionExpr
{
Expr RESULT = null;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
UnionExpr ue = (UnionExpr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = ue;
CUP$XSLParser$result = new java_cup.runtime.Symbol(12/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // MultiplicativeExpr ::= MultiplicativeExpr MOD UnaryExpr
{
Expr RESULT = null;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ue = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(me, BinaryExpr.MOD, ue);
CUP$XSLParser$result = new java_cup.runtime.Symbol(11/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // MultiplicativeExpr ::= MultiplicativeExpr DIV UnaryExpr
{
Expr RESULT = null;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ue = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(me, BinaryExpr.DIV, ue);
CUP$XSLParser$result = new java_cup.runtime.Symbol(11/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // MultiplicativeExpr ::= MultiplicativeExpr MULT UnaryExpr
{
Expr RESULT = null;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ue = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(me, BinaryExpr.MULT, ue);
CUP$XSLParser$result = new java_cup.runtime.Symbol(11/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // MultiplicativeExpr ::= UnaryExpr
{
Expr RESULT = null;
int ueleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int ueright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ue = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = ue;
CUP$XSLParser$result = new java_cup.runtime.Symbol(11/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // AdditiveExpr ::= AdditiveExpr SUB MultiplicativeExpr
{
Expr RESULT = null;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(ae, BinaryExpr.SUB, me);
CUP$XSLParser$result = new java_cup.runtime.Symbol(10/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // AdditiveExpr ::= AdditiveExpr ADD MultiplicativeExpr
{
Expr RESULT = null;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(ae, BinaryExpr.ADD, me);
CUP$XSLParser$result = new java_cup.runtime.Symbol(10/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // AdditiveExpr ::= MultiplicativeExpr
{
Expr RESULT = null;
int meleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int meright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr me = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = me;
CUP$XSLParser$result = new java_cup.runtime.Symbol(10/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // RelationalExpr ::= RelationalExpr GE AdditiveExpr
{
Expr RESULT = null;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(re, BinaryExpr.GE, ae);
CUP$XSLParser$result = new java_cup.runtime.Symbol(9/*RelationalExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // RelationalExpr ::= RelationalExpr LE AdditiveExpr
{
Expr RESULT = null;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(re, BinaryExpr.LE, ae);
CUP$XSLParser$result = new java_cup.runtime.Symbol(9/*RelationalExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // RelationalExpr ::= RelationalExpr GT AdditiveExpr
{
Expr RESULT = null;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(re, BinaryExpr.GT, ae);
CUP$XSLParser$result = new java_cup.runtime.Symbol(9/*RelationalExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // RelationalExpr ::= RelationalExpr LT AdditiveExpr
{
Expr RESULT = null;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(re, BinaryExpr.LT, ae);
CUP$XSLParser$result = new java_cup.runtime.Symbol(9/*RelationalExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // RelationalExpr ::= AdditiveExpr
{
Expr RESULT = null;
int aeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ae = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = ae;
CUP$XSLParser$result = new java_cup.runtime.Symbol(9/*RelationalExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // EqualityExpr ::= EqualityExpr NE RelationalExpr
{
Expr RESULT = null;
int eeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int eeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr ee = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(ee, BinaryExpr.NE, re);
CUP$XSLParser$result = new java_cup.runtime.Symbol(7/*EqualityExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // EqualityExpr ::= EqualityExpr EQ RelationalExpr
{
Expr RESULT = null;
int eeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int eeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr ee = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(ee, BinaryExpr.EQ, re);
CUP$XSLParser$result = new java_cup.runtime.Symbol(7/*EqualityExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // EqualityExpr ::= RelationalExpr
{
Expr RESULT = null;
int releft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int reright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr re = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = re;
CUP$XSLParser$result = new java_cup.runtime.Symbol(7/*EqualityExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // AndExpr ::= AndExpr AND EqualityExpr
{
Expr RESULT = null;
int aleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int aright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int eeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int eeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ee = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(a, BinaryExpr.AND, ee);
CUP$XSLParser$result = new java_cup.runtime.Symbol(8/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // AndExpr ::= EqualityExpr
{
Expr RESULT = null;
int eeleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int eeright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr ee = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = ee;
CUP$XSLParser$result = new java_cup.runtime.Symbol(8/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // OrExpr ::= OrExpr OR AndExpr
{
Expr RESULT = null;
int oleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left;
int oright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).right;
Expr o = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = new BinaryExpr(o,BinaryExpr.OR,a);
CUP$XSLParser$result = new java_cup.runtime.Symbol(6/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // OrExpr ::= AndExpr
{
Expr RESULT = null;
int aleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int aright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = a;
CUP$XSLParser$result = new java_cup.runtime.Symbol(6/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // $START ::= Expr EOF
{
Object RESULT = null;
int start_valleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left;
int start_valright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).right;
Expr start_val = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).value;
RESULT = start_val;
CUP$XSLParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
/* ACCEPT */
CUP$XSLParser$parser.done_parsing();
return CUP$XSLParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 0: // Expr ::= OrExpr
{
Expr RESULT = null;
int oleft = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left;
int oright = ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right;
Expr o = (Expr)((java_cup.runtime.Symbol) CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).value;
RESULT = o;
CUP$XSLParser$result = new java_cup.runtime.Symbol(5/*Expr*/, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$XSLParser$stack.elementAt(CUP$XSLParser$top-0)).right, RESULT);
}
return CUP$XSLParser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}