1/* 2 * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package com.sun.org.apache.xalan.internal.xsltc.compiler; 27 28import java.util.Stack; 29import java.util.Vector; 30import java.io.StringReader; 31import com.sun.java_cup.internal.runtime.*; 32import com.sun.org.apache.xml.internal.dtm.DTM; 33import com.sun.org.apache.xalan.internal.xsltc.DOM; 34import com.sun.org.apache.xml.internal.dtm.Axis; 35import com.sun.org.apache.xalan.internal.xsltc.runtime.Operators; 36import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg; 37 38/** 39 * CUP v0.10j generated parser. 40 * This class was generated by CUP v0.10j on Thu Oct 06 10:09:26 PDT 2005. 41 */ 42public class XPathParser extends com.sun.java_cup.internal.runtime.lr_parser { 43 44 /** Default constructor. */ 45 public XPathParser() {super();} 46 47 /** Constructor which sets the default scanner. */ 48 public XPathParser(com.sun.java_cup.internal.runtime.Scanner s) {super(s);} 49 50 /** Production table. */ 51 protected static final short _production_table[][] = 52 unpackFromStrings(new String[] { 53 "\000\215\000\002\002\004\000\002\003\004\000\002\003" + 54 "\004\000\002\036\003\000\002\036\005\000\002\037\003" + 55 "\000\002\037\004\000\002\037\003\000\002\037\005\000" + 56 "\002\037\005\000\002\037\004\000\002\037\003\000\002" + 57 "\035\006\000\002\035\010\000\002\040\006\000\002\041" + 58 "\003\000\002\041\005\000\002\041\005\000\002\042\003" + 59 "\000\002\042\004\000\002\042\003\000\002\042\004\000" + 60 "\002\042\004\000\002\042\005\000\002\042\004\000\002" + 61 "\042\005\000\002\043\003\000\002\043\003\000\002\043" + 62 "\003\000\002\043\003\000\002\043\003\000\002\044\003" + 63 "\000\002\044\003\000\002\054\003\000\002\054\004\000" + 64 "\002\054\004\000\002\045\003\000\002\045\004\000\002" + 65 "\007\005\000\002\004\003\000\002\012\003\000\002\012" + 66 "\005\000\002\013\003\000\002\013\005\000\002\014\003" + 67 "\000\002\014\005\000\002\014\005\000\002\015\003\000" + 68 "\002\015\005\000\002\015\005\000\002\015\005\000\002" + 69 "\015\005\000\002\016\003\000\002\016\005\000\002\016" + 70 "\005\000\002\017\003\000\002\017\005\000\002\017\005" + 71 "\000\002\017\005\000\002\020\003\000\002\020\004\000" + 72 "\002\024\003\000\002\024\005\000\002\025\003\000\002" + 73 "\025\003\000\002\025\005\000\002\025\005\000\002\006" + 74 "\003\000\002\006\003\000\002\027\003\000\002\027\005" + 75 "\000\002\027\003\000\002\031\003\000\002\031\004\000" + 76 "\002\031\003\000\002\030\005\000\002\032\004\000\002" + 77 "\011\003\000\002\011\004\000\002\011\005\000\002\011" + 78 "\004\000\002\011\003\000\002\053\004\000\002\053\003" + 79 "\000\002\052\003\000\002\052\003\000\002\052\003\000" + 80 "\002\052\003\000\002\052\003\000\002\052\003\000\002" + 81 "\052\003\000\002\052\003\000\002\052\003\000\002\052" + 82 "\003\000\002\052\003\000\002\052\003\000\002\052\003" + 83 "\000\002\026\003\000\002\026\003\000\002\010\003\000" + 84 "\002\010\004\000\002\023\003\000\002\023\005\000\002" + 85 "\023\003\000\002\023\003\000\002\023\003\000\002\023" + 86 "\003\000\002\021\004\000\002\022\005\000\002\022\006" + 87 "\000\002\046\003\000\002\046\005\000\002\050\003\000" + 88 "\002\051\003\000\002\005\003\000\002\033\003\000\002" + 89 "\033\003\000\002\033\003\000\002\033\003\000\002\033" + 90 "\006\000\002\033\003\000\002\034\003\000\002\034\003" + 91 "\000\002\047\003\000\002\047\003\000\002\047\003\000" + 92 "\002\047\003\000\002\047\003\000\002\047\003\000\002" + 93 "\047\003\000\002\047\003\000\002\047\003\000\002\047" + 94 "\003\000\002\047\003\000\002\047\003\000\002\047\003" + 95 "\000\002\047\003\000\002\047\003\000\002\047\003\000" + 96 "\002\047\003\000\002\047\003" }); 97 98 /** Access to production table. */ 99 public short[][] production_table() {return _production_table;} 100 101 /** Parse-action table. */ 102 protected static final short[][] _action_table = 103 unpackFromStrings(new String[] { 104 "\000\307\000\006\066\006\067\005\001\002\000\004\002" + 105 "\311\001\002\000\110\004\061\005\111\011\071\013\103" + 106 "\015\134\016\066\017\106\021\070\031\075\032\031\033" + 107 "\040\034\057\035\034\036\113\037\141\040\142\041\145" + 108 "\044\063\045\062\046\065\047\115\050\123\051\136\052" + 109 "\077\053\143\054\131\055\125\056\116\057\104\060\140" + 110 "\061\067\062\060\063\127\064\132\065\072\001\002\000" + 111 "\070\004\013\013\027\016\020\021\023\032\031\033\040" + 112 "\035\034\036\033\037\046\040\047\041\051\044\015\045" + 113 "\014\046\016\047\036\050\037\051\044\052\025\053\050" + 114 "\054\043\055\041\056\035\057\030\060\045\061\021\062" + 115 "\012\063\042\001\002\000\006\002\ufffe\010\306\001\002" + 116 "\000\004\002\000\001\002\000\014\002\uffe7\004\uffe7\006" + 117 "\uffe7\010\uffe7\021\uffe7\001\002\000\054\002\uff7a\004\uff7a" + 118 "\006\uff7a\007\uff7a\010\uff7a\012\uff7a\013\uff7a\014\uff7a\021" + 119 "\uff7a\022\uff7a\023\uff7a\024\uff7a\025\uff7a\026\uff7a\027\uff7a" + 120 "\030\uff7a\031\uff7a\032\uff7a\033\uff7a\042\uff7a\043\uff7a\001" + 121 "\002\000\070\002\ufffc\010\ufffc\013\027\016\020\032\031" + 122 "\033\040\035\034\036\113\037\141\040\047\041\051\044" + 123 "\015\045\014\046\016\047\036\050\037\051\044\052\025" + 124 "\053\050\054\043\055\041\056\035\057\030\060\045\061" + 125 "\021\062\012\063\042\001\002\000\014\002\uffe3\004\uffe3" + 126 "\006\uffe3\010\uffe3\021\uffe3\001\002\000\014\002\uffe4\004" + 127 "\uffe4\006\uffe4\010\uffe4\021\uffe4\001\002\000\004\011\302" + 128 "\001\002\000\012\002\ufffa\004\277\010\ufffa\021\276\001" + 129 "\002\000\062\013\uffe0\032\uffe0\033\uffe0\035\uffe0\036\uffe0" + 130 "\037\uffe0\040\uffe0\041\uffe0\044\uffe0\045\uffe0\046\uffe0\047" + 131 "\uffe0\050\uffe0\051\uffe0\052\uffe0\053\uffe0\054\uffe0\055\uffe0" + 132 "\056\uffe0\057\uffe0\060\uffe0\061\uffe0\062\uffe0\063\uffe0\001" + 133 "\002\000\054\002\uff7b\004\uff7b\006\uff7b\007\uff7b\010\uff7b" + 134 "\012\uff7b\013\uff7b\014\uff7b\021\uff7b\022\uff7b\023\uff7b\024" + 135 "\uff7b\025\uff7b\026\uff7b\027\uff7b\030\uff7b\031\uff7b\032\uff7b" + 136 "\033\uff7b\042\uff7b\043\uff7b\001\002\000\062\013\027\032" + 137 "\031\033\040\035\034\036\113\037\141\040\047\041\051" + 138 "\044\015\045\014\046\016\047\036\050\037\051\044\052" + 139 "\170\053\166\054\043\055\041\056\035\057\030\060\045" + 140 "\061\021\062\012\063\042\001\002\000\064\013\027\016" + 141 "\020\032\031\033\040\035\034\036\113\037\141\040\047" + 142 "\041\051\044\015\045\014\046\016\047\036\050\037\051" + 143 "\044\052\025\053\050\054\043\055\041\056\035\057\030" + 144 "\060\045\061\021\062\012\063\042\001\002\000\012\002" + 145 "\ufff2\004\266\010\ufff2\021\265\001\002\000\016\002\uff7f" + 146 "\004\uff7f\006\uff7f\010\uff7f\020\264\021\uff7f\001\002\000" + 147 "\006\002\ufff6\010\ufff6\001\002\000\014\002\uffe2\004\uffe2" + 148 "\006\uffe2\010\uffe2\021\uffe2\001\002\000\054\002\uff7d\004" + 149 "\uff7d\006\uff7d\007\uff7d\010\uff7d\012\uff7d\013\uff7d\014\uff7d" + 150 "\021\uff7d\022\uff7d\023\uff7d\024\uff7d\025\uff7d\026\uff7d\027" + 151 "\uff7d\030\uff7d\031\uff7d\032\uff7d\033\uff7d\042\uff7d\043\uff7d" + 152 "\001\002\000\056\002\uff85\004\uff85\006\uff85\007\uff85\010" + 153 "\uff85\011\uff85\012\uff85\013\uff85\014\uff85\021\uff85\022\uff85" + 154 "\023\uff85\024\uff85\025\uff85\026\uff85\027\uff85\030\uff85\031" + 155 "\uff85\032\uff85\033\uff85\042\uff85\043\uff85\001\002\000\014" + 156 "\002\uffed\004\uffed\006\055\010\uffed\021\uffed\001\002\000" + 157 "\016\002\uff75\004\uff75\006\uff75\010\uff75\011\260\021\uff75" + 158 "\001\002\000\056\002\uff86\004\uff86\006\uff86\007\uff86\010" + 159 "\uff86\011\uff86\012\uff86\013\uff86\014\uff86\021\uff86\022\uff86" + 160 "\023\uff86\024\uff86\025\uff86\026\uff86\027\uff86\030\uff86\031" + 161 "\uff86\032\uff86\033\uff86\042\uff86\043\uff86\001\002\000\054" + 162 "\002\uff7e\004\uff7e\006\uff7e\007\uff7e\010\uff7e\012\uff7e\013" + 163 "\uff7e\014\uff7e\021\uff7e\022\uff7e\023\uff7e\024\uff7e\025\uff7e" + 164 "\026\uff7e\027\uff7e\030\uff7e\031\uff7e\032\uff7e\033\uff7e\042" + 165 "\uff7e\043\uff7e\001\002\000\054\002\uff77\004\uff77\006\uff77" + 166 "\007\uff77\010\uff77\012\uff77\013\uff77\014\uff77\021\uff77\022" + 167 "\uff77\023\uff77\024\uff77\025\uff77\026\uff77\027\uff77\030\uff77" + 168 "\031\uff77\032\uff77\033\uff77\042\uff77\043\uff77\001\002\000" + 169 "\054\002\uff76\004\uff76\006\uff76\007\uff76\010\uff76\012\uff76" + 170 "\013\uff76\014\uff76\021\uff76\022\uff76\023\uff76\024\uff76\025" + 171 "\uff76\026\uff76\027\uff76\030\uff76\031\uff76\032\uff76\033\uff76" + 172 "\042\uff76\043\uff76\001\002\000\056\002\uff84\004\uff84\006" + 173 "\uff84\007\uff84\010\uff84\011\uff84\012\uff84\013\uff84\014\uff84" + 174 "\021\uff84\022\uff84\023\uff84\024\uff84\025\uff84\026\uff84\027" + 175 "\uff84\030\uff84\031\uff84\032\uff84\033\uff84\042\uff84\043\uff84" + 176 "\001\002\000\054\002\uff81\004\uff81\006\uff81\007\uff81\010" + 177 "\uff81\012\uff81\013\uff81\014\uff81\021\uff81\022\uff81\023\uff81" + 178 "\024\uff81\025\uff81\026\uff81\027\uff81\030\uff81\031\uff81\032" + 179 "\uff81\033\uff81\042\uff81\043\uff81\001\002\000\054\002\uff78" + 180 "\004\uff78\006\uff78\007\uff78\010\uff78\012\uff78\013\uff78\014" + 181 "\uff78\021\uff78\022\uff78\023\uff78\024\uff78\025\uff78\026\uff78" + 182 "\027\uff78\030\uff78\031\uff78\032\uff78\033\uff78\042\uff78\043" + 183 "\uff78\001\002\000\054\002\uff82\004\uff82\006\uff82\007\uff82" + 184 "\010\uff82\012\uff82\013\uff82\014\uff82\021\uff82\022\uff82\023" + 185 "\uff82\024\uff82\025\uff82\026\uff82\027\uff82\030\uff82\031\uff82" + 186 "\032\uff82\033\uff82\042\uff82\043\uff82\001\002\000\054\002" + 187 "\uff79\004\uff79\006\uff79\007\uff79\010\uff79\012\uff79\013\uff79" + 188 "\014\uff79\021\uff79\022\uff79\023\uff79\024\uff79\025\uff79\026" + 189 "\uff79\027\uff79\030\uff79\031\uff79\032\uff79\033\uff79\042\uff79" + 190 "\043\uff79\001\002\000\054\002\uff7c\004\uff7c\006\uff7c\007" + 191 "\uff7c\010\uff7c\012\uff7c\013\uff7c\014\uff7c\021\uff7c\022\uff7c" + 192 "\023\uff7c\024\uff7c\025\uff7c\026\uff7c\027\uff7c\030\uff7c\031" + 193 "\uff7c\032\uff7c\033\uff7c\042\uff7c\043\uff7c\001\002\000\016" + 194 "\002\uff83\004\uff83\006\uff83\010\uff83\011\253\021\uff83\001" + 195 "\002\000\014\002\uffe5\004\uffe5\006\uffe5\010\uffe5\021\uffe5" + 196 "\001\002\000\016\002\uff80\004\uff80\006\uff80\010\uff80\020" + 197 "\252\021\uff80\001\002\000\014\002\uffe6\004\uffe6\006\uffe6" + 198 "\010\uffe6\021\uffe6\001\002\000\014\002\uffe1\004\uffe1\006" + 199 "\uffe1\010\uffe1\021\uffe1\001\002\000\014\002\uffef\004\uffef" + 200 "\006\055\010\uffef\021\uffef\001\002\000\054\002\uffdd\004" + 201 "\uffdd\006\055\007\uffdd\010\uffdd\012\uffdd\013\uffdd\014\uffdd" + 202 "\021\uffdd\022\uffdd\023\uffdd\024\uffdd\025\uffdd\026\uffdd\027" + 203 "\uffdd\030\uffdd\031\uffdd\032\uffdd\033\uffdd\042\uffdd\043\uffdd" + 204 "\001\002\000\110\004\061\005\111\011\071\013\103\015" + 205 "\134\016\066\017\106\021\070\031\075\032\031\033\040" + 206 "\034\057\035\034\036\113\037\141\040\142\041\145\044" + 207 "\063\045\062\046\065\047\115\050\123\051\136\052\077" + 208 "\053\143\054\131\055\125\056\116\057\104\060\140\061" + 209 "\067\062\060\063\127\064\132\065\072\001\002\000\012" + 210 "\002\uffee\004\uffee\010\uffee\021\uffee\001\002\000\054\002" + 211 "\uff9a\004\uff9a\006\uff9a\007\uff9a\010\uff9a\012\uff9a\013\uff9a" + 212 "\014\uff9a\021\uff9a\022\uff9a\023\uff9a\024\uff9a\025\uff9a\026" + 213 "\uff9a\027\uff9a\030\uff9a\031\uff9a\032\uff9a\033\uff9a\042\uff9a" + 214 "\043\uff9a\001\002\000\060\002\uff7a\004\uff7a\006\uff7a\007" + 215 "\uff7a\010\uff7a\011\uff7a\012\uff7a\013\uff7a\014\uff7a\020\uffa5" + 216 "\021\uff7a\022\uff7a\023\uff7a\024\uff7a\025\uff7a\026\uff7a\027" + 217 "\uff7a\030\uff7a\031\uff7a\032\uff7a\033\uff7a\042\uff7a\043\uff7a" + 218 "\001\002\000\126\002\uffb9\005\111\007\uffb9\010\uffb9\012" + 219 "\uffb9\013\103\014\uffb9\016\066\017\106\022\uffb9\023\uffb9" + 220 "\024\uffb9\025\uffb9\026\uffb9\027\uffb9\030\uffb9\031\uffb9\032" + 221 "\031\033\040\035\034\036\113\037\141\040\142\041\145" + 222 "\042\uffb9\043\uffb9\044\063\045\062\046\065\047\115\050" + 223 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 224 "\057\104\060\140\061\067\062\060\063\127\001\002\000" + 225 "\054\002\uff89\004\uff89\006\uff89\007\uff89\010\uff89\012\uff89" + 226 "\013\uff89\014\uff89\021\uff89\022\uff89\023\uff89\024\uff89\025" + 227 "\uff89\026\uff89\027\uff89\030\uff89\031\uff89\032\uff89\033\uff89" + 228 "\042\uff89\043\uff89\001\002\000\054\002\uff8b\004\uff8b\006" + 229 "\uff8b\007\uff8b\010\uff8b\012\uff8b\013\uff8b\014\uff8b\021\uff8b" + 230 "\022\uff8b\023\uff8b\024\uff8b\025\uff8b\026\uff8b\027\uff8b\030" + 231 "\uff8b\031\uff8b\032\uff8b\033\uff8b\042\uff8b\043\uff8b\001\002" + 232 "\000\032\002\uffd5\007\uffd5\012\uffd5\014\uffd5\022\uffd5\023" + 233 "\uffd5\024\221\025\222\026\223\027\224\042\uffd5\043\uffd5" + 234 "\001\002\000\004\011\245\001\002\000\062\013\uffae\032" + 235 "\uffae\033\uffae\035\uffae\036\uffae\037\uffae\040\uffae\041\uffae" + 236 "\044\uffae\045\uffae\046\uffae\047\uffae\050\uffae\051\uffae\052" + 237 "\uffae\053\uffae\054\uffae\055\uffae\056\uffae\057\uffae\060\uffae" + 238 "\061\uffae\062\uffae\063\uffae\001\002\000\060\002\uff7b\004" + 239 "\uff7b\006\uff7b\007\uff7b\010\uff7b\011\uff7b\012\uff7b\013\uff7b" + 240 "\014\uff7b\020\uffa6\021\uff7b\022\uff7b\023\uff7b\024\uff7b\025" + 241 "\uff7b\026\uff7b\027\uff7b\030\uff7b\031\uff7b\032\uff7b\033\uff7b" + 242 "\042\uff7b\043\uff7b\001\002\000\070\005\111\013\103\016" + 243 "\066\017\106\032\031\033\040\035\034\036\113\037\141" + 244 "\040\142\041\145\044\063\045\062\046\065\047\115\050" + 245 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 246 "\057\104\060\140\061\067\062\060\063\127\001\002\000" + 247 "\110\004\061\005\111\011\071\013\103\015\134\016\066" + 248 "\017\106\021\070\031\075\032\031\033\040\034\057\035" + 249 "\034\036\113\037\141\040\142\041\145\044\063\045\062" + 250 "\046\065\047\115\050\123\051\136\052\077\053\143\054" + 251 "\131\055\125\056\116\057\104\060\140\061\067\062\060" + 252 "\063\127\064\132\065\072\001\002\000\054\002\uff99\004" + 253 "\uff99\006\uff99\007\uff99\010\uff99\012\uff99\013\uff99\014\uff99" + 254 "\021\uff99\022\uff99\023\uff99\024\uff99\025\uff99\026\uff99\027" + 255 "\uff99\030\uff99\031\uff99\032\uff99\033\uff99\042\uff99\043\uff99" + 256 "\001\002\000\046\002\uffb7\007\uffb7\010\uffb7\012\uffb7\013" + 257 "\uffb7\014\uffb7\022\uffb7\023\uffb7\024\uffb7\025\uffb7\026\uffb7" + 258 "\027\uffb7\030\uffb7\031\uffb7\032\uffb7\033\uffb7\042\uffb7\043" + 259 "\uffb7\001\002\000\054\002\uff97\004\uff97\006\uff97\007\uff97" + 260 "\010\uff97\012\uff97\013\uff97\014\uff97\021\uff97\022\uff97\023" + 261 "\uff97\024\uff97\025\uff97\026\uff97\027\uff97\030\uff97\031\uff97" + 262 "\032\uff97\033\uff97\042\uff97\043\uff97\001\002\000\110\004" + 263 "\061\005\111\011\071\013\103\015\134\016\066\017\106" + 264 "\021\070\031\075\032\031\033\040\034\057\035\034\036" + 265 "\113\037\141\040\142\041\145\044\063\045\062\046\065" + 266 "\047\115\050\123\051\136\052\077\053\143\054\131\055" + 267 "\125\056\116\057\104\060\140\061\067\062\060\063\127" + 268 "\064\132\065\072\001\002\000\016\002\uffd9\007\uffd9\012" + 269 "\uffd9\014\uffd9\042\uffd9\043\234\001\002\000\060\002\uff7f" + 270 "\004\uff7f\006\uff7f\007\uff7f\010\uff7f\011\uff7f\012\uff7f\013" + 271 "\uff7f\014\uff7f\020\uffaa\021\uff7f\022\uff7f\023\uff7f\024\uff7f" + 272 "\025\uff7f\026\uff7f\027\uff7f\030\uff7f\031\uff7f\032\uff7f\033" + 273 "\uff7f\042\uff7f\043\uff7f\001\002\000\062\013\103\032\031" + 274 "\033\040\035\034\036\113\037\141\040\142\041\145\044" + 275 "\063\045\062\046\065\047\036\050\037\051\044\052\170" + 276 "\053\166\054\043\055\041\056\035\057\030\060\045\061" + 277 "\021\062\012\063\042\001\002\000\004\020\236\001\002" + 278 "\000\014\002\uffda\007\uffda\012\uffda\014\uffda\042\232\001" + 279 "\002\000\054\002\uff88\004\uff88\006\uff88\007\uff88\010\uff88" + 280 "\012\uff88\013\uff88\014\uff88\021\uff88\022\uff88\023\uff88\024" + 281 "\uff88\025\uff88\026\uff88\027\uff88\030\uff88\031\uff88\032\uff88" + 282 "\033\uff88\042\uff88\043\uff88\001\002\000\060\002\uff7d\004" + 283 "\uff7d\006\uff7d\007\uff7d\010\uff7d\011\uff7d\012\uff7d\013\uff7d" + 284 "\014\uff7d\020\uffa8\021\uff7d\022\uff7d\023\uff7d\024\uff7d\025" + 285 "\uff7d\026\uff7d\027\uff7d\030\uff7d\031\uff7d\032\uff7d\033\uff7d" + 286 "\042\uff7d\043\uff7d\001\002\000\022\002\uffd7\007\uffd7\012" + 287 "\uffd7\014\uffd7\022\216\023\217\042\uffd7\043\uffd7\001\002" + 288 "\000\052\002\uff9f\004\uff9f\007\uff9f\010\uff9f\012\uff9f\013" + 289 "\uff9f\014\uff9f\021\uff9f\022\uff9f\023\uff9f\024\uff9f\025\uff9f" + 290 "\026\uff9f\027\uff9f\030\uff9f\031\uff9f\032\uff9f\033\uff9f\042" + 291 "\uff9f\043\uff9f\001\002\000\054\002\uffb4\004\uffb4\006\055" + 292 "\007\uffb4\010\uffb4\012\uffb4\013\uffb4\014\uffb4\021\uffb4\022" + 293 "\uffb4\023\uffb4\024\uffb4\025\uffb4\026\uffb4\027\uffb4\030\uffb4" + 294 "\031\uffb4\032\uffb4\033\uffb4\042\uffb4\043\uffb4\001\002\000" + 295 "\046\002\uffbd\007\uffbd\010\uffbd\012\uffbd\013\uffbd\014\uffbd" + 296 "\022\uffbd\023\uffbd\024\uffbd\025\uffbd\026\uffbd\027\uffbd\030" + 297 "\uffbd\031\uffbd\032\uffbd\033\uffbd\042\uffbd\043\uffbd\001\002" + 298 "\000\052\002\uffa0\004\uffa0\007\uffa0\010\uffa0\012\uffa0\013" + 299 "\uffa0\014\uffa0\021\uffa0\022\uffa0\023\uffa0\024\uffa0\025\uffa0" + 300 "\026\uffa0\027\uffa0\030\uffa0\031\uffa0\032\uffa0\033\uffa0\042" + 301 "\uffa0\043\uffa0\001\002\000\036\002\uffd2\007\uffd2\012\uffd2" + 302 "\014\uffd2\022\uffd2\023\uffd2\024\uffd2\025\uffd2\026\uffd2\027" + 303 "\uffd2\030\211\031\212\042\uffd2\043\uffd2\001\002\000\056" + 304 "\002\uff75\004\uff75\006\uff75\007\uff75\010\uff75\011\uff75\012" + 305 "\uff75\013\uff75\014\uff75\021\uff75\022\uff75\023\uff75\024\uff75" + 306 "\025\uff75\026\uff75\027\uff75\030\uff75\031\uff75\032\uff75\033" + 307 "\uff75\042\uff75\043\uff75\001\002\000\044\002\uffca\007\uffca" + 308 "\012\uffca\013\uffca\014\uffca\022\uffca\023\uffca\024\uffca\025" + 309 "\uffca\026\uffca\027\uffca\030\uffca\031\uffca\032\uffca\033\uffca" + 310 "\042\uffca\043\uffca\001\002\000\060\002\uff77\004\uff77\006" + 311 "\uff77\007\uff77\010\uff77\011\uff77\012\uff77\013\uff77\014\uff77" + 312 "\020\uffa2\021\uff77\022\uff77\023\uff77\024\uff77\025\uff77\026" + 313 "\uff77\027\uff77\030\uff77\031\uff77\032\uff77\033\uff77\042\uff77" + 314 "\043\uff77\001\002\000\060\002\uff7e\004\uff7e\006\uff7e\007" + 315 "\uff7e\010\uff7e\011\uff7e\012\uff7e\013\uff7e\014\uff7e\020\uffa9" + 316 "\021\uff7e\022\uff7e\023\uff7e\024\uff7e\025\uff7e\026\uff7e\027" + 317 "\uff7e\030\uff7e\031\uff7e\032\uff7e\033\uff7e\042\uff7e\043\uff7e" + 318 "\001\002\000\004\011\201\001\002\000\052\002\uffbc\004" + 319 "\uffbc\007\uffbc\010\uffbc\012\uffbc\013\uffbc\014\uffbc\021\uffbc" + 320 "\022\uffbc\023\uffbc\024\uffbc\025\uffbc\026\uffbc\027\uffbc\030" + 321 "\uffbc\031\uffbc\032\uffbc\033\uffbc\042\uffbc\043\uffbc\001\002" + 322 "\000\046\002\uffc2\007\uffc2\010\uffc2\012\uffc2\013\uffc2\014" + 323 "\uffc2\022\uffc2\023\uffc2\024\uffc2\025\uffc2\026\uffc2\027\uffc2" + 324 "\030\uffc2\031\uffc2\032\uffc2\033\uffc2\042\uffc2\043\uffc2\001" + 325 "\002\000\054\002\uff9e\004\uff9e\006\055\007\uff9e\010\uff9e" + 326 "\012\uff9e\013\uff9e\014\uff9e\021\uff9e\022\uff9e\023\uff9e\024" + 327 "\uff9e\025\uff9e\026\uff9e\027\uff9e\030\uff9e\031\uff9e\032\uff9e" + 328 "\033\uff9e\042\uff9e\043\uff9e\001\002\000\060\002\uff76\004" + 329 "\uff76\006\uff76\007\uff76\010\uff76\011\uff76\012\uff76\013\uff76" + 330 "\014\uff76\020\uffa1\021\uff76\022\uff76\023\uff76\024\uff76\025" + 331 "\uff76\026\uff76\027\uff76\030\uff76\031\uff76\032\uff76\033\uff76" + 332 "\042\uff76\043\uff76\001\002\000\046\002\uffc4\007\uffc4\010" + 333 "\176\012\uffc4\013\uffc4\014\uffc4\022\uffc4\023\uffc4\024\uffc4" + 334 "\025\uffc4\026\uffc4\027\uffc4\030\uffc4\031\uffc4\032\uffc4\033" + 335 "\uffc4\042\uffc4\043\uffc4\001\002\000\060\002\uff81\004\uff81" + 336 "\006\uff81\007\uff81\010\uff81\011\uff81\012\uff81\013\uff81\014" + 337 "\uff81\020\uffac\021\uff81\022\uff81\023\uff81\024\uff81\025\uff81" + 338 "\026\uff81\027\uff81\030\uff81\031\uff81\032\uff81\033\uff81\042" + 339 "\uff81\043\uff81\001\002\000\054\002\uff9c\004\uff9c\006\uff9c" + 340 "\007\uff9c\010\uff9c\012\uff9c\013\uff9c\014\uff9c\021\uff9c\022" + 341 "\uff9c\023\uff9c\024\uff9c\025\uff9c\026\uff9c\027\uff9c\030\uff9c" + 342 "\031\uff9c\032\uff9c\033\uff9c\042\uff9c\043\uff9c\001\002\000" + 343 "\060\002\uff78\004\uff78\006\uff78\007\uff78\010\uff78\011\uff78" + 344 "\012\uff78\013\uff78\014\uff78\020\uffa3\021\uff78\022\uff78\023" + 345 "\uff78\024\uff78\025\uff78\026\uff78\027\uff78\030\uff78\031\uff78" + 346 "\032\uff78\033\uff78\042\uff78\043\uff78\001\002\000\052\002" + 347 "\uffc1\004\173\007\uffc1\010\uffc1\012\uffc1\013\uffc1\014\uffc1" + 348 "\021\172\022\uffc1\023\uffc1\024\uffc1\025\uffc1\026\uffc1\027" + 349 "\uffc1\030\uffc1\031\uffc1\032\uffc1\033\uffc1\042\uffc1\043\uffc1" + 350 "\001\002\000\060\002\uff82\004\uff82\006\uff82\007\uff82\010" + 351 "\uff82\011\uff82\012\uff82\013\uff82\014\uff82\020\uffad\021\uff82" + 352 "\022\uff82\023\uff82\024\uff82\025\uff82\026\uff82\027\uff82\030" + 353 "\uff82\031\uff82\032\uff82\033\uff82\042\uff82\043\uff82\001\002" + 354 "\000\054\002\uff98\004\uff98\006\uff98\007\uff98\010\uff98\012" + 355 "\uff98\013\uff98\014\uff98\021\uff98\022\uff98\023\uff98\024\uff98" + 356 "\025\uff98\026\uff98\027\uff98\030\uff98\031\uff98\032\uff98\033" + 357 "\uff98\042\uff98\043\uff98\001\002\000\004\007\171\001\002" + 358 "\000\046\032\031\033\040\035\034\036\113\037\141\047" + 359 "\036\050\037\051\044\052\170\053\166\054\043\055\041" + 360 "\056\035\057\030\060\045\061\021\062\012\063\042\001" + 361 "\002\000\052\002\uffba\004\uffba\007\uffba\010\uffba\012\uffba" + 362 "\013\uffba\014\uffba\021\uffba\022\uffba\023\uffba\024\uffba\025" + 363 "\uffba\026\uffba\027\uffba\030\uffba\031\uffba\032\uffba\033\uffba" + 364 "\042\uffba\043\uffba\001\002\000\060\002\uff79\004\uff79\006" + 365 "\uff79\007\uff79\010\uff79\011\uff79\012\uff79\013\uff79\014\uff79" + 366 "\020\uffa4\021\uff79\022\uff79\023\uff79\024\uff79\025\uff79\026" + 367 "\uff79\027\uff79\030\uff79\031\uff79\032\uff79\033\uff79\042\uff79" + 368 "\043\uff79\001\002\000\052\002\uffb0\004\uffb0\007\uffb0\010" + 369 "\uffb0\012\uffb0\013\uffb0\014\uffb0\021\uffb0\022\uffb0\023\uffb0" + 370 "\024\uffb0\025\uffb0\026\uffb0\027\uffb0\030\uffb0\031\uffb0\032" + 371 "\uffb0\033\uffb0\042\uffb0\043\uffb0\001\002\000\060\002\uff7c" + 372 "\004\uff7c\006\uff7c\007\uff7c\010\uff7c\011\uff7c\012\uff7c\013" + 373 "\uff7c\014\uff7c\020\uffa7\021\uff7c\022\uff7c\023\uff7c\024\uff7c" + 374 "\025\uff7c\026\uff7c\027\uff7c\030\uff7c\031\uff7c\032\uff7c\033" + 375 "\uff7c\042\uff7c\043\uff7c\001\002\000\056\002\uff83\004\uff83" + 376 "\006\uff83\007\uff83\010\uff83\011\uff83\012\uff83\013\uff83\014" + 377 "\uff83\021\uff83\022\uff83\023\uff83\024\uff83\025\uff83\026\uff83" + 378 "\027\uff83\030\uff83\031\uff83\032\uff83\033\uff83\042\uff83\043" + 379 "\uff83\001\002\000\054\002\uff8c\004\uff8c\006\uff8c\007\uff8c" + 380 "\010\uff8c\012\uff8c\013\uff8c\014\uff8c\021\uff8c\022\uff8c\023" + 381 "\uff8c\024\uff8c\025\uff8c\026\uff8c\027\uff8c\030\uff8c\031\uff8c" + 382 "\032\uff8c\033\uff8c\042\uff8c\043\uff8c\001\002\000\060\002" + 383 "\uff80\004\uff80\006\uff80\007\uff80\010\uff80\011\uff80\012\uff80" + 384 "\013\uff80\014\uff80\020\uffab\021\uff80\022\uff80\023\uff80\024" + 385 "\uff80\025\uff80\026\uff80\027\uff80\030\uff80\031\uff80\032\uff80" + 386 "\033\uff80\042\uff80\043\uff80\001\002\000\044\002\uffc6\007" + 387 "\uffc6\012\uffc6\013\uffc6\014\uffc6\022\uffc6\023\uffc6\024\uffc6" + 388 "\025\uffc6\026\uffc6\027\uffc6\030\uffc6\031\uffc6\032\uffc6\033" + 389 "\uffc6\042\uffc6\043\uffc6\001\002\000\054\002\uff8d\004\uff8d" + 390 "\006\uff8d\007\uff8d\010\uff8d\012\uff8d\013\uff8d\014\uff8d\021" + 391 "\uff8d\022\uff8d\023\uff8d\024\uff8d\025\uff8d\026\uff8d\027\uff8d" + 392 "\030\uff8d\031\uff8d\032\uff8d\033\uff8d\042\uff8d\043\uff8d\001" + 393 "\002\000\044\002\uffcd\007\uffcd\012\uffcd\013\160\014\uffcd" + 394 "\022\uffcd\023\uffcd\024\uffcd\025\uffcd\026\uffcd\027\uffcd\030" + 395 "\uffcd\031\uffcd\032\161\033\157\042\uffcd\043\uffcd\001\002" + 396 "\000\052\002\uffbe\004\153\007\uffbe\010\uffbe\012\uffbe\013" + 397 "\uffbe\014\uffbe\021\152\022\uffbe\023\uffbe\024\uffbe\025\uffbe" + 398 "\026\uffbe\027\uffbe\030\uffbe\031\uffbe\032\uffbe\033\uffbe\042" + 399 "\uffbe\043\uffbe\001\002\000\054\002\uff8e\004\uff8e\006\uff8e" + 400 "\007\uff8e\010\uff8e\012\uff8e\013\uff8e\014\uff8e\021\uff8e\022" + 401 "\uff8e\023\uff8e\024\uff8e\025\uff8e\026\uff8e\027\uff8e\030\uff8e" + 402 "\031\uff8e\032\uff8e\033\uff8e\042\uff8e\043\uff8e\001\002\000" + 403 "\056\002\uff87\004\uff87\006\uff87\007\uff87\010\uff87\011\uff91" + 404 "\012\uff87\013\uff87\014\uff87\021\uff87\022\uff87\023\uff87\024" + 405 "\uff87\025\uff87\026\uff87\027\uff87\030\uff87\031\uff87\032\uff87" + 406 "\033\uff87\042\uff87\043\uff87\001\002\000\070\005\111\013" + 407 "\103\016\066\017\106\032\031\033\040\035\034\036\113" + 408 "\037\141\040\142\041\145\044\063\045\062\046\065\047" + 409 "\115\050\123\051\136\052\077\053\143\054\131\055\125" + 410 "\056\116\057\104\060\140\061\067\062\060\063\127\001" + 411 "\002\000\070\005\111\013\103\016\066\017\106\032\031" + 412 "\033\040\035\034\036\113\037\141\040\142\041\145\044" + 413 "\063\045\062\046\065\047\115\050\123\051\136\052\077" + 414 "\053\143\054\131\055\125\056\116\057\104\060\140\061" + 415 "\067\062\060\063\127\001\002\000\054\002\uff87\004\uff87" + 416 "\006\uff87\007\uff87\010\uff87\012\uff87\013\uff87\014\uff87\021" + 417 "\uff87\022\uff87\023\uff87\024\uff87\025\uff87\026\uff87\027\uff87" + 418 "\030\uff87\031\uff87\032\uff87\033\uff87\042\uff87\043\uff87\001" + 419 "\002\000\052\002\uffbb\004\uffbb\007\uffbb\010\uffbb\012\uffbb" + 420 "\013\uffbb\014\uffbb\021\uffbb\022\uffbb\023\uffbb\024\uffbb\025" + 421 "\uffbb\026\uffbb\027\uffbb\030\uffbb\031\uffbb\032\uffbb\033\uffbb" + 422 "\042\uffbb\043\uffbb\001\002\000\052\002\uffb6\004\uffb6\007" + 423 "\uffb6\010\uffb6\012\uffb6\013\uffb6\014\uffb6\021\uffb6\022\uffb6" + 424 "\023\uffb6\024\uffb6\025\uffb6\026\uffb6\027\uffb6\030\uffb6\031" + 425 "\uffb6\032\uffb6\033\uffb6\042\uffb6\043\uffb6\001\002\000\110" + 426 "\004\061\005\111\011\071\013\103\015\134\016\066\017" + 427 "\106\021\070\031\075\032\031\033\040\034\057\035\034" + 428 "\036\113\037\141\040\142\041\145\044\063\045\062\046" + 429 "\065\047\115\050\123\051\136\052\077\053\143\054\131" + 430 "\055\125\056\116\057\104\060\140\061\067\062\060\063" + 431 "\127\064\132\065\072\001\002\000\110\004\061\005\111" + 432 "\011\071\013\103\015\134\016\066\017\106\021\070\031" + 433 "\075\032\031\033\040\034\057\035\034\036\113\037\141" + 434 "\040\142\041\145\044\063\045\062\046\065\047\115\050" + 435 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 436 "\057\104\060\140\061\067\062\060\063\127\064\132\065" + 437 "\072\001\002\000\110\004\061\005\111\011\071\013\103" + 438 "\015\134\016\066\017\106\021\070\031\075\032\031\033" + 439 "\040\034\057\035\034\036\113\037\141\040\142\041\145" + 440 "\044\063\045\062\046\065\047\115\050\123\051\136\052" + 441 "\077\053\143\054\131\055\125\056\116\057\104\060\140" + 442 "\061\067\062\060\063\127\064\132\065\072\001\002\000" + 443 "\044\002\uffc8\007\uffc8\012\uffc8\013\uffc8\014\uffc8\022\uffc8" + 444 "\023\uffc8\024\uffc8\025\uffc8\026\uffc8\027\uffc8\030\uffc8\031" + 445 "\uffc8\032\uffc8\033\uffc8\042\uffc8\043\uffc8\001\002\000\044" + 446 "\002\uffc9\007\uffc9\012\uffc9\013\uffc9\014\uffc9\022\uffc9\023" + 447 "\uffc9\024\uffc9\025\uffc9\026\uffc9\027\uffc9\030\uffc9\031\uffc9" + 448 "\032\uffc9\033\uffc9\042\uffc9\043\uffc9\001\002\000\044\002" + 449 "\uffc7\007\uffc7\012\uffc7\013\uffc7\014\uffc7\022\uffc7\023\uffc7" + 450 "\024\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032" + 451 "\uffc7\033\uffc7\042\uffc7\043\uffc7\001\002\000\054\002\uff90" + 452 "\004\uff90\006\uff90\007\uff90\010\uff90\012\uff90\013\uff90\014" + 453 "\uff90\021\uff90\022\uff90\023\uff90\024\uff90\025\uff90\026\uff90" + 454 "\027\uff90\030\uff90\031\uff90\032\uff90\033\uff90\042\uff90\043" + 455 "\uff90\001\002\000\054\002\uff80\004\uff80\006\uff80\007\uff80" + 456 "\010\uff80\012\uff80\013\uff80\014\uff80\021\uff80\022\uff80\023" + 457 "\uff80\024\uff80\025\uff80\026\uff80\027\uff80\030\uff80\031\uff80" + 458 "\032\uff80\033\uff80\042\uff80\043\uff80\001\002\000\054\002" + 459 "\uff96\004\uff96\006\uff96\007\uff96\010\uff96\012\uff96\013\uff96" + 460 "\014\uff96\021\uff96\022\uff96\023\uff96\024\uff96\025\uff96\026" + 461 "\uff96\027\uff96\030\uff96\031\uff96\032\uff96\033\uff96\042\uff96" + 462 "\043\uff96\001\002\000\054\002\uff7f\004\uff7f\006\uff7f\007" + 463 "\uff7f\010\uff7f\012\uff7f\013\uff7f\014\uff7f\021\uff7f\022\uff7f" + 464 "\023\uff7f\024\uff7f\025\uff7f\026\uff7f\027\uff7f\030\uff7f\031" + 465 "\uff7f\032\uff7f\033\uff7f\042\uff7f\043\uff7f\001\002\000\054" + 466 "\002\uffdb\004\uffdb\006\uffdb\007\uffdb\010\uffdb\012\uffdb\013" + 467 "\uffdb\014\uffdb\021\uffdb\022\uffdb\023\uffdb\024\uffdb\025\uffdb" + 468 "\026\uffdb\027\uffdb\030\uffdb\031\uffdb\032\uffdb\033\uffdb\042" + 469 "\uffdb\043\uffdb\001\002\000\070\005\111\013\103\016\066" + 470 "\017\106\032\031\033\040\035\034\036\113\037\141\040" + 471 "\142\041\145\044\063\045\062\046\065\047\115\050\123" + 472 "\051\136\052\077\053\143\054\131\055\125\056\116\057" + 473 "\104\060\140\061\067\062\060\063\127\001\002\000\070" + 474 "\005\111\013\103\016\066\017\106\032\031\033\040\035" + 475 "\034\036\113\037\141\040\142\041\145\044\063\045\062" + 476 "\046\065\047\115\050\123\051\136\052\077\053\143\054" + 477 "\131\055\125\056\116\057\104\060\140\061\067\062\060" + 478 "\063\127\001\002\000\052\002\uffc0\004\153\007\uffc0\010" + 479 "\uffc0\012\uffc0\013\uffc0\014\uffc0\021\152\022\uffc0\023\uffc0" + 480 "\024\uffc0\025\uffc0\026\uffc0\027\uffc0\030\uffc0\031\uffc0\032" + 481 "\uffc0\033\uffc0\042\uffc0\043\uffc0\001\002\000\052\002\uffbf" + 482 "\004\153\007\uffbf\010\uffbf\012\uffbf\013\uffbf\014\uffbf\021" + 483 "\152\022\uffbf\023\uffbf\024\uffbf\025\uffbf\026\uffbf\027\uffbf" + 484 "\030\uffbf\031\uffbf\032\uffbf\033\uffbf\042\uffbf\043\uffbf\001" + 485 "\002\000\106\004\061\005\111\011\071\013\103\015\134" + 486 "\016\066\017\106\021\070\032\031\033\040\034\057\035" + 487 "\034\036\113\037\141\040\142\041\145\044\063\045\062" + 488 "\046\065\047\115\050\123\051\136\052\077\053\143\054" + 489 "\131\055\125\056\116\057\104\060\140\061\067\062\060" + 490 "\063\127\064\132\065\072\001\002\000\044\002\uffc3\007" + 491 "\uffc3\012\uffc3\013\uffc3\014\uffc3\022\uffc3\023\uffc3\024\uffc3" + 492 "\025\uffc3\026\uffc3\027\uffc3\030\uffc3\031\uffc3\032\uffc3\033" + 493 "\uffc3\042\uffc3\043\uffc3\001\002\000\052\002\uff9d\004\uff9d" + 494 "\007\uff9d\010\uff9d\012\uff9d\013\uff9d\014\uff9d\021\uff9d\022" + 495 "\uff9d\023\uff9d\024\uff9d\025\uff9d\026\uff9d\027\uff9d\030\uff9d" + 496 "\031\uff9d\032\uff9d\033\uff9d\042\uff9d\043\uff9d\001\002\000" + 497 "\112\004\061\005\111\011\071\012\202\013\103\015\134" + 498 "\016\066\017\106\021\070\031\075\032\031\033\040\034" + 499 "\057\035\034\036\113\037\141\040\142\041\145\044\063" + 500 "\045\062\046\065\047\115\050\123\051\136\052\077\053" + 501 "\143\054\131\055\125\056\116\057\104\060\140\061\067" + 502 "\062\060\063\127\064\132\065\072\001\002\000\054\002" + 503 "\uff95\004\uff95\006\uff95\007\uff95\010\uff95\012\uff95\013\uff95" + 504 "\014\uff95\021\uff95\022\uff95\023\uff95\024\uff95\025\uff95\026" + 505 "\uff95\027\uff95\030\uff95\031\uff95\032\uff95\033\uff95\042\uff95" + 506 "\043\uff95\001\002\000\006\012\uff93\014\207\001\002\000" + 507 "\006\012\uff8f\014\uff8f\001\002\000\004\012\206\001\002" + 508 "\000\054\002\uff94\004\uff94\006\uff94\007\uff94\010\uff94\012" + 509 "\uff94\013\uff94\014\uff94\021\uff94\022\uff94\023\uff94\024\uff94" + 510 "\025\uff94\026\uff94\027\uff94\030\uff94\031\uff94\032\uff94\033" + 511 "\uff94\042\uff94\043\uff94\001\002\000\110\004\061\005\111" + 512 "\011\071\013\103\015\134\016\066\017\106\021\070\031" + 513 "\075\032\031\033\040\034\057\035\034\036\113\037\141" + 514 "\040\142\041\145\044\063\045\062\046\065\047\115\050" + 515 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 516 "\057\104\060\140\061\067\062\060\063\127\064\132\065" + 517 "\072\001\002\000\004\012\uff92\001\002\000\110\004\061" + 518 "\005\111\011\071\013\103\015\134\016\066\017\106\021" + 519 "\070\031\075\032\031\033\040\034\057\035\034\036\113" + 520 "\037\141\040\142\041\145\044\063\045\062\046\065\047" + 521 "\115\050\123\051\136\052\077\053\143\054\131\055\125" + 522 "\056\116\057\104\060\140\061\067\062\060\063\127\064" + 523 "\132\065\072\001\002\000\110\004\061\005\111\011\071" + 524 "\013\103\015\134\016\066\017\106\021\070\031\075\032" + 525 "\031\033\040\034\057\035\034\036\113\037\141\040\142" + 526 "\041\145\044\063\045\062\046\065\047\115\050\123\051" + 527 "\136\052\077\053\143\054\131\055\125\056\116\057\104" + 528 "\060\140\061\067\062\060\063\127\064\132\065\072\001" + 529 "\002\000\044\002\uffcb\007\uffcb\012\uffcb\013\160\014\uffcb" + 530 "\022\uffcb\023\uffcb\024\uffcb\025\uffcb\026\uffcb\027\uffcb\030" + 531 "\uffcb\031\uffcb\032\161\033\157\042\uffcb\043\uffcb\001\002" + 532 "\000\044\002\uffcc\007\uffcc\012\uffcc\013\160\014\uffcc\022" + 533 "\uffcc\023\uffcc\024\uffcc\025\uffcc\026\uffcc\027\uffcc\030\uffcc" + 534 "\031\uffcc\032\161\033\157\042\uffcc\043\uffcc\001\002\000" + 535 "\052\002\uffb3\004\uffb3\007\uffb3\010\uffb3\012\uffb3\013\uffb3" + 536 "\014\uffb3\021\uffb3\022\uffb3\023\uffb3\024\uffb3\025\uffb3\026" + 537 "\uffb3\027\uffb3\030\uffb3\031\uffb3\032\uffb3\033\uffb3\042\uffb3" + 538 "\043\uffb3\001\002\000\110\004\061\005\111\011\071\013" + 539 "\103\015\134\016\066\017\106\021\070\031\075\032\031" + 540 "\033\040\034\057\035\034\036\113\037\141\040\142\041" + 541 "\145\044\063\045\062\046\065\047\115\050\123\051\136" + 542 "\052\077\053\143\054\131\055\125\056\116\057\104\060" + 543 "\140\061\067\062\060\063\127\064\132\065\072\001\002" + 544 "\000\110\004\061\005\111\011\071\013\103\015\134\016" + 545 "\066\017\106\021\070\031\075\032\031\033\040\034\057" + 546 "\035\034\036\113\037\141\040\142\041\145\044\063\045" + 547 "\062\046\065\047\115\050\123\051\136\052\077\053\143" + 548 "\054\131\055\125\056\116\057\104\060\140\061\067\062" + 549 "\060\063\127\064\132\065\072\001\002\000\032\002\uffd3" + 550 "\007\uffd3\012\uffd3\014\uffd3\022\uffd3\023\uffd3\024\221\025" + 551 "\222\026\223\027\224\042\uffd3\043\uffd3\001\002\000\110" + 552 "\004\061\005\111\011\071\013\103\015\134\016\066\017" + 553 "\106\021\070\031\075\032\031\033\040\034\057\035\034" + 554 "\036\113\037\141\040\142\041\145\044\063\045\062\046" + 555 "\065\047\115\050\123\051\136\052\077\053\143\054\131" + 556 "\055\125\056\116\057\104\060\140\061\067\062\060\063" + 557 "\127\064\132\065\072\001\002\000\110\004\061\005\111" + 558 "\011\071\013\103\015\134\016\066\017\106\021\070\031" + 559 "\075\032\031\033\040\034\057\035\034\036\113\037\141" + 560 "\040\142\041\145\044\063\045\062\046\065\047\115\050" + 561 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 562 "\057\104\060\140\061\067\062\060\063\127\064\132\065" + 563 "\072\001\002\000\110\004\061\005\111\011\071\013\103" + 564 "\015\134\016\066\017\106\021\070\031\075\032\031\033" + 565 "\040\034\057\035\034\036\113\037\141\040\142\041\145" + 566 "\044\063\045\062\046\065\047\115\050\123\051\136\052" + 567 "\077\053\143\054\131\055\125\056\116\057\104\060\140" + 568 "\061\067\062\060\063\127\064\132\065\072\001\002\000" + 569 "\110\004\061\005\111\011\071\013\103\015\134\016\066" + 570 "\017\106\021\070\031\075\032\031\033\040\034\057\035" + 571 "\034\036\113\037\141\040\142\041\145\044\063\045\062" + 572 "\046\065\047\115\050\123\051\136\052\077\053\143\054" + 573 "\131\055\125\056\116\057\104\060\140\061\067\062\060" + 574 "\063\127\064\132\065\072\001\002\000\036\002\uffce\007" + 575 "\uffce\012\uffce\014\uffce\022\uffce\023\uffce\024\uffce\025\uffce" + 576 "\026\uffce\027\uffce\030\211\031\212\042\uffce\043\uffce\001" + 577 "\002\000\036\002\uffcf\007\uffcf\012\uffcf\014\uffcf\022\uffcf" + 578 "\023\uffcf\024\uffcf\025\uffcf\026\uffcf\027\uffcf\030\211\031" + 579 "\212\042\uffcf\043\uffcf\001\002\000\036\002\uffd0\007\uffd0" + 580 "\012\uffd0\014\uffd0\022\uffd0\023\uffd0\024\uffd0\025\uffd0\026" + 581 "\uffd0\027\uffd0\030\211\031\212\042\uffd0\043\uffd0\001\002" + 582 "\000\036\002\uffd1\007\uffd1\012\uffd1\014\uffd1\022\uffd1\023" + 583 "\uffd1\024\uffd1\025\uffd1\026\uffd1\027\uffd1\030\211\031\212" + 584 "\042\uffd1\043\uffd1\001\002\000\032\002\uffd4\007\uffd4\012" + 585 "\uffd4\014\uffd4\022\uffd4\023\uffd4\024\221\025\222\026\223" + 586 "\027\224\042\uffd4\043\uffd4\001\002\000\110\004\061\005" + 587 "\111\011\071\013\103\015\134\016\066\017\106\021\070" + 588 "\031\075\032\031\033\040\034\057\035\034\036\113\037" + 589 "\141\040\142\041\145\044\063\045\062\046\065\047\115" + 590 "\050\123\051\136\052\077\053\143\054\131\055\125\056" + 591 "\116\057\104\060\140\061\067\062\060\063\127\064\132" + 592 "\065\072\001\002\000\016\002\uffd8\007\uffd8\012\uffd8\014" + 593 "\uffd8\042\uffd8\043\234\001\002\000\110\004\061\005\111" + 594 "\011\071\013\103\015\134\016\066\017\106\021\070\031" + 595 "\075\032\031\033\040\034\057\035\034\036\113\037\141" + 596 "\040\142\041\145\044\063\045\062\046\065\047\115\050" + 597 "\123\051\136\052\077\053\143\054\131\055\125\056\116" + 598 "\057\104\060\140\061\067\062\060\063\127\064\132\065" + 599 "\072\001\002\000\022\002\uffd6\007\uffd6\012\uffd6\014\uffd6" + 600 "\022\216\023\217\042\uffd6\043\uffd6\001\002\000\062\013" + 601 "\uffaf\032\uffaf\033\uffaf\035\uffaf\036\uffaf\037\uffaf\040\uffaf" + 602 "\041\uffaf\044\uffaf\045\uffaf\046\uffaf\047\uffaf\050\uffaf\051" + 603 "\uffaf\052\uffaf\053\uffaf\054\uffaf\055\uffaf\056\uffaf\057\uffaf" + 604 "\060\uffaf\061\uffaf\062\uffaf\063\uffaf\001\002\000\054\002" + 605 "\uffb1\004\uffb1\006\055\007\uffb1\010\uffb1\012\uffb1\013\uffb1" + 606 "\014\uffb1\021\uffb1\022\uffb1\023\uffb1\024\uffb1\025\uffb1\026" + 607 "\uffb1\027\uffb1\030\uffb1\031\uffb1\032\uffb1\033\uffb1\042\uffb1" + 608 "\043\uffb1\001\002\000\052\002\uffb2\004\uffb2\007\uffb2\010" + 609 "\uffb2\012\uffb2\013\uffb2\014\uffb2\021\uffb2\022\uffb2\023\uffb2" + 610 "\024\uffb2\025\uffb2\026\uffb2\027\uffb2\030\uffb2\031\uffb2\032" + 611 "\uffb2\033\uffb2\042\uffb2\043\uffb2\001\002\000\044\002\uffc5" + 612 "\007\uffc5\012\uffc5\013\uffc5\014\uffc5\022\uffc5\023\uffc5\024" + 613 "\uffc5\025\uffc5\026\uffc5\027\uffc5\030\uffc5\031\uffc5\032\uffc5" + 614 "\033\uffc5\042\uffc5\043\uffc5\001\002\000\004\012\243\001" + 615 "\002\000\054\002\uff9b\004\uff9b\006\uff9b\007\uff9b\010\uff9b" + 616 "\012\uff9b\013\uff9b\014\uff9b\021\uff9b\022\uff9b\023\uff9b\024" + 617 "\uff9b\025\uff9b\026\uff9b\027\uff9b\030\uff9b\031\uff9b\032\uff9b" + 618 "\033\uff9b\042\uff9b\043\uff9b\001\002\000\052\002\uffb5\004" + 619 "\153\007\uffb5\010\uffb5\012\uffb5\013\uffb5\014\uffb5\021\152" + 620 "\022\uffb5\023\uffb5\024\uffb5\025\uffb5\026\uffb5\027\uffb5\030" + 621 "\uffb5\031\uffb5\032\uffb5\033\uffb5\042\uffb5\043\uffb5\001\002" + 622 "\000\004\034\246\001\002\000\004\012\247\001\002\000" + 623 "\054\002\uff8a\004\uff8a\006\uff8a\007\uff8a\010\uff8a\012\uff8a" + 624 "\013\uff8a\014\uff8a\021\uff8a\022\uff8a\023\uff8a\024\uff8a\025" + 625 "\uff8a\026\uff8a\027\uff8a\030\uff8a\031\uff8a\032\uff8a\033\uff8a" + 626 "\042\uff8a\043\uff8a\001\002\000\052\002\uffb8\004\153\007" + 627 "\uffb8\010\uffb8\012\uffb8\013\uffb8\014\uffb8\021\152\022\uffb8" + 628 "\023\uffb8\024\uffb8\025\uffb8\026\uffb8\027\uffb8\030\uffb8\031" + 629 "\uffb8\032\uffb8\033\uffb8\042\uffb8\043\uffb8\001\002\000\052" + 630 "\002\uffdc\004\uffdc\007\uffdc\010\uffdc\012\uffdc\013\uffdc\014" + 631 "\uffdc\021\uffdc\022\uffdc\023\uffdc\024\uffdc\025\uffdc\026\uffdc" + 632 "\027\uffdc\030\uffdc\031\uffdc\032\uffdc\033\uffdc\042\uffdc\043" + 633 "\uffdc\001\002\000\062\013\uffde\032\uffde\033\uffde\035\uffde" + 634 "\036\uffde\037\uffde\040\uffde\041\uffde\044\uffde\045\uffde\046" + 635 "\uffde\047\uffde\050\uffde\051\uffde\052\uffde\053\uffde\054\uffde" + 636 "\055\uffde\056\uffde\057\uffde\060\uffde\061\uffde\062\uffde\063" + 637 "\uffde\001\002\000\004\034\254\001\002\000\004\014\255" + 638 "\001\002\000\004\034\256\001\002\000\004\012\257\001" + 639 "\002\000\012\002\ufff4\004\ufff4\010\ufff4\021\ufff4\001\002" + 640 "\000\004\034\261\001\002\000\004\012\262\001\002\000" + 641 "\012\002\ufff5\004\ufff5\010\ufff5\021\ufff5\001\002\000\012" + 642 "\002\uffec\004\uffec\010\uffec\021\uffec\001\002\000\062\013" + 643 "\uffdf\032\uffdf\033\uffdf\035\uffdf\036\uffdf\037\uffdf\040\uffdf" + 644 "\041\uffdf\044\uffdf\045\uffdf\046\uffdf\047\uffdf\050\uffdf\051" + 645 "\uffdf\052\uffdf\053\uffdf\054\uffdf\055\uffdf\056\uffdf\057\uffdf" + 646 "\060\uffdf\061\uffdf\062\uffdf\063\uffdf\001\002\000\064\013" + 647 "\027\016\020\032\031\033\040\035\034\036\113\037\141" + 648 "\040\047\041\051\044\015\045\014\046\016\047\036\050" + 649 "\037\051\044\052\025\053\050\054\043\055\041\056\035" + 650 "\057\030\060\045\061\021\062\012\063\042\001\002\000" + 651 "\064\013\027\016\020\032\031\033\040\035\034\036\113" + 652 "\037\141\040\047\041\051\044\015\045\014\046\016\047" + 653 "\036\050\037\051\044\052\025\053\050\054\043\055\041" + 654 "\056\035\057\030\060\045\061\021\062\012\063\042\001" + 655 "\002\000\006\002\ufff1\010\ufff1\001\002\000\006\002\ufff0" + 656 "\010\ufff0\001\002\000\006\002\ufff7\010\ufff7\001\002\000" + 657 "\014\002\uffe9\004\uffe9\006\055\010\uffe9\021\uffe9\001\002" + 658 "\000\014\002\uffeb\004\uffeb\006\055\010\uffeb\021\uffeb\001" + 659 "\002\000\012\002\uffea\004\uffea\010\uffea\021\uffea\001\002" + 660 "\000\012\002\uffe8\004\uffe8\010\uffe8\021\uffe8\001\002\000" + 661 "\064\013\027\016\020\032\031\033\040\035\034\036\113" + 662 "\037\141\040\047\041\051\044\015\045\014\046\016\047" + 663 "\036\050\037\051\044\052\025\053\050\054\043\055\041" + 664 "\056\035\057\030\060\045\061\021\062\012\063\042\001" + 665 "\002\000\064\013\027\016\020\032\031\033\040\035\034" + 666 "\036\113\037\141\040\047\041\051\044\015\045\014\046" + 667 "\016\047\036\050\037\051\044\052\025\053\050\054\043" + 668 "\055\041\056\035\057\030\060\045\061\021\062\012\063" + 669 "\042\001\002\000\006\002\ufff9\010\ufff9\001\002\000\006" + 670 "\002\ufff8\010\ufff8\001\002\000\004\034\303\001\002\000" + 671 "\004\012\304\001\002\000\014\002\ufff3\004\ufff3\006\ufff3" + 672 "\010\ufff3\021\ufff3\001\002\000\006\002\ufffb\010\ufffb\001" + 673 "\002\000\070\004\013\013\027\016\020\021\023\032\031" + 674 "\033\040\035\034\036\033\037\046\040\047\041\051\044" + 675 "\015\045\014\046\016\047\036\050\037\051\044\052\025" + 676 "\053\050\054\043\055\041\056\035\057\030\060\045\061" + 677 "\021\062\012\063\042\001\002\000\004\002\ufffd\001\002" + 678 "\000\004\002\uffff\001\002\000\004\002\001\001\002" }); 679 680 /** Access to parse-action table. */ 681 public short[][] action_table() {return _action_table;} 682 683 /** <code>reduce_goto</code> table. */ 684 protected static final short[][] _reduce_table = 685 unpackFromStrings(new String[] { 686 "\000\307\000\004\003\003\001\001\000\002\001\001\000" + 687 "\070\004\307\006\120\010\127\011\117\012\101\013\075" + 688 "\014\104\015\063\016\111\017\145\020\113\021\125\022" + 689 "\073\023\121\024\143\025\123\026\136\027\146\030\134" + 690 "\031\107\032\072\033\106\034\147\047\150\050\116\052" + 691 "\100\053\077\001\001\000\026\035\016\036\007\037\006" + 692 "\040\031\041\025\042\023\043\052\044\010\047\051\054" + 693 "\021\001\001\000\002\001\001\000\002\001\001\000\002" + 694 "\001\001\000\002\001\001\000\020\040\031\041\304\042" + 695 "\023\043\052\044\010\047\051\054\021\001\001\000\002" + 696 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 697 "\001\000\002\001\001\000\002\001\001\000\012\040\271" + 698 "\043\272\044\010\047\051\001\001\000\020\040\031\041" + 699 "\270\042\023\043\052\044\010\047\051\054\021\001\001" + 700 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 701 "\002\001\001\000\002\001\001\000\002\001\001\000\006" + 702 "\007\053\045\262\001\001\000\002\001\001\000\002\001" + 703 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 704 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 705 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 706 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 707 "\001\000\002\001\001\000\006\007\053\045\055\001\001" + 708 "\000\006\007\053\045\250\001\001\000\070\004\132\006" + 709 "\120\010\127\011\117\012\101\013\075\014\104\015\063" + 710 "\016\111\017\145\020\113\021\125\022\073\023\121\024" + 711 "\143\025\123\026\136\027\146\030\134\031\107\032\072" + 712 "\033\106\034\147\047\150\050\116\052\100\053\077\001" + 713 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 714 "\000\024\011\117\026\136\027\247\030\134\033\106\034" + 715 "\147\047\153\052\100\053\077\001\001\000\002\001\001" + 716 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 717 "\002\001\001\000\002\001\001\000\024\011\117\026\136" + 718 "\027\243\030\134\033\106\034\147\047\153\052\100\053" + 719 "\077\001\001\000\070\004\241\006\120\010\127\011\117" + 720 "\012\101\013\075\014\104\015\063\016\111\017\145\020" + 721 "\113\021\125\022\073\023\121\024\143\025\123\026\136" + 722 "\027\146\030\134\031\107\032\072\033\106\034\147\047" + 723 "\150\050\116\052\100\053\077\001\001\000\002\001\001" + 724 "\000\002\001\001\000\002\001\001\000\052\006\120\010" + 725 "\127\011\117\020\240\021\125\022\073\023\121\024\143" + 726 "\025\123\026\136\027\146\030\134\031\107\032\072\033" + 727 "\106\034\147\047\150\050\116\052\100\053\077\001\001" + 728 "\000\002\001\001\000\002\001\001\000\010\033\236\034" + 729 "\147\047\153\001\001\000\002\001\001\000\002\001\001" + 730 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 731 "\002\001\001\000\006\007\053\045\214\001\001\000\002" + 732 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 733 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 734 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 735 "\006\007\053\045\177\001\001\000\002\001\001\000\002" + 736 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 737 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 738 "\000\002\001\001\000\006\047\164\051\166\001\001\000" + 739 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 740 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 741 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 742 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 743 "\020\011\155\026\136\033\106\034\147\047\153\052\100" + 744 "\053\077\001\001\000\020\011\154\026\136\033\106\034" + 745 "\147\047\153\052\100\053\077\001\001\000\002\001\001" + 746 "\000\002\001\001\000\002\001\001\000\052\006\120\010" + 747 "\127\011\117\020\163\021\125\022\073\023\121\024\143" + 748 "\025\123\026\136\027\146\030\134\031\107\032\072\033" + 749 "\106\034\147\047\150\050\116\052\100\053\077\001\001" + 750 "\000\052\006\120\010\127\011\117\020\162\021\125\022" + 751 "\073\023\121\024\143\025\123\026\136\027\146\030\134" + 752 "\031\107\032\072\033\106\034\147\047\150\050\116\052" + 753 "\100\053\077\001\001\000\052\006\120\010\127\011\117" + 754 "\020\161\021\125\022\073\023\121\024\143\025\123\026" + 755 "\136\027\146\030\134\031\107\032\072\033\106\034\147" + 756 "\047\150\050\116\052\100\053\077\001\001\000\002\001" + 757 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 758 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 759 "\002\001\001\000\024\011\117\026\136\027\174\030\134" + 760 "\033\106\034\147\047\153\052\100\053\077\001\001\000" + 761 "\024\011\117\026\136\027\173\030\134\033\106\034\147" + 762 "\047\153\052\100\053\077\001\001\000\002\001\001\000" + 763 "\002\001\001\000\050\006\120\010\127\011\117\021\125" + 764 "\022\073\023\121\024\176\025\123\026\136\027\146\030" + 765 "\134\031\107\032\072\033\106\034\147\047\150\050\116" + 766 "\052\100\053\077\001\001\000\002\001\001\000\002\001" + 767 "\001\000\074\004\203\005\202\006\120\010\127\011\117" + 768 "\012\101\013\075\014\104\015\063\016\111\017\145\020" + 769 "\113\021\125\022\073\023\121\024\143\025\123\026\136" + 770 "\027\146\030\134\031\107\032\072\033\106\034\147\046" + 771 "\204\047\150\050\116\052\100\053\077\001\001\000\002" + 772 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 773 "\001\000\002\001\001\000\074\004\203\005\202\006\120" + 774 "\010\127\011\117\012\101\013\075\014\104\015\063\016" + 775 "\111\017\145\020\113\021\125\022\073\023\121\024\143" + 776 "\025\123\026\136\027\146\030\134\031\107\032\072\033" + 777 "\106\034\147\046\207\047\150\050\116\052\100\053\077" + 778 "\001\001\000\002\001\001\000\054\006\120\010\127\011" + 779 "\117\017\213\020\113\021\125\022\073\023\121\024\143" + 780 "\025\123\026\136\027\146\030\134\031\107\032\072\033" + 781 "\106\034\147\047\150\050\116\052\100\053\077\001\001" + 782 "\000\054\006\120\010\127\011\117\017\212\020\113\021" + 783 "\125\022\073\023\121\024\143\025\123\026\136\027\146" + 784 "\030\134\031\107\032\072\033\106\034\147\047\150\050" + 785 "\116\052\100\053\077\001\001\000\002\001\001\000\002" + 786 "\001\001\000\002\001\001\000\060\006\120\010\127\011" + 787 "\117\015\230\016\111\017\145\020\113\021\125\022\073" + 788 "\023\121\024\143\025\123\026\136\027\146\030\134\031" + 789 "\107\032\072\033\106\034\147\047\150\050\116\052\100" + 790 "\053\077\001\001\000\060\006\120\010\127\011\117\015" + 791 "\217\016\111\017\145\020\113\021\125\022\073\023\121" + 792 "\024\143\025\123\026\136\027\146\030\134\031\107\032" + 793 "\072\033\106\034\147\047\150\050\116\052\100\053\077" + 794 "\001\001\000\002\001\001\000\056\006\120\010\127\011" + 795 "\117\016\227\017\145\020\113\021\125\022\073\023\121" + 796 "\024\143\025\123\026\136\027\146\030\134\031\107\032" + 797 "\072\033\106\034\147\047\150\050\116\052\100\053\077" + 798 "\001\001\000\056\006\120\010\127\011\117\016\226\017" + 799 "\145\020\113\021\125\022\073\023\121\024\143\025\123" + 800 "\026\136\027\146\030\134\031\107\032\072\033\106\034" + 801 "\147\047\150\050\116\052\100\053\077\001\001\000\056" + 802 "\006\120\010\127\011\117\016\225\017\145\020\113\021" + 803 "\125\022\073\023\121\024\143\025\123\026\136\027\146" + 804 "\030\134\031\107\032\072\033\106\034\147\047\150\050" + 805 "\116\052\100\053\077\001\001\000\056\006\120\010\127" + 806 "\011\117\016\224\017\145\020\113\021\125\022\073\023" + 807 "\121\024\143\025\123\026\136\027\146\030\134\031\107" + 808 "\032\072\033\106\034\147\047\150\050\116\052\100\053" + 809 "\077\001\001\000\002\001\001\000\002\001\001\000\002" + 810 "\001\001\000\002\001\001\000\002\001\001\000\064\006" + 811 "\120\010\127\011\117\013\232\014\104\015\063\016\111" + 812 "\017\145\020\113\021\125\022\073\023\121\024\143\025" + 813 "\123\026\136\027\146\030\134\031\107\032\072\033\106" + 814 "\034\147\047\150\050\116\052\100\053\077\001\001\000" + 815 "\002\001\001\000\062\006\120\010\127\011\117\014\234" + 816 "\015\063\016\111\017\145\020\113\021\125\022\073\023" + 817 "\121\024\143\025\123\026\136\027\146\030\134\031\107" + 818 "\032\072\033\106\034\147\047\150\050\116\052\100\053" + 819 "\077\001\001\000\002\001\001\000\002\001\001\000\006" + 820 "\007\053\045\237\001\001\000\002\001\001\000\002\001" + 821 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 822 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 823 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 824 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 825 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 826 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 827 "\020\040\031\041\267\042\023\043\052\044\010\047\051" + 828 "\054\021\001\001\000\020\040\031\041\266\042\023\043" + 829 "\052\044\010\047\051\054\021\001\001\000\002\001\001" + 830 "\000\002\001\001\000\002\001\001\000\006\007\053\045" + 831 "\274\001\001\000\006\007\053\045\273\001\001\000\002" + 832 "\001\001\000\002\001\001\000\020\040\031\041\300\042" + 833 "\023\043\052\044\010\047\051\054\021\001\001\000\020" + 834 "\040\031\041\277\042\023\043\052\044\010\047\051\054" + 835 "\021\001\001\000\002\001\001\000\002\001\001\000\002" + 836 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 837 "\001\000\026\035\016\036\306\037\006\040\031\041\025" + 838 "\042\023\043\052\044\010\047\051\054\021\001\001\000" + 839 "\002\001\001\000\002\001\001\000\002\001\001" }); 840 841 /** Access to <code>reduce_goto</code> table. */ 842 public short[][] reduce_table() {return _reduce_table;} 843 844 /** Instance of action encapsulation class. */ 845 protected CUP$XPathParser$actions action_obj; 846 847 /** Action encapsulation object initializer. */ 848 protected void init_actions() 849 { 850 action_obj = new CUP$XPathParser$actions(this); 851 } 852 853 /** Invoke a user supplied parse action. */ 854 public com.sun.java_cup.internal.runtime.Symbol do_action( 855 int act_num, 856 com.sun.java_cup.internal.runtime.lr_parser parser, 857 java.util.Stack stack, 858 int top) 859 throws java.lang.Exception 860 { 861 /* call code in generated class */ 862 return action_obj.CUP$XPathParser$do_action(act_num, parser, stack, top); 863 } 864 865 /** Indicates start state. */ 866 public int start_state() {return 0;} 867 /** Indicates start production. */ 868 public int start_production() {return 0;} 869 870 /** <code>EOF</code> Symbol index. */ 871 public int EOF_sym() {return 0;} 872 873 /** <code>error</code> Symbol index. */ 874 public int error_sym() {return 1;} 875 876 877 878 /** 879 * Used by function calls with no args. 880 */ 881 static public final Vector EmptyArgs = new Vector(0); 882 883 /** 884 * Reference to non-existing variable. 885 */ 886 static public final VariableRef DummyVarRef = null; 887 888 /** 889 * Reference to the Parser class. 890 */ 891 private Parser _parser; 892 private XSLTC _xsltc; 893 894 /** 895 * String representation of the expression being parsed. 896 */ 897 private String _expression; 898 899 /** 900 * Line number where this expression/pattern was declared. 901 */ 902 private int _lineNumber = 0; 903 904 /** 905 * Reference to the symbol table. 906 */ 907 public SymbolTable _symbolTable; 908 909 public XPathParser(Parser parser) { 910 _parser = parser; 911 _xsltc = parser.getXSLTC(); 912 _symbolTable = parser.getSymbolTable(); 913 } 914 915 public int getLineNumber() { 916 return _lineNumber; 917 } 918 919 public QName getQNameIgnoreDefaultNs(String name) { 920 return _parser.getQNameIgnoreDefaultNs(name); 921 } 922 923 public QName getQName(String namespace, String prefix, String localname) { 924 return _parser.getQName(namespace, prefix, localname); 925 } 926 927 public void setMultiDocument(boolean flag) { 928 _xsltc.setMultiDocument(flag); 929 } 930 931 public void setCallsNodeset(boolean flag) { 932 _xsltc.setCallsNodeset(flag); 933 } 934 935 public void setHasIdCall(boolean flag) { 936 _xsltc.setHasIdCall(flag); 937 } 938 939 940 /** 941 * This method is similar to findNodeType(int, Object) except that it 942 * creates a StepPattern instead of just returning a node type. It also 943 * differs in the way it handles "{uri}:*" and "{uri}:@*". The last two 944 * patterns are expanded as "*[namespace-uri() = 'uri']" and 945 * "@*[namespace-uri() = 'uri']", respectively. This expansion considerably 946 * simplifies the grouping of patterns in the Mode class. For this 947 * expansion to be correct, the priority of the pattern/template must be 948 * set to -0.25 (when no other predicates are present). 949 */ 950 public StepPattern createStepPattern(int axis, Object test, Vector predicates) { 951 int nodeType; 952 953 if (test == null) { // "*" 954 nodeType = (axis == Axis.ATTRIBUTE) ? NodeTest.ATTRIBUTE : 955 (axis == Axis.NAMESPACE) ? -1 : NodeTest.ELEMENT; 956 957 return new StepPattern(axis, nodeType, predicates); 958 } 959 else if (test instanceof Integer) { 960 nodeType = ((Integer) test).intValue(); 961 962 return new StepPattern(axis, nodeType, predicates); 963 } 964 else { 965 QName name = (QName)test; 966 boolean setPriority = false; 967 968 if (axis == Axis.NAMESPACE) { 969 nodeType = (name.toString().equals("*")) ? -1 970 : _xsltc.registerNamespacePrefix(name);; 971 } 972 else { 973 final String uri = name.getNamespace(); 974 final String local = name.getLocalPart(); 975 final QName namespace_uri = 976 _parser.getQNameIgnoreDefaultNs("namespace-uri"); 977 978 // Expand {uri}:* to *[namespace-uri() = 'uri'] - same for @* 979 if (uri != null && (local.equals("*") || local.equals("@*"))) { 980 if (predicates == null) { 981 predicates = new Vector(2); 982 } 983 984 // Priority is set by hand if no other predicates exist 985 setPriority = (predicates.size() == 0); 986 987 predicates.add( 988 new Predicate( 989 new EqualityExpr(Operators.EQ, 990 new NamespaceUriCall(namespace_uri), 991 new LiteralExpr(uri)))); 992 } 993 994 if (local.equals("*")) { 995 nodeType = (axis == Axis.ATTRIBUTE) ? NodeTest.ATTRIBUTE 996 : NodeTest.ELEMENT; 997 } 998 else if (local.equals("@*")) { 999 nodeType = NodeTest.ATTRIBUTE; 1000 } 1001 else { 1002 nodeType = (axis == Axis.ATTRIBUTE) ? _xsltc.registerAttribute(name) 1003 : _xsltc.registerElement(name); 1004 } 1005 } 1006 1007 final StepPattern result = new StepPattern(axis, nodeType, predicates); 1008 1009 // Set priority for case prefix:* and prefix:@* (no predicates) 1010 if (setPriority) { 1011 result.setPriority(-0.25); 1012 } 1013 1014 return result; 1015 } 1016 } 1017 1018 public int findNodeType(int axis, Object test) { 1019 if (test == null) { // * 1020 return (axis == Axis.ATTRIBUTE) ? 1021 NodeTest.ATTRIBUTE : 1022 (axis == Axis.NAMESPACE) ? -1 : NodeTest.ELEMENT; 1023 } 1024 else if (test instanceof Integer) { 1025 return ((Integer)test).intValue(); 1026 } 1027 else { 1028 QName name = (QName)test; 1029 1030 if (axis == Axis.NAMESPACE) { 1031 return (name.toString().equals("*")) ? -1 1032 : _xsltc.registerNamespacePrefix(name); 1033 } 1034 1035 if (name.getNamespace() == null) { 1036 final String local = name.getLocalPart(); 1037 1038 if (local.equals("*")) { 1039 return (axis == Axis.ATTRIBUTE) ? NodeTest.ATTRIBUTE 1040 : NodeTest.ELEMENT; 1041 } 1042 else if (local.equals("@*")) { 1043 return NodeTest.ATTRIBUTE; 1044 } 1045 } 1046 1047 return (axis == Axis.ATTRIBUTE) ? _xsltc.registerAttribute(name) 1048 : _xsltc.registerElement(name); 1049 } 1050 } 1051 1052 /** 1053 * Parse the expression passed to the current scanner. If this 1054 * expression contains references to local variables and it will be 1055 * compiled in an external module (not in the main class) request 1056 * the current template to create a new variable stack frame. 1057 * 1058 * @param lineNumber Line where the current expression is defined. 1059 * @param external Set to <tt>true</tt> if this expression is 1060 * compiled in a separate module. 1061 * 1062 */ 1063 public Symbol parse(String expression, int lineNumber) throws Exception { 1064 try { 1065 _expression = expression; 1066 _lineNumber = lineNumber; 1067 return super.parse(); 1068 } 1069 catch (IllegalCharException e) { 1070 ErrorMsg err = new ErrorMsg(ErrorMsg.ILLEGAL_CHAR_ERR, 1071 lineNumber, e.getMessage()); 1072 _parser.reportError(Constants.FATAL, err); 1073 } 1074 return null; 1075 } 1076 1077 /** 1078 * Lookup a variable or parameter in the symbol table given its name. 1079 * 1080 * @param name Name of the symbol being looked up. 1081 */ 1082 final SyntaxTreeNode lookupName(QName name) { 1083 // Is it a local var or param ? 1084 final SyntaxTreeNode result = _parser.lookupVariable(name); 1085 if (result != null) 1086 return(result); 1087 else 1088 return(_symbolTable.lookupName(name)); 1089 } 1090 1091 public final void addError(ErrorMsg error) { 1092 _parser.reportError(Constants.ERROR, error); 1093 } 1094 1095 public void report_error(String message, Object info) { 1096 final ErrorMsg err = new ErrorMsg(ErrorMsg.SYNTAX_ERR, _lineNumber, 1097 _expression); 1098 _parser.reportError(Constants.FATAL, err); 1099 } 1100 1101 public void report_fatal_error(String message, Object info) { 1102 // empty 1103 } 1104 1105 public RelativeLocationPath insertStep(Step step, RelativeLocationPath rlp) { 1106 if (rlp instanceof Step) { 1107 return new ParentLocationPath(step, (Step) rlp); 1108 } 1109 else if (rlp instanceof ParentLocationPath) { 1110 final ParentLocationPath plp = (ParentLocationPath) rlp; 1111 final RelativeLocationPath newrlp = insertStep(step, plp.getPath()); 1112 return new ParentLocationPath(newrlp, plp.getStep()); 1113 } 1114 else { 1115 addError(new ErrorMsg(ErrorMsg.INTERNAL_ERR, "XPathParser.insertStep")); 1116 return rlp; 1117 } 1118 } 1119 1120 /** 1121 * Returns true if the axis applies to elements only. The axes 1122 * child, attribute, namespace, descendant result in non-empty 1123 * nodesets only if the context node is of type element. 1124 */ 1125 public boolean isElementAxis(int axis) { 1126 return (axis == Axis.CHILD || axis == Axis.ATTRIBUTE || 1127 axis == Axis.NAMESPACE || axis == Axis.DESCENDANT); 1128 } 1129 1130} 1131 1132/** Cup generated class to encapsulate user supplied action code.*/ 1133class CUP$XPathParser$actions { 1134 private final XPathParser parser; 1135 1136 /** Constructor */ 1137 CUP$XPathParser$actions(XPathParser parser) { 1138 this.parser = parser; 1139 } 1140 1141 /** Method with the actual generated action code. */ 1142 public final com.sun.java_cup.internal.runtime.Symbol CUP$XPathParser$do_action( 1143 int CUP$XPathParser$act_num, 1144 com.sun.java_cup.internal.runtime.lr_parser CUP$XPathParser$parser, 1145 java.util.Stack CUP$XPathParser$stack, 1146 int CUP$XPathParser$top) 1147 throws java.lang.Exception 1148 { 1149 /* Symbol object for return from actions */ 1150 com.sun.java_cup.internal.runtime.Symbol CUP$XPathParser$result; 1151 1152 /* select the action based on the action number */ 1153 switch (CUP$XPathParser$act_num) 1154 { 1155 /*. . . . . . . . . . . . . . . . . . . .*/ 1156 case 140: // QName ::= ID 1157 { 1158 QName RESULT = null; 1159 RESULT = parser.getQNameIgnoreDefaultNs("id"); 1160 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1161 } 1162 return CUP$XPathParser$result; 1163 1164 /*. . . . . . . . . . . . . . . . . . . .*/ 1165 case 139: // QName ::= SELF 1166 { 1167 QName RESULT = null; 1168 RESULT = parser.getQNameIgnoreDefaultNs("self"); 1169 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1170 } 1171 return CUP$XPathParser$result; 1172 1173 /*. . . . . . . . . . . . . . . . . . . .*/ 1174 case 138: // QName ::= PRECEDINGSIBLING 1175 { 1176 QName RESULT = null; 1177 RESULT = parser.getQNameIgnoreDefaultNs("preceding-sibling"); 1178 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1179 } 1180 return CUP$XPathParser$result; 1181 1182 /*. . . . . . . . . . . . . . . . . . . .*/ 1183 case 137: // QName ::= PRECEDING 1184 { 1185 QName RESULT = null; 1186 RESULT = parser.getQNameIgnoreDefaultNs("preceding"); 1187 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1188 } 1189 return CUP$XPathParser$result; 1190 1191 /*. . . . . . . . . . . . . . . . . . . .*/ 1192 case 136: // QName ::= PARENT 1193 { 1194 QName RESULT = null; 1195 RESULT = parser.getQNameIgnoreDefaultNs("parent"); 1196 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1197 } 1198 return CUP$XPathParser$result; 1199 1200 /*. . . . . . . . . . . . . . . . . . . .*/ 1201 case 135: // QName ::= NAMESPACE 1202 { 1203 QName RESULT = null; 1204 RESULT = parser.getQNameIgnoreDefaultNs("namespace"); 1205 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1206 } 1207 return CUP$XPathParser$result; 1208 1209 /*. . . . . . . . . . . . . . . . . . . .*/ 1210 case 134: // QName ::= FOLLOWINGSIBLING 1211 { 1212 QName RESULT = null; 1213 RESULT = parser.getQNameIgnoreDefaultNs("following-sibling"); 1214 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1215 } 1216 return CUP$XPathParser$result; 1217 1218 /*. . . . . . . . . . . . . . . . . . . .*/ 1219 case 133: // QName ::= FOLLOWING 1220 { 1221 QName RESULT = null; 1222 RESULT = parser.getQNameIgnoreDefaultNs("following"); 1223 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1224 } 1225 return CUP$XPathParser$result; 1226 1227 /*. . . . . . . . . . . . . . . . . . . .*/ 1228 case 132: // QName ::= DESCENDANTORSELF 1229 { 1230 QName RESULT = null; 1231 RESULT = parser.getQNameIgnoreDefaultNs("decendant-or-self"); 1232 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1233 } 1234 return CUP$XPathParser$result; 1235 1236 /*. . . . . . . . . . . . . . . . . . . .*/ 1237 case 131: // QName ::= DESCENDANT 1238 { 1239 QName RESULT = null; 1240 RESULT = parser.getQNameIgnoreDefaultNs("decendant"); 1241 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1242 } 1243 return CUP$XPathParser$result; 1244 1245 /*. . . . . . . . . . . . . . . . . . . .*/ 1246 case 130: // QName ::= CHILD 1247 { 1248 QName RESULT = null; 1249 RESULT = parser.getQNameIgnoreDefaultNs("child"); 1250 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1251 } 1252 return CUP$XPathParser$result; 1253 1254 /*. . . . . . . . . . . . . . . . . . . .*/ 1255 case 129: // QName ::= ATTRIBUTE 1256 { 1257 QName RESULT = null; 1258 RESULT = parser.getQNameIgnoreDefaultNs("attribute"); 1259 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1260 } 1261 return CUP$XPathParser$result; 1262 1263 /*. . . . . . . . . . . . . . . . . . . .*/ 1264 case 128: // QName ::= ANCESTORORSELF 1265 { 1266 QName RESULT = null; 1267 RESULT = parser.getQNameIgnoreDefaultNs("ancestor-or-self"); 1268 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1269 } 1270 return CUP$XPathParser$result; 1271 1272 /*. . . . . . . . . . . . . . . . . . . .*/ 1273 case 127: // QName ::= ANCESTOR 1274 { 1275 QName RESULT = null; 1276 RESULT = parser.getQNameIgnoreDefaultNs("child"); 1277 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1278 } 1279 return CUP$XPathParser$result; 1280 1281 /*. . . . . . . . . . . . . . . . . . . .*/ 1282 case 126: // QName ::= KEY 1283 { 1284 QName RESULT = null; 1285 RESULT = parser.getQNameIgnoreDefaultNs("key"); 1286 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1287 } 1288 return CUP$XPathParser$result; 1289 1290 /*. . . . . . . . . . . . . . . . . . . .*/ 1291 case 125: // QName ::= MOD 1292 { 1293 QName RESULT = null; 1294 RESULT = parser.getQNameIgnoreDefaultNs("mod"); 1295 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1296 } 1297 return CUP$XPathParser$result; 1298 1299 /*. . . . . . . . . . . . . . . . . . . .*/ 1300 case 124: // QName ::= DIV 1301 { 1302 QName RESULT = null; 1303 RESULT = parser.getQNameIgnoreDefaultNs("div"); 1304 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1305 } 1306 return CUP$XPathParser$result; 1307 1308 /*. . . . . . . . . . . . . . . . . . . .*/ 1309 case 123: // QName ::= QNAME 1310 { 1311 QName RESULT = null; 1312 int qnameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1313 int qnameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1314 String qname = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1315 RESULT = parser.getQNameIgnoreDefaultNs(qname); 1316 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*QName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1317 } 1318 return CUP$XPathParser$result; 1319 1320 /*. . . . . . . . . . . . . . . . . . . .*/ 1321 case 122: // NameTest ::= QName 1322 { 1323 Object RESULT = null; 1324 int qnleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1325 int qnright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1326 QName qn = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1327 RESULT = qn; 1328 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(26/*NameTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1329 } 1330 return CUP$XPathParser$result; 1331 1332 /*. . . . . . . . . . . . . . . . . . . .*/ 1333 case 121: // NameTest ::= STAR 1334 { 1335 Object RESULT = null; 1336 RESULT = null; 1337 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(26/*NameTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1338 } 1339 return CUP$XPathParser$result; 1340 1341 /*. . . . . . . . . . . . . . . . . . . .*/ 1342 case 120: // NodeTest ::= PI 1343 { 1344 Object RESULT = null; 1345 RESULT = Integer.valueOf(NodeTest.PI); 1346 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1347 } 1348 return CUP$XPathParser$result; 1349 1350 /*. . . . . . . . . . . . . . . . . . . .*/ 1351 case 119: // NodeTest ::= PIPARAM LPAREN Literal RPAREN 1352 { 1353 Object RESULT = null; 1354 int lleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1355 int lright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1356 String l = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1357 1358 QName name = parser.getQNameIgnoreDefaultNs("name"); 1359 Expression exp = new EqualityExpr(Operators.EQ, 1360 new NameCall(name), 1361 new LiteralExpr(l)); 1362 Vector predicates = new Vector(); 1363 predicates.addElement(new Predicate(exp)); 1364 RESULT = new Step(Axis.CHILD, NodeTest.PI, predicates); 1365 1366 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1367 } 1368 return CUP$XPathParser$result; 1369 1370 /*. . . . . . . . . . . . . . . . . . . .*/ 1371 case 118: // NodeTest ::= COMMENT 1372 { 1373 Object RESULT = null; 1374 RESULT = Integer.valueOf(NodeTest.COMMENT); 1375 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1376 } 1377 return CUP$XPathParser$result; 1378 1379 /*. . . . . . . . . . . . . . . . . . . .*/ 1380 case 117: // NodeTest ::= TEXT 1381 { 1382 Object RESULT = null; 1383 RESULT = Integer.valueOf(NodeTest.TEXT); 1384 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1385 } 1386 return CUP$XPathParser$result; 1387 1388 /*. . . . . . . . . . . . . . . . . . . .*/ 1389 case 116: // NodeTest ::= NODE 1390 { 1391 Object RESULT = null; 1392 RESULT = Integer.valueOf(NodeTest.ANODE); 1393 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1394 } 1395 return CUP$XPathParser$result; 1396 1397 /*. . . . . . . . . . . . . . . . . . . .*/ 1398 case 115: // NodeTest ::= NameTest 1399 { 1400 Object RESULT = null; 1401 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1402 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1403 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1404 RESULT = nt; 1405 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*NodeTest*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1406 } 1407 return CUP$XPathParser$result; 1408 1409 /*. . . . . . . . . . . . . . . . . . . .*/ 1410 case 114: // Argument ::= Expr 1411 { 1412 Expression RESULT = null; 1413 int exleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1414 int exright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1415 Expression ex = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1416 RESULT = ex; 1417 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(3/*Argument*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1418 } 1419 return CUP$XPathParser$result; 1420 1421 /*. . . . . . . . . . . . . . . . . . . .*/ 1422 case 113: // VariableName ::= QName 1423 { 1424 QName RESULT = null; 1425 int vnameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1426 int vnameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1427 QName vname = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1428 1429 RESULT = vname; 1430 1431 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(39/*VariableName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1432 } 1433 return CUP$XPathParser$result; 1434 1435 /*. . . . . . . . . . . . . . . . . . . .*/ 1436 case 112: // FunctionName ::= QName 1437 { 1438 QName RESULT = null; 1439 int fnameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1440 int fnameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1441 QName fname = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1442 1443 RESULT = fname; 1444 1445 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(38/*FunctionName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1446 } 1447 return CUP$XPathParser$result; 1448 1449 /*. . . . . . . . . . . . . . . . . . . .*/ 1450 case 111: // NonemptyArgumentList ::= Argument COMMA NonemptyArgumentList 1451 { 1452 Vector RESULT = null; 1453 int argleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 1454 int argright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 1455 Expression arg = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 1456 int arglleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1457 int arglright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1458 Vector argl = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1459 argl.insertElementAt(arg, 0); RESULT = argl; 1460 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*NonemptyArgumentList*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1461 } 1462 return CUP$XPathParser$result; 1463 1464 /*. . . . . . . . . . . . . . . . . . . .*/ 1465 case 110: // NonemptyArgumentList ::= Argument 1466 { 1467 Vector RESULT = null; 1468 int argleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1469 int argright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1470 Expression arg = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1471 1472 Vector temp = new Vector(); 1473 temp.addElement(arg); 1474 RESULT = temp; 1475 1476 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*NonemptyArgumentList*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1477 } 1478 return CUP$XPathParser$result; 1479 1480 /*. . . . . . . . . . . . . . . . . . . .*/ 1481 case 109: // FunctionCall ::= FunctionName LPAREN NonemptyArgumentList RPAREN 1482 { 1483 Expression RESULT = null; 1484 int fnameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left; 1485 int fnameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).right; 1486 QName fname = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).value; 1487 int arglleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1488 int arglright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1489 Vector argl = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1490 1491 if (fname == parser.getQNameIgnoreDefaultNs("concat")) { 1492 RESULT = new ConcatCall(fname, argl); 1493 } 1494 else if (fname == parser.getQNameIgnoreDefaultNs("number")) { 1495 RESULT = new NumberCall(fname, argl); 1496 } 1497 else if (fname == parser.getQNameIgnoreDefaultNs("document")) { 1498 parser.setMultiDocument(true); 1499 RESULT = new DocumentCall(fname, argl); 1500 } 1501 else if (fname == parser.getQNameIgnoreDefaultNs("string")) { 1502 RESULT = new StringCall(fname, argl); 1503 } 1504 else if (fname == parser.getQNameIgnoreDefaultNs("boolean")) { 1505 RESULT = new BooleanCall(fname, argl); 1506 } 1507 else if (fname == parser.getQNameIgnoreDefaultNs("name")) { 1508 RESULT = new NameCall(fname, argl); 1509 } 1510 else if (fname == parser.getQNameIgnoreDefaultNs("generate-id")) { 1511 RESULT = new GenerateIdCall(fname, argl); 1512 } 1513 else if (fname == parser.getQNameIgnoreDefaultNs("not")) { 1514 RESULT = new NotCall(fname, argl); 1515 } 1516 else if (fname == parser.getQNameIgnoreDefaultNs("format-number")) { 1517 RESULT = new FormatNumberCall(fname, argl); 1518 } 1519 else if (fname == parser.getQNameIgnoreDefaultNs("unparsed-entity-uri")) { 1520 RESULT = new UnparsedEntityUriCall(fname, argl); 1521 } 1522 else if (fname == parser.getQNameIgnoreDefaultNs("key")) { 1523 RESULT = new KeyCall(fname, argl); 1524 } 1525 else if (fname == parser.getQNameIgnoreDefaultNs("id")) { 1526 RESULT = new KeyCall(fname, argl); 1527 parser.setHasIdCall(true); 1528 } 1529 else if (fname == parser.getQNameIgnoreDefaultNs("ceiling")) { 1530 RESULT = new CeilingCall(fname, argl); 1531 } 1532 else if (fname == parser.getQNameIgnoreDefaultNs("round")) { 1533 RESULT = new RoundCall(fname, argl); 1534 } 1535 else if (fname == parser.getQNameIgnoreDefaultNs("floor")) { 1536 RESULT = new FloorCall(fname, argl); 1537 } 1538 else if (fname == parser.getQNameIgnoreDefaultNs("contains")) { 1539 RESULT = new ContainsCall(fname, argl); 1540 } 1541 else if (fname == parser.getQNameIgnoreDefaultNs("string-length")) { 1542 RESULT = new StringLengthCall(fname, argl); 1543 } 1544 else if (fname == parser.getQNameIgnoreDefaultNs("starts-with")) { 1545 RESULT = new StartsWithCall(fname, argl); 1546 } 1547 else if (fname == parser.getQNameIgnoreDefaultNs("function-available")) { 1548 RESULT = new FunctionAvailableCall(fname, argl); 1549 } 1550 else if (fname == parser.getQNameIgnoreDefaultNs("element-available")) { 1551 RESULT = new ElementAvailableCall(fname, argl); 1552 } 1553 else if (fname == parser.getQNameIgnoreDefaultNs("local-name")) { 1554 RESULT = new LocalNameCall(fname, argl); 1555 } 1556 else if (fname == parser.getQNameIgnoreDefaultNs("lang")) { 1557 RESULT = new LangCall(fname, argl); 1558 } 1559 else if (fname == parser.getQNameIgnoreDefaultNs("namespace-uri")) { 1560 RESULT = new NamespaceUriCall(fname, argl); 1561 } 1562 else if (fname == parser.getQName(Constants.TRANSLET_URI, "xsltc", "cast")) { 1563 RESULT = new CastCall(fname, argl); 1564 } 1565 // Special case for extension function nodeset() 1566 else if (fname.getLocalPart().equals("nodeset") || fname.getLocalPart().equals("node-set")) { 1567 parser.setCallsNodeset(true); // implies MultiDOM 1568 RESULT = new FunctionCall(fname, argl); 1569 } 1570 else { 1571 RESULT = new FunctionCall(fname, argl); 1572 } 1573 1574 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(16/*FunctionCall*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1575 } 1576 return CUP$XPathParser$result; 1577 1578 /*. . . . . . . . . . . . . . . . . . . .*/ 1579 case 108: // FunctionCall ::= FunctionName LPAREN RPAREN 1580 { 1581 Expression RESULT = null; 1582 int fnameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 1583 int fnameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 1584 QName fname = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 1585 1586 1587 if (fname == parser.getQNameIgnoreDefaultNs("current")) { 1588 RESULT = new CurrentCall(fname); 1589 } 1590 else if (fname == parser.getQNameIgnoreDefaultNs("number")) { 1591 RESULT = new NumberCall(fname, parser.EmptyArgs); 1592 } 1593 else if (fname == parser.getQNameIgnoreDefaultNs("string")) { 1594 RESULT = new StringCall(fname, parser.EmptyArgs); 1595 } 1596 else if (fname == parser.getQNameIgnoreDefaultNs("concat")) { 1597 RESULT = new ConcatCall(fname, parser.EmptyArgs); 1598 } 1599 else if (fname == parser.getQNameIgnoreDefaultNs("true")) { 1600 RESULT = new BooleanExpr(true); 1601 } 1602 else if (fname == parser.getQNameIgnoreDefaultNs("false")) { 1603 RESULT = new BooleanExpr(false); 1604 } 1605 else if (fname == parser.getQNameIgnoreDefaultNs("name")) { 1606 RESULT = new NameCall(fname); 1607 } 1608 else if (fname == parser.getQNameIgnoreDefaultNs("generate-id")) { 1609 RESULT = new GenerateIdCall(fname, parser.EmptyArgs); 1610 } 1611 else if (fname == parser.getQNameIgnoreDefaultNs("string-length")) { 1612 RESULT = new StringLengthCall(fname, parser.EmptyArgs); 1613 } 1614 else if (fname == parser.getQNameIgnoreDefaultNs("position")) { 1615 RESULT = new PositionCall(fname); 1616 } 1617 else if (fname == parser.getQNameIgnoreDefaultNs("last")) { 1618 RESULT = new LastCall(fname); 1619 } 1620 else if (fname == parser.getQNameIgnoreDefaultNs("local-name")) { 1621 RESULT = new LocalNameCall(fname); 1622 } 1623 else if (fname == parser.getQNameIgnoreDefaultNs("namespace-uri")) { 1624 RESULT = new NamespaceUriCall(fname); 1625 } 1626 else { 1627 RESULT = new FunctionCall(fname, parser.EmptyArgs); 1628 } 1629 1630 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(16/*FunctionCall*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1631 } 1632 return CUP$XPathParser$result; 1633 1634 /*. . . . . . . . . . . . . . . . . . . .*/ 1635 case 107: // VariableReference ::= DOLLAR VariableName 1636 { 1637 Expression RESULT = null; 1638 int varNameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1639 int varNameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1640 QName varName = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1641 1642 // An empty qname prefix for a variable or parameter reference 1643 // should map to the null namespace and not the default URI. 1644 SyntaxTreeNode node = parser.lookupName(varName); 1645 1646 if (node != null) { 1647 if (node instanceof Variable) { 1648 RESULT = new VariableRef((Variable)node); 1649 } 1650 else if (node instanceof Param) { 1651 RESULT = new ParameterRef((Param)node); 1652 } 1653 else { 1654 RESULT = new UnresolvedRef(varName); 1655 } 1656 } 1657 1658 if (node == null) { 1659 RESULT = new UnresolvedRef(varName); 1660 } 1661 1662 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(15/*VariableReference*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1663 } 1664 return CUP$XPathParser$result; 1665 1666 /*. . . . . . . . . . . . . . . . . . . .*/ 1667 case 106: // PrimaryExpr ::= FunctionCall 1668 { 1669 Expression RESULT = null; 1670 int fcleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1671 int fcright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1672 Expression fc = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1673 RESULT = fc; 1674 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1675 } 1676 return CUP$XPathParser$result; 1677 1678 /*. . . . . . . . . . . . . . . . . . . .*/ 1679 case 105: // PrimaryExpr ::= REAL 1680 { 1681 Expression RESULT = null; 1682 int numleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1683 int numright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1684 Double num = (Double)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1685 RESULT = new RealExpr(num.doubleValue()); 1686 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1687 } 1688 return CUP$XPathParser$result; 1689 1690 /*. . . . . . . . . . . . . . . . . . . .*/ 1691 case 104: // PrimaryExpr ::= INT 1692 { 1693 Expression RESULT = null; 1694 int numleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1695 int numright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1696 Long num = (Long)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1697 1698 long value = num.longValue(); 1699 if (value < Integer.MIN_VALUE || value > Integer.MAX_VALUE) { 1700 RESULT = new RealExpr(value); 1701 } 1702 else { 1703 if (num.doubleValue() == -0) 1704 RESULT = new RealExpr(num.doubleValue()); 1705 else if (num.intValue() == 0) 1706 RESULT = new IntExpr(num.intValue()); 1707 else if (num.doubleValue() == 0.0) 1708 RESULT = new RealExpr(num.doubleValue()); 1709 else 1710 RESULT = new IntExpr(num.intValue()); 1711 } 1712 1713 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1714 } 1715 return CUP$XPathParser$result; 1716 1717 /*. . . . . . . . . . . . . . . . . . . .*/ 1718 case 103: // PrimaryExpr ::= Literal 1719 { 1720 Expression RESULT = null; 1721 int stringleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1722 int stringright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1723 String string = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1724 1725 /* 1726 * If the string appears to have the syntax of a QName, store 1727 * namespace info in the literal expression. This is used for 1728 * element-available and function-available functions, among 1729 * others. Also, the default namespace must be ignored. 1730 */ 1731 String namespace = null; 1732 final int index = string.lastIndexOf(':'); 1733 1734 if (index > 0) { 1735 final String prefix = string.substring(0, index); 1736 namespace = parser._symbolTable.lookupNamespace(prefix); 1737 } 1738 RESULT = (namespace == null) ? new LiteralExpr(string) 1739 : new LiteralExpr(string, namespace); 1740 1741 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1742 } 1743 return CUP$XPathParser$result; 1744 1745 /*. . . . . . . . . . . . . . . . . . . .*/ 1746 case 102: // PrimaryExpr ::= LPAREN Expr RPAREN 1747 { 1748 Expression RESULT = null; 1749 int exleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1750 int exright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1751 Expression ex = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1752 RESULT = ex; 1753 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1754 } 1755 return CUP$XPathParser$result; 1756 1757 /*. . . . . . . . . . . . . . . . . . . .*/ 1758 case 101: // PrimaryExpr ::= VariableReference 1759 { 1760 Expression RESULT = null; 1761 int vrleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1762 int vrright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1763 Expression vr = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1764 RESULT = vr; 1765 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*PrimaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1766 } 1767 return CUP$XPathParser$result; 1768 1769 /*. . . . . . . . . . . . . . . . . . . .*/ 1770 case 100: // FilterExpr ::= PrimaryExpr Predicates 1771 { 1772 Expression RESULT = null; 1773 int primaryleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1774 int primaryright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1775 Expression primary = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1776 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1777 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1778 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1779 RESULT = new FilterExpr(primary, pp); 1780 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*FilterExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1781 } 1782 return CUP$XPathParser$result; 1783 1784 /*. . . . . . . . . . . . . . . . . . . .*/ 1785 case 99: // FilterExpr ::= PrimaryExpr 1786 { 1787 Expression RESULT = null; 1788 int primaryleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1789 int primaryright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1790 Expression primary = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1791 RESULT = primary; 1792 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*FilterExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1793 } 1794 return CUP$XPathParser$result; 1795 1796 /*. . . . . . . . . . . . . . . . . . . .*/ 1797 case 98: // AbbreviatedStep ::= DDOT 1798 { 1799 Expression RESULT = null; 1800 RESULT = new Step(Axis.PARENT, NodeTest.ANODE, null); 1801 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(20/*AbbreviatedStep*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1802 } 1803 return CUP$XPathParser$result; 1804 1805 /*. . . . . . . . . . . . . . . . . . . .*/ 1806 case 97: // AbbreviatedStep ::= DOT 1807 { 1808 Expression RESULT = null; 1809 RESULT = new Step(Axis.SELF, NodeTest.ANODE, null); 1810 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(20/*AbbreviatedStep*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1811 } 1812 return CUP$XPathParser$result; 1813 1814 /*. . . . . . . . . . . . . . . . . . . .*/ 1815 case 96: // AxisName ::= SELF 1816 { 1817 Integer RESULT = null; 1818 RESULT = Integer.valueOf(Axis.SELF); 1819 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1820 } 1821 return CUP$XPathParser$result; 1822 1823 /*. . . . . . . . . . . . . . . . . . . .*/ 1824 case 95: // AxisName ::= PRECEDINGSIBLING 1825 { 1826 Integer RESULT = null; 1827 RESULT = Integer.valueOf(Axis.PRECEDINGSIBLING); 1828 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1829 } 1830 return CUP$XPathParser$result; 1831 1832 /*. . . . . . . . . . . . . . . . . . . .*/ 1833 case 94: // AxisName ::= PRECEDING 1834 { 1835 Integer RESULT = null; 1836 RESULT = Integer.valueOf(Axis.PRECEDING); 1837 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1838 } 1839 return CUP$XPathParser$result; 1840 1841 /*. . . . . . . . . . . . . . . . . . . .*/ 1842 case 93: // AxisName ::= PARENT 1843 { 1844 Integer RESULT = null; 1845 RESULT = Integer.valueOf(Axis.PARENT); 1846 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1847 } 1848 return CUP$XPathParser$result; 1849 1850 /*. . . . . . . . . . . . . . . . . . . .*/ 1851 case 92: // AxisName ::= NAMESPACE 1852 { 1853 Integer RESULT = null; 1854 RESULT = Integer.valueOf(Axis.NAMESPACE); 1855 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1856 } 1857 return CUP$XPathParser$result; 1858 1859 /*. . . . . . . . . . . . . . . . . . . .*/ 1860 case 91: // AxisName ::= FOLLOWINGSIBLING 1861 { 1862 Integer RESULT = null; 1863 RESULT = Integer.valueOf(Axis.FOLLOWINGSIBLING); 1864 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1865 } 1866 return CUP$XPathParser$result; 1867 1868 /*. . . . . . . . . . . . . . . . . . . .*/ 1869 case 90: // AxisName ::= FOLLOWING 1870 { 1871 Integer RESULT = null; 1872 RESULT = Integer.valueOf(Axis.FOLLOWING); 1873 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1874 } 1875 return CUP$XPathParser$result; 1876 1877 /*. . . . . . . . . . . . . . . . . . . .*/ 1878 case 89: // AxisName ::= DESCENDANTORSELF 1879 { 1880 Integer RESULT = null; 1881 RESULT = Integer.valueOf(Axis.DESCENDANTORSELF); 1882 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1883 } 1884 return CUP$XPathParser$result; 1885 1886 /*. . . . . . . . . . . . . . . . . . . .*/ 1887 case 88: // AxisName ::= DESCENDANT 1888 { 1889 Integer RESULT = null; 1890 RESULT = Integer.valueOf(Axis.DESCENDANT); 1891 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1892 } 1893 return CUP$XPathParser$result; 1894 1895 /*. . . . . . . . . . . . . . . . . . . .*/ 1896 case 87: // AxisName ::= CHILD 1897 { 1898 Integer RESULT = null; 1899 RESULT = Integer.valueOf(Axis.CHILD); 1900 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1901 } 1902 return CUP$XPathParser$result; 1903 1904 /*. . . . . . . . . . . . . . . . . . . .*/ 1905 case 86: // AxisName ::= ATTRIBUTE 1906 { 1907 Integer RESULT = null; 1908 RESULT = Integer.valueOf(Axis.ATTRIBUTE); 1909 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1910 } 1911 return CUP$XPathParser$result; 1912 1913 /*. . . . . . . . . . . . . . . . . . . .*/ 1914 case 85: // AxisName ::= ANCESTORORSELF 1915 { 1916 Integer RESULT = null; 1917 RESULT = Integer.valueOf(Axis.ANCESTORORSELF); 1918 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1919 } 1920 return CUP$XPathParser$result; 1921 1922 /*. . . . . . . . . . . . . . . . . . . .*/ 1923 case 84: // AxisName ::= ANCESTOR 1924 { 1925 Integer RESULT = null; 1926 RESULT = Integer.valueOf(Axis.ANCESTOR); 1927 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*AxisName*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1928 } 1929 return CUP$XPathParser$result; 1930 1931 /*. . . . . . . . . . . . . . . . . . . .*/ 1932 case 83: // AxisSpecifier ::= ATSIGN 1933 { 1934 Integer RESULT = null; 1935 RESULT = Integer.valueOf(Axis.ATTRIBUTE); 1936 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(41/*AxisSpecifier*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1937 } 1938 return CUP$XPathParser$result; 1939 1940 /*. . . . . . . . . . . . . . . . . . . .*/ 1941 case 82: // AxisSpecifier ::= AxisName DCOLON 1942 { 1943 Integer RESULT = null; 1944 int anleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1945 int anright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1946 Integer an = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1947 RESULT = an; 1948 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(41/*AxisSpecifier*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1949 } 1950 return CUP$XPathParser$result; 1951 1952 /*. . . . . . . . . . . . . . . . . . . .*/ 1953 case 81: // Step ::= AbbreviatedStep 1954 { 1955 Expression RESULT = null; 1956 int abbrevleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1957 int abbrevright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1958 Expression abbrev = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1959 RESULT = abbrev; 1960 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*Step*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1961 } 1962 return CUP$XPathParser$result; 1963 1964 /*. . . . . . . . . . . . . . . . . . . .*/ 1965 case 80: // Step ::= AxisSpecifier NodeTest 1966 { 1967 Expression RESULT = null; 1968 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1969 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1970 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1971 int ntestleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1972 int ntestright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1973 Object ntest = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1974 RESULT = new Step(axis.intValue(), 1975 parser.findNodeType(axis.intValue(), ntest), 1976 null); 1977 1978 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*Step*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 1979 } 1980 return CUP$XPathParser$result; 1981 1982 /*. . . . . . . . . . . . . . . . . . . .*/ 1983 case 79: // Step ::= AxisSpecifier NodeTest Predicates 1984 { 1985 Expression RESULT = null; 1986 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 1987 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 1988 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 1989 int ntestleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 1990 int ntestright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 1991 Object ntest = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 1992 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 1993 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 1994 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 1995 RESULT = new Step(axis.intValue(), 1996 parser.findNodeType(axis.intValue(), ntest), 1997 pp); 1998 1999 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*Step*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2000 } 2001 return CUP$XPathParser$result; 2002 2003 /*. . . . . . . . . . . . . . . . . . . .*/ 2004 case 78: // Step ::= NodeTest Predicates 2005 { 2006 Expression RESULT = null; 2007 int ntestleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2008 int ntestright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2009 Object ntest = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2010 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2011 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2012 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2013 2014 if (ntest instanceof Step) { 2015 Step step = (Step)ntest; 2016 step.addPredicates(pp); 2017 RESULT = (Step)ntest; 2018 } 2019 else { 2020 RESULT = new Step(Axis.CHILD, 2021 parser.findNodeType(Axis.CHILD, ntest), pp); 2022 } 2023 2024 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*Step*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2025 } 2026 return CUP$XPathParser$result; 2027 2028 /*. . . . . . . . . . . . . . . . . . . .*/ 2029 case 77: // Step ::= NodeTest 2030 { 2031 Expression RESULT = null; 2032 int ntestleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2033 int ntestright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2034 Object ntest = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2035 2036 if (ntest instanceof Step) { 2037 RESULT = (Step)ntest; 2038 } 2039 else { 2040 RESULT = new Step(Axis.CHILD, 2041 parser.findNodeType(Axis.CHILD, ntest), 2042 null); 2043 } 2044 2045 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*Step*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2046 } 2047 return CUP$XPathParser$result; 2048 2049 /*. . . . . . . . . . . . . . . . . . . .*/ 2050 case 76: // AbbreviatedAbsoluteLocationPath ::= DSLASH RelativeLocationPath 2051 { 2052 Expression RESULT = null; 2053 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2054 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2055 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2056 2057 // 2058 // Expand '//' into '/descendant-or-self::node()/' or 2059 // into /descendant-or-self::*/ 2060 // 2061 int nodeType = DOM.NO_TYPE; 2062 if (rlp instanceof Step && 2063 parser.isElementAxis(((Step) rlp).getAxis())) 2064 { 2065 nodeType = DTM.ELEMENT_NODE; 2066 } 2067 final Step step = new Step(Axis.DESCENDANTORSELF, nodeType, null); 2068 RESULT = new AbsoluteLocationPath(parser.insertStep(step, 2069 (RelativeLocationPath) rlp)); 2070 2071 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(24/*AbbreviatedAbsoluteLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2072 } 2073 return CUP$XPathParser$result; 2074 2075 /*. . . . . . . . . . . . . . . . . . . .*/ 2076 case 75: // AbbreviatedRelativeLocationPath ::= RelativeLocationPath DSLASH Step 2077 { 2078 Expression RESULT = null; 2079 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2080 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2081 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2082 int stepleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2083 int stepright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2084 Expression step = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2085 2086 final Step right = (Step)step; 2087 final int axis = right.getAxis(); 2088 final int type = right.getNodeType(); 2089 final Vector predicates = right.getPredicates(); 2090 2091 if ((axis == Axis.CHILD) && (type != NodeTest.ATTRIBUTE)) { 2092 // Compress './/child:E' into 'descendant::E' - if possible 2093 if (predicates == null) { 2094 right.setAxis(Axis.DESCENDANT); 2095 if (rlp instanceof Step && ((Step)rlp).isAbbreviatedDot()) { 2096 RESULT = right; 2097 } 2098 else { 2099 // Expand 'rlp//child::E' into 'rlp/descendant::E' 2100 RelativeLocationPath left = (RelativeLocationPath)rlp; 2101 RESULT = new ParentLocationPath(left, right); 2102 } 2103 } 2104 else { 2105 // Expand './/step' -> 'descendant-or-self::*/step' 2106 if (rlp instanceof Step && ((Step)rlp).isAbbreviatedDot()) { 2107 Step left = new Step(Axis.DESCENDANTORSELF, 2108 DTM.ELEMENT_NODE, null); 2109 RESULT = new ParentLocationPath(left, right); 2110 } 2111 else { 2112 // Expand 'rlp//step' -> 'rlp/descendant-or-self::*/step' 2113 RelativeLocationPath left = (RelativeLocationPath)rlp; 2114 Step mid = new Step(Axis.DESCENDANTORSELF, 2115 DTM.ELEMENT_NODE, null); 2116 ParentLocationPath ppl = new ParentLocationPath(mid, right); 2117 RESULT = new ParentLocationPath(left, ppl); 2118 } 2119 } 2120 } 2121 else if ((axis == Axis.ATTRIBUTE) || (type == NodeTest.ATTRIBUTE)) { 2122 // Expand 'rlp//step' -> 'rlp/descendant-or-self::*/step' 2123 RelativeLocationPath left = (RelativeLocationPath)rlp; 2124 Step middle = new Step(Axis.DESCENDANTORSELF, 2125 DTM.ELEMENT_NODE, null); 2126 ParentLocationPath ppl = new ParentLocationPath(middle, right); 2127 RESULT = new ParentLocationPath(left, ppl); 2128 } 2129 else { 2130 // Expand 'rlp//step' -> 'rlp/descendant-or-self::node()/step' 2131 RelativeLocationPath left = (RelativeLocationPath)rlp; 2132 Step middle = new Step(Axis.DESCENDANTORSELF, 2133 DOM.NO_TYPE, null); 2134 ParentLocationPath ppl = new ParentLocationPath(middle, right); 2135 RESULT = new ParentLocationPath(left, ppl); 2136 } 2137 2138 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(22/*AbbreviatedRelativeLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2139 } 2140 return CUP$XPathParser$result; 2141 2142 /*. . . . . . . . . . . . . . . . . . . .*/ 2143 case 74: // AbsoluteLocationPath ::= AbbreviatedAbsoluteLocationPath 2144 { 2145 Expression RESULT = null; 2146 int aalpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2147 int aalpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2148 Expression aalp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2149 RESULT = aalp; 2150 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*AbsoluteLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2151 } 2152 return CUP$XPathParser$result; 2153 2154 /*. . . . . . . . . . . . . . . . . . . .*/ 2155 case 73: // AbsoluteLocationPath ::= SLASH RelativeLocationPath 2156 { 2157 Expression RESULT = null; 2158 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2159 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2160 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2161 RESULT = new AbsoluteLocationPath(rlp); 2162 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*AbsoluteLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2163 } 2164 return CUP$XPathParser$result; 2165 2166 /*. . . . . . . . . . . . . . . . . . . .*/ 2167 case 72: // AbsoluteLocationPath ::= SLASH 2168 { 2169 Expression RESULT = null; 2170 RESULT = new AbsoluteLocationPath(); 2171 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*AbsoluteLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2172 } 2173 return CUP$XPathParser$result; 2174 2175 /*. . . . . . . . . . . . . . . . . . . .*/ 2176 case 71: // RelativeLocationPath ::= AbbreviatedRelativeLocationPath 2177 { 2178 Expression RESULT = null; 2179 int arlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2180 int arlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2181 Expression arlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2182 RESULT = arlp; 2183 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(21/*RelativeLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2184 } 2185 return CUP$XPathParser$result; 2186 2187 /*. . . . . . . . . . . . . . . . . . . .*/ 2188 case 70: // RelativeLocationPath ::= RelativeLocationPath SLASH Step 2189 { 2190 Expression RESULT = null; 2191 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2192 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2193 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2194 int stepleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2195 int stepright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2196 Expression step = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2197 2198 if (rlp instanceof Step && ((Step) rlp).isAbbreviatedDot()) { 2199 RESULT = step; // Remove './' from the middle 2200 } 2201 else if (((Step) step).isAbbreviatedDot()) { 2202 RESULT = rlp; // Remove '/.' from the end 2203 } 2204 else { 2205 RESULT = 2206 new ParentLocationPath((RelativeLocationPath) rlp, step); 2207 } 2208 2209 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(21/*RelativeLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2210 } 2211 return CUP$XPathParser$result; 2212 2213 /*. . . . . . . . . . . . . . . . . . . .*/ 2214 case 69: // RelativeLocationPath ::= Step 2215 { 2216 Expression RESULT = null; 2217 int stepleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2218 int stepright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2219 Expression step = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2220 RESULT = step; 2221 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(21/*RelativeLocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2222 } 2223 return CUP$XPathParser$result; 2224 2225 /*. . . . . . . . . . . . . . . . . . . .*/ 2226 case 68: // LocationPath ::= AbsoluteLocationPath 2227 { 2228 Expression RESULT = null; 2229 int alpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2230 int alpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2231 Expression alp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2232 RESULT = alp; 2233 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(4/*LocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2234 } 2235 return CUP$XPathParser$result; 2236 2237 /*. . . . . . . . . . . . . . . . . . . .*/ 2238 case 67: // LocationPath ::= RelativeLocationPath 2239 { 2240 Expression RESULT = null; 2241 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2242 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2243 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2244 RESULT = rlp; 2245 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(4/*LocationPath*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2246 } 2247 return CUP$XPathParser$result; 2248 2249 /*. . . . . . . . . . . . . . . . . . . .*/ 2250 case 66: // PathExpr ::= FilterExpr DSLASH RelativeLocationPath 2251 { 2252 Expression RESULT = null; 2253 int fexpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2254 int fexpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2255 Expression fexp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2256 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2257 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2258 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2259 2260 // 2261 // Expand '//' into '/descendant-or-self::node()/' or 2262 // into /descendant-or-self::*/ 2263 // 2264 int nodeType = DOM.NO_TYPE; 2265 if (rlp instanceof Step && 2266 parser.isElementAxis(((Step) rlp).getAxis())) 2267 { 2268 nodeType = DTM.ELEMENT_NODE; 2269 } 2270 final Step step = new Step(Axis.DESCENDANTORSELF, nodeType, null); 2271 FilterParentPath fpp = new FilterParentPath(fexp, step); 2272 fpp = new FilterParentPath(fpp, rlp); 2273 if (fexp instanceof KeyCall == false) { 2274 fpp.setDescendantAxis(); 2275 } 2276 RESULT = fpp; 2277 2278 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*PathExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2279 } 2280 return CUP$XPathParser$result; 2281 2282 /*. . . . . . . . . . . . . . . . . . . .*/ 2283 case 65: // PathExpr ::= FilterExpr SLASH RelativeLocationPath 2284 { 2285 Expression RESULT = null; 2286 int fexpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2287 int fexpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2288 Expression fexp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2289 int rlpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2290 int rlpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2291 Expression rlp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2292 RESULT = new FilterParentPath(fexp, rlp); 2293 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*PathExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2294 } 2295 return CUP$XPathParser$result; 2296 2297 /*. . . . . . . . . . . . . . . . . . . .*/ 2298 case 64: // PathExpr ::= FilterExpr 2299 { 2300 Expression RESULT = null; 2301 int fexpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2302 int fexpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2303 Expression fexp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2304 RESULT = fexp; 2305 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*PathExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2306 } 2307 return CUP$XPathParser$result; 2308 2309 /*. . . . . . . . . . . . . . . . . . . .*/ 2310 case 63: // PathExpr ::= LocationPath 2311 { 2312 Expression RESULT = null; 2313 int lpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2314 int lpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2315 Expression lp = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2316 RESULT = lp; 2317 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*PathExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2318 } 2319 return CUP$XPathParser$result; 2320 2321 /*. . . . . . . . . . . . . . . . . . . .*/ 2322 case 62: // UnionExpr ::= PathExpr VBAR UnionExpr 2323 { 2324 Expression RESULT = null; 2325 int peleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2326 int peright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2327 Expression pe = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2328 int restleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2329 int restright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2330 Expression rest = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2331 RESULT = new UnionPathExpr(pe, rest); 2332 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*UnionExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2333 } 2334 return CUP$XPathParser$result; 2335 2336 /*. . . . . . . . . . . . . . . . . . . .*/ 2337 case 61: // UnionExpr ::= PathExpr 2338 { 2339 Expression RESULT = null; 2340 int peleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2341 int peright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2342 Expression pe = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2343 RESULT = pe; 2344 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*UnionExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2345 } 2346 return CUP$XPathParser$result; 2347 2348 /*. . . . . . . . . . . . . . . . . . . .*/ 2349 case 60: // UnaryExpr ::= MINUS UnaryExpr 2350 { 2351 Expression RESULT = null; 2352 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2353 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2354 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2355 RESULT = new UnaryOpExpr(ue); 2356 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(14/*UnaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2357 } 2358 return CUP$XPathParser$result; 2359 2360 /*. . . . . . . . . . . . . . . . . . . .*/ 2361 case 59: // UnaryExpr ::= UnionExpr 2362 { 2363 Expression RESULT = null; 2364 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2365 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2366 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2367 RESULT = ue; 2368 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(14/*UnaryExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2369 } 2370 return CUP$XPathParser$result; 2371 2372 /*. . . . . . . . . . . . . . . . . . . .*/ 2373 case 58: // MultiplicativeExpr ::= MultiplicativeExpr MOD UnaryExpr 2374 { 2375 Expression RESULT = null; 2376 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2377 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2378 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2379 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2380 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2381 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2382 RESULT = new BinOpExpr(BinOpExpr.MOD, me, ue); 2383 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*MultiplicativeExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2384 } 2385 return CUP$XPathParser$result; 2386 2387 /*. . . . . . . . . . . . . . . . . . . .*/ 2388 case 57: // MultiplicativeExpr ::= MultiplicativeExpr DIV UnaryExpr 2389 { 2390 Expression RESULT = null; 2391 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2392 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2393 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2394 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2395 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2396 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2397 RESULT = new BinOpExpr(BinOpExpr.DIV, me, ue); 2398 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*MultiplicativeExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2399 } 2400 return CUP$XPathParser$result; 2401 2402 /*. . . . . . . . . . . . . . . . . . . .*/ 2403 case 56: // MultiplicativeExpr ::= MultiplicativeExpr STAR UnaryExpr 2404 { 2405 Expression RESULT = null; 2406 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2407 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2408 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2409 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2410 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2411 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2412 RESULT = new BinOpExpr(BinOpExpr.TIMES, me, ue); 2413 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*MultiplicativeExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2414 } 2415 return CUP$XPathParser$result; 2416 2417 /*. . . . . . . . . . . . . . . . . . . .*/ 2418 case 55: // MultiplicativeExpr ::= UnaryExpr 2419 { 2420 Expression RESULT = null; 2421 int ueleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2422 int ueright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2423 Expression ue = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2424 RESULT = ue; 2425 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*MultiplicativeExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2426 } 2427 return CUP$XPathParser$result; 2428 2429 /*. . . . . . . . . . . . . . . . . . . .*/ 2430 case 54: // AdditiveExpr ::= AdditiveExpr MINUS MultiplicativeExpr 2431 { 2432 Expression RESULT = null; 2433 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2434 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2435 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2436 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2437 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2438 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2439 RESULT = new BinOpExpr(BinOpExpr.MINUS, ae, me); 2440 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(12/*AdditiveExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2441 } 2442 return CUP$XPathParser$result; 2443 2444 /*. . . . . . . . . . . . . . . . . . . .*/ 2445 case 53: // AdditiveExpr ::= AdditiveExpr PLUS MultiplicativeExpr 2446 { 2447 Expression RESULT = null; 2448 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2449 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2450 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2451 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2452 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2453 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2454 RESULT = new BinOpExpr(BinOpExpr.PLUS, ae, me); 2455 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(12/*AdditiveExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2456 } 2457 return CUP$XPathParser$result; 2458 2459 /*. . . . . . . . . . . . . . . . . . . .*/ 2460 case 52: // AdditiveExpr ::= MultiplicativeExpr 2461 { 2462 Expression RESULT = null; 2463 int meleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2464 int meright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2465 Expression me = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2466 RESULT = me; 2467 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(12/*AdditiveExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2468 } 2469 return CUP$XPathParser$result; 2470 2471 /*. . . . . . . . . . . . . . . . . . . .*/ 2472 case 51: // RelationalExpr ::= RelationalExpr GE AdditiveExpr 2473 { 2474 Expression RESULT = null; 2475 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2476 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2477 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2478 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2479 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2480 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2481 RESULT = new RelationalExpr(Operators.GE, re, ae); 2482 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*RelationalExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2483 } 2484 return CUP$XPathParser$result; 2485 2486 /*. . . . . . . . . . . . . . . . . . . .*/ 2487 case 50: // RelationalExpr ::= RelationalExpr LE AdditiveExpr 2488 { 2489 Expression RESULT = null; 2490 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2491 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2492 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2493 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2494 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2495 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2496 RESULT = new RelationalExpr(Operators.LE, re, ae); 2497 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*RelationalExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2498 } 2499 return CUP$XPathParser$result; 2500 2501 /*. . . . . . . . . . . . . . . . . . . .*/ 2502 case 49: // RelationalExpr ::= RelationalExpr GT AdditiveExpr 2503 { 2504 Expression RESULT = null; 2505 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2506 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2507 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2508 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2509 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2510 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2511 RESULT = new RelationalExpr(Operators.GT, re, ae); 2512 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*RelationalExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2513 } 2514 return CUP$XPathParser$result; 2515 2516 /*. . . . . . . . . . . . . . . . . . . .*/ 2517 case 48: // RelationalExpr ::= RelationalExpr LT AdditiveExpr 2518 { 2519 Expression RESULT = null; 2520 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2521 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2522 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2523 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2524 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2525 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2526 RESULT = new RelationalExpr(Operators.LT, re, ae); 2527 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*RelationalExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2528 } 2529 return CUP$XPathParser$result; 2530 2531 /*. . . . . . . . . . . . . . . . . . . .*/ 2532 case 47: // RelationalExpr ::= AdditiveExpr 2533 { 2534 Expression RESULT = null; 2535 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2536 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2537 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2538 RESULT = ae; 2539 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*RelationalExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2540 } 2541 return CUP$XPathParser$result; 2542 2543 /*. . . . . . . . . . . . . . . . . . . .*/ 2544 case 46: // EqualityExpr ::= EqualityExpr NE RelationalExpr 2545 { 2546 Expression RESULT = null; 2547 int eeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2548 int eeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2549 Expression ee = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2550 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2551 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2552 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2553 RESULT = new EqualityExpr(Operators.NE, ee, re); 2554 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(10/*EqualityExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2555 } 2556 return CUP$XPathParser$result; 2557 2558 /*. . . . . . . . . . . . . . . . . . . .*/ 2559 case 45: // EqualityExpr ::= EqualityExpr EQ RelationalExpr 2560 { 2561 Expression RESULT = null; 2562 int eeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2563 int eeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2564 Expression ee = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2565 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2566 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2567 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2568 RESULT = new EqualityExpr(Operators.EQ, ee, re); 2569 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(10/*EqualityExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2570 } 2571 return CUP$XPathParser$result; 2572 2573 /*. . . . . . . . . . . . . . . . . . . .*/ 2574 case 44: // EqualityExpr ::= RelationalExpr 2575 { 2576 Expression RESULT = null; 2577 int releft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2578 int reright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2579 Expression re = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2580 RESULT = re; 2581 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(10/*EqualityExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2582 } 2583 return CUP$XPathParser$result; 2584 2585 /*. . . . . . . . . . . . . . . . . . . .*/ 2586 case 43: // AndExpr ::= AndExpr AND EqualityExpr 2587 { 2588 Expression RESULT = null; 2589 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2590 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2591 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2592 int eeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2593 int eeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2594 Expression ee = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2595 RESULT = new LogicalExpr(LogicalExpr.AND, ae, ee); 2596 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(9/*AndExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2597 } 2598 return CUP$XPathParser$result; 2599 2600 /*. . . . . . . . . . . . . . . . . . . .*/ 2601 case 42: // AndExpr ::= EqualityExpr 2602 { 2603 Expression RESULT = null; 2604 int eleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2605 int eright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2606 Expression e = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2607 RESULT = e; 2608 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(9/*AndExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2609 } 2610 return CUP$XPathParser$result; 2611 2612 /*. . . . . . . . . . . . . . . . . . . .*/ 2613 case 41: // OrExpr ::= OrExpr OR AndExpr 2614 { 2615 Expression RESULT = null; 2616 int oeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2617 int oeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2618 Expression oe = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2619 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2620 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2621 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2622 RESULT = new LogicalExpr(LogicalExpr.OR, oe, ae); 2623 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(8/*OrExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2624 } 2625 return CUP$XPathParser$result; 2626 2627 /*. . . . . . . . . . . . . . . . . . . .*/ 2628 case 40: // OrExpr ::= AndExpr 2629 { 2630 Expression RESULT = null; 2631 int aeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2632 int aeright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2633 Expression ae = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2634 RESULT = ae; 2635 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(8/*OrExpr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2636 } 2637 return CUP$XPathParser$result; 2638 2639 /*. . . . . . . . . . . . . . . . . . . .*/ 2640 case 39: // Expr ::= OrExpr 2641 { 2642 Expression RESULT = null; 2643 int exleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2644 int exright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2645 Expression ex = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2646 RESULT = ex; 2647 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(2/*Expr*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2648 } 2649 return CUP$XPathParser$result; 2650 2651 /*. . . . . . . . . . . . . . . . . . . .*/ 2652 case 38: // Predicate ::= LBRACK Expr RBRACK 2653 { 2654 Expression RESULT = null; 2655 int eleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2656 int eright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2657 Expression e = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2658 2659 RESULT = new Predicate(e); 2660 2661 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(5/*Predicate*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2662 } 2663 return CUP$XPathParser$result; 2664 2665 /*. . . . . . . . . . . . . . . . . . . .*/ 2666 case 37: // Predicates ::= Predicate Predicates 2667 { 2668 Vector RESULT = null; 2669 int pleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2670 int pright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2671 Expression p = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2672 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2673 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2674 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2675 pp.insertElementAt(p, 0); RESULT = pp; 2676 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(35/*Predicates*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2677 } 2678 return CUP$XPathParser$result; 2679 2680 /*. . . . . . . . . . . . . . . . . . . .*/ 2681 case 36: // Predicates ::= Predicate 2682 { 2683 Vector RESULT = null; 2684 int pleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2685 int pright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2686 Expression p = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2687 2688 Vector temp = new Vector(); 2689 temp.addElement(p); 2690 RESULT = temp; 2691 2692 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(35/*Predicates*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2693 } 2694 return CUP$XPathParser$result; 2695 2696 /*. . . . . . . . . . . . . . . . . . . .*/ 2697 case 35: // ChildOrAttributeAxisSpecifier ::= ATTRIBUTE DCOLON 2698 { 2699 Integer RESULT = null; 2700 RESULT = Integer.valueOf(Axis.ATTRIBUTE); 2701 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*ChildOrAttributeAxisSpecifier*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2702 } 2703 return CUP$XPathParser$result; 2704 2705 /*. . . . . . . . . . . . . . . . . . . .*/ 2706 case 34: // ChildOrAttributeAxisSpecifier ::= CHILD DCOLON 2707 { 2708 Integer RESULT = null; 2709 RESULT = Integer.valueOf(Axis.CHILD); 2710 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*ChildOrAttributeAxisSpecifier*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2711 } 2712 return CUP$XPathParser$result; 2713 2714 /*. . . . . . . . . . . . . . . . . . . .*/ 2715 case 33: // ChildOrAttributeAxisSpecifier ::= ATSIGN 2716 { 2717 Integer RESULT = null; 2718 RESULT = Integer.valueOf(Axis.ATTRIBUTE); 2719 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*ChildOrAttributeAxisSpecifier*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2720 } 2721 return CUP$XPathParser$result; 2722 2723 /*. . . . . . . . . . . . . . . . . . . .*/ 2724 case 32: // NameTestPattern ::= QName 2725 { 2726 Object RESULT = null; 2727 int qnleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2728 int qnright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2729 QName qn = (QName)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2730 RESULT = qn; 2731 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(34/*NameTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2732 } 2733 return CUP$XPathParser$result; 2734 2735 /*. . . . . . . . . . . . . . . . . . . .*/ 2736 case 31: // NameTestPattern ::= STAR 2737 { 2738 Object RESULT = null; 2739 RESULT = null; 2740 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(34/*NameTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2741 } 2742 return CUP$XPathParser$result; 2743 2744 /*. . . . . . . . . . . . . . . . . . . .*/ 2745 case 30: // NodeTestPattern ::= PI 2746 { 2747 Object RESULT = null; 2748 RESULT = Integer.valueOf(NodeTest.PI); 2749 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*NodeTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2750 } 2751 return CUP$XPathParser$result; 2752 2753 /*. . . . . . . . . . . . . . . . . . . .*/ 2754 case 29: // NodeTestPattern ::= COMMENT 2755 { 2756 Object RESULT = null; 2757 RESULT = Integer.valueOf(NodeTest.COMMENT); 2758 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*NodeTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2759 } 2760 return CUP$XPathParser$result; 2761 2762 /*. . . . . . . . . . . . . . . . . . . .*/ 2763 case 28: // NodeTestPattern ::= TEXT 2764 { 2765 Object RESULT = null; 2766 RESULT = Integer.valueOf(NodeTest.TEXT); 2767 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*NodeTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2768 } 2769 return CUP$XPathParser$result; 2770 2771 /*. . . . . . . . . . . . . . . . . . . .*/ 2772 case 27: // NodeTestPattern ::= NODE 2773 { 2774 Object RESULT = null; 2775 RESULT = Integer.valueOf(NodeTest.ANODE); 2776 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*NodeTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2777 } 2778 return CUP$XPathParser$result; 2779 2780 /*. . . . . . . . . . . . . . . . . . . .*/ 2781 case 26: // NodeTestPattern ::= NameTestPattern 2782 { 2783 Object RESULT = null; 2784 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2785 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2786 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2787 RESULT = nt; 2788 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*NodeTestPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2789 } 2790 return CUP$XPathParser$result; 2791 2792 /*. . . . . . . . . . . . . . . . . . . .*/ 2793 case 25: // StepPattern ::= ChildOrAttributeAxisSpecifier ProcessingInstructionPattern Predicates 2794 { 2795 StepPattern RESULT = null; 2796 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2797 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2798 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2799 int pipleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2800 int pipright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2801 StepPattern pip = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2802 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2803 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2804 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2805 2806 // TODO: report error if axis is attribute 2807 RESULT = (ProcessingInstructionPattern)pip.setPredicates(pp); 2808 2809 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2810 } 2811 return CUP$XPathParser$result; 2812 2813 /*. . . . . . . . . . . . . . . . . . . .*/ 2814 case 24: // StepPattern ::= ChildOrAttributeAxisSpecifier ProcessingInstructionPattern 2815 { 2816 StepPattern RESULT = null; 2817 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2818 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2819 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2820 int pipleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2821 int pipright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2822 StepPattern pip = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2823 2824 RESULT = pip; // TODO: report error if axis is attribute 2825 2826 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2827 } 2828 return CUP$XPathParser$result; 2829 2830 /*. . . . . . . . . . . . . . . . . . . .*/ 2831 case 23: // StepPattern ::= ChildOrAttributeAxisSpecifier NodeTestPattern Predicates 2832 { 2833 StepPattern RESULT = null; 2834 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2835 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2836 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2837 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2838 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2839 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2840 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2841 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2842 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2843 2844 RESULT = parser.createStepPattern(axis.intValue(), nt, pp); 2845 2846 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2847 } 2848 return CUP$XPathParser$result; 2849 2850 /*. . . . . . . . . . . . . . . . . . . .*/ 2851 case 22: // StepPattern ::= ChildOrAttributeAxisSpecifier NodeTestPattern 2852 { 2853 StepPattern RESULT = null; 2854 int axisleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2855 int axisright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2856 Integer axis = (Integer)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2857 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2858 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2859 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2860 2861 RESULT = parser.createStepPattern(axis.intValue(), nt, null); 2862 2863 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2864 } 2865 return CUP$XPathParser$result; 2866 2867 /*. . . . . . . . . . . . . . . . . . . .*/ 2868 case 21: // StepPattern ::= ProcessingInstructionPattern Predicates 2869 { 2870 StepPattern RESULT = null; 2871 int pipleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2872 int pipright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2873 StepPattern pip = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2874 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2875 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2876 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2877 RESULT = (ProcessingInstructionPattern)pip.setPredicates(pp); 2878 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2879 } 2880 return CUP$XPathParser$result; 2881 2882 /*. . . . . . . . . . . . . . . . . . . .*/ 2883 case 20: // StepPattern ::= ProcessingInstructionPattern 2884 { 2885 StepPattern RESULT = null; 2886 int pipleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2887 int pipright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2888 StepPattern pip = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2889 RESULT = pip; 2890 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2891 } 2892 return CUP$XPathParser$result; 2893 2894 /*. . . . . . . . . . . . . . . . . . . .*/ 2895 case 19: // StepPattern ::= NodeTestPattern Predicates 2896 { 2897 StepPattern RESULT = null; 2898 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2899 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2900 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2901 int ppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2902 int ppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2903 Vector pp = (Vector)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2904 2905 RESULT = parser.createStepPattern(Axis.CHILD, nt, pp); 2906 2907 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2908 } 2909 return CUP$XPathParser$result; 2910 2911 /*. . . . . . . . . . . . . . . . . . . .*/ 2912 case 18: // StepPattern ::= NodeTestPattern 2913 { 2914 StepPattern RESULT = null; 2915 int ntleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2916 int ntright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2917 Object nt = (Object)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2918 2919 RESULT = parser.createStepPattern(Axis.CHILD, nt, null); 2920 2921 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*StepPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2922 } 2923 return CUP$XPathParser$result; 2924 2925 /*. . . . . . . . . . . . . . . . . . . .*/ 2926 case 17: // RelativePathPattern ::= StepPattern DSLASH RelativePathPattern 2927 { 2928 RelativePathPattern RESULT = null; 2929 int spleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2930 int spright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2931 StepPattern sp = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2932 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2933 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2934 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2935 RESULT = new AncestorPattern(sp, rpp); 2936 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*RelativePathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2937 } 2938 return CUP$XPathParser$result; 2939 2940 /*. . . . . . . . . . . . . . . . . . . .*/ 2941 case 16: // RelativePathPattern ::= StepPattern SLASH RelativePathPattern 2942 { 2943 RelativePathPattern RESULT = null; 2944 int spleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 2945 int spright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 2946 StepPattern sp = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 2947 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2948 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2949 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2950 RESULT = new ParentPattern(sp, rpp); 2951 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*RelativePathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2952 } 2953 return CUP$XPathParser$result; 2954 2955 /*. . . . . . . . . . . . . . . . . . . .*/ 2956 case 15: // RelativePathPattern ::= StepPattern 2957 { 2958 RelativePathPattern RESULT = null; 2959 int spleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 2960 int spright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 2961 StepPattern sp = (StepPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 2962 RESULT = sp; 2963 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*RelativePathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2964 } 2965 return CUP$XPathParser$result; 2966 2967 /*. . . . . . . . . . . . . . . . . . . .*/ 2968 case 14: // ProcessingInstructionPattern ::= PIPARAM LPAREN Literal RPAREN 2969 { 2970 StepPattern RESULT = null; 2971 int lleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2972 int lright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2973 String l = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2974 RESULT = new ProcessingInstructionPattern(l); 2975 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(30/*ProcessingInstructionPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2976 } 2977 return CUP$XPathParser$result; 2978 2979 /*. . . . . . . . . . . . . . . . . . . .*/ 2980 case 13: // IdKeyPattern ::= KEY LPAREN Literal COMMA Literal RPAREN 2981 { 2982 IdKeyPattern RESULT = null; 2983 int l1left = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left; 2984 int l1right = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).right; 2985 String l1 = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).value; 2986 int l2left = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2987 int l2right = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 2988 String l2 = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 2989 RESULT = new KeyPattern(l1, l2); 2990 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(27/*IdKeyPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-5)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 2991 } 2992 return CUP$XPathParser$result; 2993 2994 /*. . . . . . . . . . . . . . . . . . . .*/ 2995 case 12: // IdKeyPattern ::= ID LPAREN Literal RPAREN 2996 { 2997 IdKeyPattern RESULT = null; 2998 int lleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 2999 int lright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 3000 String l = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 3001 RESULT = new IdPattern(l); 3002 parser.setHasIdCall(true); 3003 3004 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(27/*IdKeyPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3005 } 3006 return CUP$XPathParser$result; 3007 3008 /*. . . . . . . . . . . . . . . . . . . .*/ 3009 case 11: // LocationPathPattern ::= RelativePathPattern 3010 { 3011 Pattern RESULT = null; 3012 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3013 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3014 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3015 RESULT = rpp; 3016 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3017 } 3018 return CUP$XPathParser$result; 3019 3020 /*. . . . . . . . . . . . . . . . . . . .*/ 3021 case 10: // LocationPathPattern ::= DSLASH RelativePathPattern 3022 { 3023 Pattern RESULT = null; 3024 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3025 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3026 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3027 RESULT = new AncestorPattern(rpp); 3028 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3029 } 3030 return CUP$XPathParser$result; 3031 3032 /*. . . . . . . . . . . . . . . . . . . .*/ 3033 case 9: // LocationPathPattern ::= IdKeyPattern DSLASH RelativePathPattern 3034 { 3035 Pattern RESULT = null; 3036 int ikpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 3037 int ikpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 3038 IdKeyPattern ikp = (IdKeyPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 3039 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3040 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3041 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3042 RESULT = new AncestorPattern(ikp, rpp); 3043 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3044 } 3045 return CUP$XPathParser$result; 3046 3047 /*. . . . . . . . . . . . . . . . . . . .*/ 3048 case 8: // LocationPathPattern ::= IdKeyPattern SLASH RelativePathPattern 3049 { 3050 Pattern RESULT = null; 3051 int ikpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 3052 int ikpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 3053 IdKeyPattern ikp = (IdKeyPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 3054 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3055 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3056 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3057 RESULT = new ParentPattern(ikp, rpp); 3058 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3059 } 3060 return CUP$XPathParser$result; 3061 3062 /*. . . . . . . . . . . . . . . . . . . .*/ 3063 case 7: // LocationPathPattern ::= IdKeyPattern 3064 { 3065 Pattern RESULT = null; 3066 int ikpleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3067 int ikpright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3068 IdKeyPattern ikp = (IdKeyPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3069 RESULT = ikp; 3070 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3071 } 3072 return CUP$XPathParser$result; 3073 3074 /*. . . . . . . . . . . . . . . . . . . .*/ 3075 case 6: // LocationPathPattern ::= SLASH RelativePathPattern 3076 { 3077 Pattern RESULT = null; 3078 int rppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3079 int rppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3080 RelativePathPattern rpp = (RelativePathPattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3081 RESULT = new AbsolutePathPattern(rpp); 3082 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3083 } 3084 return CUP$XPathParser$result; 3085 3086 /*. . . . . . . . . . . . . . . . . . . .*/ 3087 case 5: // LocationPathPattern ::= SLASH 3088 { 3089 Pattern RESULT = null; 3090 RESULT = new AbsolutePathPattern(null); 3091 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*LocationPathPattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3092 } 3093 return CUP$XPathParser$result; 3094 3095 /*. . . . . . . . . . . . . . . . . . . .*/ 3096 case 4: // Pattern ::= LocationPathPattern VBAR Pattern 3097 { 3098 Pattern RESULT = null; 3099 int lppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left; 3100 int lppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).right; 3101 Pattern lpp = (Pattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).value; 3102 int pleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3103 int pright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3104 Pattern p = (Pattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3105 RESULT = new AlternativePattern(lpp, p); 3106 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(28/*Pattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3107 } 3108 return CUP$XPathParser$result; 3109 3110 /*. . . . . . . . . . . . . . . . . . . .*/ 3111 case 3: // Pattern ::= LocationPathPattern 3112 { 3113 Pattern RESULT = null; 3114 int lppleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3115 int lppright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3116 Pattern lpp = (Pattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3117 RESULT = lpp; 3118 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(28/*Pattern*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3119 } 3120 return CUP$XPathParser$result; 3121 3122 /*. . . . . . . . . . . . . . . . . . . .*/ 3123 case 2: // TopLevel ::= EXPRESSION Expr 3124 { 3125 SyntaxTreeNode RESULT = null; 3126 int exprleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3127 int exprright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3128 Expression expr = (Expression)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3129 RESULT = expr; 3130 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(1/*TopLevel*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3131 } 3132 return CUP$XPathParser$result; 3133 3134 /*. . . . . . . . . . . . . . . . . . . .*/ 3135 case 1: // TopLevel ::= PATTERN Pattern 3136 { 3137 SyntaxTreeNode RESULT = null; 3138 int patternleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).left; 3139 int patternright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right; 3140 Pattern pattern = (Pattern)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).value; 3141 RESULT = pattern; 3142 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(1/*TopLevel*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3143 } 3144 return CUP$XPathParser$result; 3145 3146 /*. . . . . . . . . . . . . . . . . . . .*/ 3147 case 0: // $START ::= TopLevel EOF 3148 { 3149 Object RESULT = null; 3150 int start_valleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left; 3151 int start_valright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).right; 3152 SyntaxTreeNode start_val = (SyntaxTreeNode)((com.sun.java_cup.internal.runtime.Symbol) CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).value; 3153 RESULT = start_val; 3154 CUP$XPathParser$result = new com.sun.java_cup.internal.runtime.Symbol(0/*$START*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$XPathParser$stack.elementAt(CUP$XPathParser$top-0)).right, RESULT); 3155 } 3156 /* ACCEPT */ 3157 CUP$XPathParser$parser.done_parsing(); 3158 return CUP$XPathParser$result; 3159 3160 /* . . . . . .*/ 3161 default: 3162 throw new Exception( 3163 "Invalid action number found in internal parse table"); 3164 3165 } 3166 } 3167} 3168