1:
2:
3:
4:
40:
41:
42: package ;
43:
44: import ;
45: import ;
46: import ;
47: import ;
48: import ;
49: import ;
50: import ;
51: import ;
52:
53:
58: public class XPathParser
59: {
60:
61: NamespaceContext namespaceContext;
62: XPathVariableResolver variableResolver;
63: XPathFunctionResolver functionResolver;
64:
65: QName getQName(String name)
66: {
67: QName qName = QName.valueOf(name);
68: if (namespaceContext != null)
69: {
70: String prefix = qName.getPrefix();
71: String uri = qName.getNamespaceURI();
72: if (prefix != null && (uri == null || uri.length() == 0))
73: {
74: uri = namespaceContext.getNamespaceURI(prefix);
75: String localName = qName.getLocalPart();
76: qName = new QName(uri, localName, prefix);
77: }
78: }
79: return qName;
80: }
81:
82: Expr lookupFunction(String name, List<Expr> args)
83: {
84: int arity = args.size();
85: if ("position".equals(name) && arity == 0)
86: {
87: return new PositionFunction();
88: }
89: else if ("last".equals(name) && arity == 0)
90: {
91: return new LastFunction();
92: }
93: else if ("string".equals(name) && (arity == 1 || arity == 0))
94: {
95: return new StringFunction(args);
96: }
97: else if ("number".equals(name) && (arity == 1 || arity == 0))
98: {
99: return new NumberFunction(args);
100: }
101: else if ("boolean".equals(name) && arity == 1)
102: {
103: return new BooleanFunction(args);
104: }
105: else if ("count".equals(name) && arity == 1)
106: {
107: return new CountFunction(args);
108: }
109: else if ("not".equals(name) && arity == 1)
110: {
111: return new NotFunction(args);
112: }
113: else if ("id".equals(name) && arity == 1)
114: {
115: return new IdFunction(args);
116: }
117: else if ("concat".equals(name) && arity > 1)
118: {
119: return new ConcatFunction(args);
120: }
121: else if ("true".equals(name) && arity == 0)
122: {
123: return new TrueFunction();
124: }
125: else if ("false".equals(name) && arity == 0)
126: {
127: return new FalseFunction();
128: }
129: else if ("name".equals(name) && (arity == 1 || arity == 0))
130: {
131: return new NameFunction(args);
132: }
133: else if ("local-name".equals(name) && (arity == 1 || arity == 0))
134: {
135: return new LocalNameFunction(args);
136: }
137: else if ("namespace-uri".equals(name) && (arity == 1 || arity == 0))
138: {
139: return new NamespaceUriFunction(args);
140: }
141: else if ("starts-with".equals(name) && arity == 2)
142: {
143: return new StartsWithFunction(args);
144: }
145: else if ("contains".equals(name) && arity == 2)
146: {
147: return new ContainsFunction(args);
148: }
149: else if ("string-length".equals(name) && (arity == 1 || arity == 0))
150: {
151: return new StringLengthFunction(args);
152: }
153: else if ("translate".equals(name) && arity == 3)
154: {
155: return new TranslateFunction(args);
156: }
157: else if ("normalize-space".equals(name) && (arity == 1 || arity == 0))
158: {
159: return new NormalizeSpaceFunction(args);
160: }
161: else if ("substring".equals(name) && (arity == 2 || arity == 3))
162: {
163: return new SubstringFunction(args);
164: }
165: else if ("substring-before".equals(name) && arity == 2)
166: {
167: return new SubstringBeforeFunction(args);
168: }
169: else if ("substring-after".equals(name) && arity == 2)
170: {
171: return new SubstringAfterFunction(args);
172: }
173: else if ("lang".equals(name) && arity == 1)
174: {
175: return new LangFunction(args);
176: }
177: else if ("sum".equals(name) && arity == 1)
178: {
179: return new SumFunction(args);
180: }
181: else if ("floor".equals(name) && arity == 1)
182: {
183: return new FloorFunction(args);
184: }
185: else if ("ceiling".equals(name) && arity == 1)
186: {
187: return new CeilingFunction(args);
188: }
189: else if ("round".equals(name) && arity == 1)
190: {
191: return new RoundFunction(args);
192: }
193: else if (functionResolver != null)
194: {
195: QName qName = QName.valueOf(name);
196: Object function = functionResolver.resolveFunction(qName, arity);
197: if (function != null &&
198: function instanceof Function &&
199: function instanceof Expr)
200: {
201: Function f = (Function) function;
202: f.setArguments(args);
203: return (Expr) function;
204: }
205: }
206: return new FunctionCall(functionResolver, name, args);
207: }
208:
209:
210:
211:
212: public static final int LITERAL = 257;
213: public static final int DIGITS = 258;
214: public static final int NAME = 259;
215: public static final int LP = 260;
216: public static final int RP = 261;
217: public static final int LB = 262;
218: public static final int RB = 263;
219: public static final int COMMA = 264;
220: public static final int PIPE = 265;
221: public static final int SLASH = 266;
222: public static final int DOUBLE_SLASH = 267;
223: public static final int EQ = 268;
224: public static final int NE = 269;
225: public static final int GT = 270;
226: public static final int LT = 271;
227: public static final int GTE = 272;
228: public static final int LTE = 273;
229: public static final int PLUS = 274;
230: public static final int MINUS = 275;
231: public static final int AT = 276;
232: public static final int STAR = 277;
233: public static final int DOLLAR = 278;
234: public static final int COLON = 279;
235: public static final int DOUBLE_COLON = 280;
236: public static final int DOT = 281;
237: public static final int DOUBLE_DOT = 282;
238: public static final int ANCESTOR = 283;
239: public static final int ANCESTOR_OR_SELF = 284;
240: public static final int ATTRIBUTE = 285;
241: public static final int CHILD = 286;
242: public static final int DESCENDANT = 287;
243: public static final int DESCENDANT_OR_SELF = 288;
244: public static final int FOLLOWING = 289;
245: public static final int FOLLOWING_SIBLING = 290;
246: public static final int NAMESPACE = 291;
247: public static final int PARENT = 292;
248: public static final int PRECEDING = 293;
249: public static final int PRECEDING_SIBLING = 294;
250: public static final int SELF = 295;
251: public static final int DIV = 296;
252: public static final int MOD = 297;
253: public static final int OR = 298;
254: public static final int AND = 299;
255: public static final int COMMENT = 300;
256: public static final int PROCESSING_INSTRUCTION = 301;
257: public static final int TEXT = 302;
258: public static final int NODE = 303;
259: public static final int UNARY = 304;
260: public static final int yyErrorCode = 256;
261:
262:
264: public static class yyException extends java.lang.Exception {
265: public yyException (String message) {
266: super(message);
267: }
268: }
269:
270:
272: public interface yyInput {
273:
277: boolean advance () throws java.io.IOException;
278:
282: int token ();
283:
287: Object value ();
288: }
289:
290:
293: public void yyerror (String message) {
294: yyerror(message, null);
295: }
296:
297:
302: public void yyerror (String message, String[] expected) {
303: if (expected != null && expected.length > 0) {
304: System.err.print(message+", expecting");
305: for (int n = 0; n < expected.length; ++ n)
306: System.err.print(" "+expected[n]);
307: System.err.println();
308: } else
309: System.err.println(message);
310: }
311:
312:
315:
316:
317: protected static final int yyFinal = 30;
318:
319:
323:
324:
325:
326:
327:
328:
329:
330:
334: protected String[] yyExpecting (int state) {
335: int token, n, len = 0;
336: boolean[] ok = new boolean[YyNameClass.yyName.length];
337:
338: if ((n = YySindexClass.yySindex[state]) != 0)
339: for (token = n < 0 ? -n : 0;
340: token < YyNameClass.yyName.length && n+token < YyTableClass.yyTable.length; ++ token)
341: if (YyCheckClass.yyCheck[n+token] == token && !ok[token] && YyNameClass.yyName[token] != null) {
342: ++ len;
343: ok[token] = true;
344: }
345: if ((n = YyRindexClass.yyRindex[state]) != 0)
346: for (token = n < 0 ? -n : 0;
347: token < YyNameClass.yyName.length && n+token < YyTableClass.yyTable.length; ++ token)
348: if (YyCheckClass.yyCheck[n+token] == token && !ok[token] && YyNameClass.yyName[token] != null) {
349: ++ len;
350: ok[token] = true;
351: }
352:
353: String result[] = new String[len];
354: for (n = token = 0; n < len; ++ token)
355: if (ok[token]) result[n++] = YyNameClass.yyName[token];
356: return result;
357: }
358:
359:
366: public Object yyparse (yyInput yyLex, Object yydebug)
367: throws java.io.IOException, yyException {
368:
369: return yyparse(yyLex);
370: }
371:
372:
376: protected int yyMax;
377:
378:
384: protected Object yyDefault (Object first) {
385: return first;
386: }
387:
388:
394: public Object yyparse (yyInput yyLex)
395: throws java.io.IOException, yyException {
396: if (yyMax <= 0) yyMax = 256;
397: int yyState = 0, yyStates[] = new int[yyMax];
398: Object yyVal = null, yyVals[] = new Object[yyMax];
399: int yyToken = -1;
400: int yyErrorFlag = 0;
401:
402: yyLoop: for (int yyTop = 0;; ++ yyTop) {
403: if (yyTop >= yyStates.length) {
404: int[] i = new int[yyStates.length+yyMax];
405: System.arraycopy(yyStates, 0, i, 0, yyStates.length);
406: yyStates = i;
407: Object[] o = new Object[yyVals.length+yyMax];
408: System.arraycopy(yyVals, 0, o, 0, yyVals.length);
409: yyVals = o;
410: }
411: yyStates[yyTop] = yyState;
412: yyVals[yyTop] = yyVal;
413:
414:
415: yyDiscarded: for (;;) {
416: int yyN;
417: if ((yyN = YyDefRedClass.yyDefRed[yyState]) == 0) {
418: if (yyToken < 0) {
419: yyToken = yyLex.advance() ? yyLex.token() : 0;
420:
421:
422: }
423: if ((yyN = YySindexClass.yySindex[yyState]) != 0 && (yyN += yyToken) >= 0
424: && yyN < YyTableClass.yyTable.length && YyCheckClass.yyCheck[yyN] == yyToken) {
425:
426:
427: yyState = YyTableClass.yyTable[yyN];
428: yyVal = yyLex.value();
429: yyToken = -1;
430: if (yyErrorFlag > 0) -- yyErrorFlag;
431: continue yyLoop;
432: }
433: if ((yyN = YyRindexClass.yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0
434: && yyN < YyTableClass.yyTable.length && YyCheckClass.yyCheck[yyN] == yyToken)
435: yyN = YyTableClass.yyTable[yyN];
436: else
437: switch (yyErrorFlag) {
438:
439: case 0:
440: yyerror("syntax error", yyExpecting(yyState));
441:
442:
443: case 1: case 2:
444: yyErrorFlag = 3;
445: do {
446: if ((yyN = YySindexClass.yySindex[yyStates[yyTop]]) != 0
447: && (yyN += yyErrorCode) >= 0 && yyN < YyTableClass.yyTable.length
448: && YyCheckClass.yyCheck[yyN] == yyErrorCode) {
449:
450:
451: yyState = YyTableClass.yyTable[yyN];
452: yyVal = yyLex.value();
453: continue yyLoop;
454: }
455:
456: } while (-- yyTop >= 0);
457:
458: throw new yyException("irrecoverable syntax error");
459:
460: case 3:
461: if (yyToken == 0) {
462:
463: throw new yyException("irrecoverable syntax error at end-of-file");
464: }
465:
466:
467:
468: yyToken = -1;
469: continue yyDiscarded;
470: }
471: }
472: int yyV = yyTop + 1-YyLenClass.yyLen[yyN];
473:
474:
475: yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
476: switch (yyN) {
477: case 4:
478:
479: {
480: yyVal = new Root();
481: }
482: break;
483: case 5:
484:
485: {
486: Steps steps;
487: if (yyVals[0+yyTop] instanceof Steps)
488: {
489: steps = (Steps) yyVals[0+yyTop];
490: }
491: else
492: {
493: steps = new Steps();
494: steps.path.addFirst((Expr) yyVals[0+yyTop]);
495: }
496: steps.path.addFirst(new Root());
497: yyVal = steps;
498:
499: }
500: break;
501: case 6:
502:
503: {
504: Test nt = new NodeTypeTest((short) 0);
505: Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
506: Collections.singletonList (nt));
507: Steps steps;
508: if (yyVals[0+yyTop] instanceof Steps)
509: {
510: steps = (Steps) yyVals[0+yyTop];
511: }
512: else
513: {
514: steps = new Steps();
515: steps.path.addFirst((Expr) yyVals[0+yyTop]);
516: }
517: steps.path.addFirst(s);
518: steps.path.addFirst(new Root());
519: yyVal = steps;
520:
521:
522: }
523: break;
524: case 8:
525:
526: {
527: Steps steps;
528: if (yyVals[-2+yyTop] instanceof Steps)
529: {
530: steps = (Steps) yyVals[-2+yyTop];
531: }
532: else
533: {
534: steps = new Steps();
535: steps.path.addFirst((Expr) yyVals[-2+yyTop]);
536: }
537: steps.path.addLast((Expr) yyVals[0+yyTop]);
538: yyVal = steps;
539:
540: }
541: break;
542: case 9:
543:
544: {
545: Test nt = new NodeTypeTest((short) 0);
546: Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
547: Collections.singletonList (nt));
548: Steps steps;
549: if (yyVals[-2+yyTop] instanceof Steps)
550: {
551: steps = (Steps) yyVals[-2+yyTop];
552: }
553: else
554: {
555: steps = new Steps();
556: steps.path.addFirst((Expr) yyVals[-2+yyTop]);
557: }
558: steps.path.addLast(s);
559: steps.path.addLast((Expr) yyVals[0+yyTop]);
560: yyVal = steps;
561:
562:
563: }
564: break;
565: case 10:
566:
567: {
568: @SuppressWarnings("unchecked") List<Test> tests = (List<Test>) yyVals[0+yyTop];
569: yyVal = new Selector (Selector.CHILD, tests);
570: }
571: break;
572: case 11:
573:
574: {
575:
576: @SuppressWarnings("unchecked") List<Test> tests = (List<Test>) yyVals[0+yyTop];
577: yyVal = new Selector (Selector.ATTRIBUTE, tests);
578: }
579: break;
580: case 12:
581:
582: {
583:
584: @SuppressWarnings("unchecked") List<Test> tests = (List<Test>) yyVals[0+yyTop];
585: yyVal = new Selector (((Integer) yyVals[-2+yyTop]).intValue (), tests);
586: }
587: break;
588: case 13:
589:
590: {
591: List<Test> emptyList = Collections.emptyList();
592: yyVal = new Selector (Selector.SELF, emptyList);
593: }
594: break;
595: case 14:
596:
597: {
598: List<Test> emptyList = Collections.emptyList();
599: yyVal = new Selector (Selector.PARENT, emptyList);
600: }
601: break;
602: case 15:
603:
604: {
605: List<Test> list = new ArrayList<Test>();
606: list.add((Test) yyVals[0+yyTop]);
607: yyVal = list;
608: }
609: break;
610: case 16:
611:
612: {
613:
614: @SuppressWarnings("unchecked") List<Test> tests = (List<Test>)yyVals[-1+yyTop];
615: tests.add((Test) yyVals[0+yyTop]);
616: yyVal = tests;
617: }
618: break;
619: case 17:
620:
621: {
622: yyVal = new Integer(Selector.ANCESTOR);
623: }
624: break;
625: case 18:
626:
627: {
628: yyVal = new Integer(Selector.ANCESTOR_OR_SELF);
629: }
630: break;
631: case 19:
632:
633: {
634: yyVal = new Integer(Selector.ATTRIBUTE);
635: }
636: break;
637: case 20:
638:
639: {
640: yyVal = new Integer(Selector.CHILD);
641: }
642: break;
643: case 21:
644:
645: {
646: yyVal = new Integer(Selector.DESCENDANT);
647: }
648: break;
649: case 22:
650:
651: {
652: yyVal = new Integer(Selector.DESCENDANT_OR_SELF);
653: }
654: break;
655: case 23:
656:
657: {
658: yyVal = new Integer(Selector.FOLLOWING);
659: }
660: break;
661: case 24:
662:
663: {
664: yyVal = new Integer(Selector.FOLLOWING_SIBLING);
665: }
666: break;
667: case 25:
668:
669: {
670: yyVal = new Integer(Selector.NAMESPACE);
671: }
672: break;
673: case 26:
674:
675: {
676: yyVal = new Integer(Selector.PARENT);
677: }
678: break;
679: case 27:
680:
681: {
682: yyVal = new Integer(Selector.PRECEDING);
683: }
684: break;
685: case 28:
686:
687: {
688: yyVal = new Integer(Selector.PRECEDING_SIBLING);
689: }
690: break;
691: case 29:
692:
693: {
694: yyVal = new Integer(Selector.SELF);
695: }
696: break;
697: case 31:
698:
699: {
700: yyVal = new NodeTypeTest(Node.PROCESSING_INSTRUCTION_NODE, (String) yyVals[-1+yyTop]);
701: }
702: break;
703: case 32:
704:
705: {
706: yyVal = new NodeTypeTest(((Short) yyVals[-1+yyTop]).shortValue());
707: }
708: break;
709: case 33:
710:
711: {
712: yyVal = new Predicate((Expr) yyVals[-1+yyTop]);
713: }
714: break;
715: case 35:
716:
717: {
718: yyVal = new ParenthesizedExpr((Expr) yyVals[-1+yyTop]);
719: }
720: break;
721: case 36:
722:
723: {
724: yyVal = new Constant(yyVals[0+yyTop]);
725: }
726: break;
727: case 37:
728:
729: {
730: yyVal = new Constant(yyVals[0+yyTop]);
731: }
732: break;
733: case 39:
734:
735: {
736: List<Expr> emptyList = Collections.emptyList();
737: yyVal = lookupFunction((String) yyVals[-2+yyTop], emptyList);
738: }
739: break;
740: case 40:
741:
742: {
743:
744: @SuppressWarnings("unchecked") List<Expr> exprs = (List<Expr>) yyVals[-1+yyTop];
745: yyVal = lookupFunction((String) yyVals[-3+yyTop], exprs);
746: }
747: break;
748: case 41:
749:
750: {
751: List<Expr> list = new ArrayList<Expr>();
752: list.add((Expr) yyVals[0+yyTop]);
753: yyVal = list;
754: }
755: break;
756: case 42:
757:
758: {
759:
760: @SuppressWarnings("unchecked") List<Expr> list = (List<Expr>) yyVals[0+yyTop];
761: list.add(0, (Expr) yyVals[-2+yyTop]);
762: yyVal = list;
763: }
764: break;
765: case 44:
766:
767: {
768: yyVal = new UnionExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop]);
769: }
770: break;
771: case 47:
772:
773: {
774: Steps steps;
775: if (yyVals[0+yyTop] instanceof Steps)
776: {
777: steps = (Steps) yyVals[0+yyTop];
778: }
779: else
780: {
781: steps = new Steps();
782: steps.path.addFirst((Expr) yyVals[0+yyTop]);
783: }
784: steps.path.addFirst((Expr) yyVals[-2+yyTop]);
785: yyVal = steps;
786:
787: }
788: break;
789: case 48:
790:
791: {
792: Test nt = new NodeTypeTest((short) 0);
793: Selector s = new Selector(Selector.DESCENDANT_OR_SELF,
794: Collections.singletonList(nt));
795: Steps steps;
796: if (yyVals[0+yyTop] instanceof Steps)
797: {
798: steps = (Steps) yyVals[0+yyTop];
799: }
800: else
801: {
802: steps = new Steps();
803: steps.path.addFirst((Expr) yyVals[0+yyTop]);
804: }
805: steps.path.addFirst(s);
806: steps.path.addFirst((Expr) yyVals[-2+yyTop]);
807: yyVal = steps;
808:
809:
810: }
811: break;
812: case 50:
813:
814: {
815: Predicate filter = (Predicate) yyVals[0+yyTop];
816: Selector s = new Selector(Selector.SELF,
817: Collections.singletonList(filter));
818: Steps steps;
819: if (yyVals[-1+yyTop] instanceof Steps)
820: {
821: steps = (Steps) yyVals[-1+yyTop];
822: }
823: else
824: {
825: steps = new Steps();
826: steps.path.addFirst((Expr) yyVals[-1+yyTop]);
827: }
828: steps.path.addLast(s);
829: yyVal = steps;
830:
831: }
832: break;
833: case 52:
834:
835: {
836: yyVal = new OrExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop]);
837: }
838: break;
839: case 54:
840:
841: {
842: yyVal = new AndExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop]);
843: }
844: break;
845: case 56:
846:
847: {
848: yyVal = new EqualityExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], false);
849: }
850: break;
851: case 57:
852:
853: {
854: yyVal = new EqualityExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], true);
855: }
856: break;
857: case 59:
858:
859: {
860: yyVal = new RelationalExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], true, false);
861: }
862: break;
863: case 60:
864:
865: {
866: yyVal = new RelationalExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], false, false);
867: }
868: break;
869: case 61:
870:
871: {
872: yyVal = new RelationalExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], true, true);
873: }
874: break;
875: case 62:
876:
877: {
878: yyVal = new RelationalExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], false, true);
879: }
880: break;
881: case 64:
882:
883: {
884: yyVal = new ArithmeticExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], ArithmeticExpr.ADD);
885: }
886: break;
887: case 65:
888:
889: {
890: yyVal = new ArithmeticExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], ArithmeticExpr.SUBTRACT);
891: }
892: break;
893: case 67:
894:
895: {
896: yyVal = new ArithmeticExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], ArithmeticExpr.MULTIPLY);
897: }
898: break;
899: case 68:
900:
901: {
902: yyVal = new ArithmeticExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], ArithmeticExpr.DIVIDE);
903: }
904: break;
905: case 69:
906:
907: {
908: yyVal = new ArithmeticExpr((Expr) yyVals[-2+yyTop], (Expr) yyVals[0+yyTop], ArithmeticExpr.MODULO);
909: }
910: break;
911: case 71:
912:
913: {
914: yyVal = new NegativeExpr((Expr) yyVals[0+yyTop]);
915: }
916: break;
917: case 72:
918:
919: {
920: yyVal = new Double((String) yyVals[0+yyTop] + ".0");
921: }
922: break;
923: case 73:
924:
925: {
926: yyVal = new Double((String) yyVals[-1+yyTop] + ".0");
927: }
928: break;
929: case 74:
930:
931: {
932: yyVal = new Double((String) yyVals[-2+yyTop] + "." + (String) yyVals[0+yyTop]);
933: }
934: break;
935: case 75:
936:
937: {
938: yyVal = new Double("0." + (String) yyVals[0+yyTop]);
939: }
940: break;
941: case 77:
942:
943: {
944: String name = (String) yyVals[0+yyTop];
945: yyVal = new VariableReference(variableResolver, getQName(name));
946: }
947: break;
948: case 78:
949:
950: {
951: yyVal = new NameTest(null, true, true);
952: }
953: break;
954: case 79:
955:
956: {
957: QName qName = getQName((String) yyVals[-2+yyTop]);
958: yyVal = new NameTest(qName, true, false);
959: }
960: break;
961: case 80:
962:
963: {
964: QName qName = getQName((String) yyVals[0+yyTop]);
965: yyVal = new NameTest(qName, false, false);
966: }
967: break;
968: case 82:
969:
970: {
971: yyVal = (String) yyVals[-2+yyTop] + ':' + (String) yyVals[0+yyTop];
972: }
973: break;
974: case 83:
975:
976: {
977: yyVal = new Short(Node.COMMENT_NODE);
978: }
979: break;
980: case 84:
981:
982: {
983: yyVal = new Short(Node.TEXT_NODE);
984: }
985: break;
986: case 85:
987:
988: {
989: yyVal = new Short(Node.PROCESSING_INSTRUCTION_NODE);
990: }
991: break;
992: case 86:
993:
994: {
995: yyVal = new Short((short) 0);
996: }
997: break;
998:
999: }
1000: yyTop -= YyLenClass.yyLen[yyN];
1001: yyState = yyStates[yyTop];
1002: int yyM = YyLhsClass.yyLhs[yyN];
1003: if (yyState == 0 && yyM == 0) {
1004:
1005: yyState = yyFinal;
1006: if (yyToken < 0) {
1007: yyToken = yyLex.advance() ? yyLex.token() : 0;
1008:
1009:
1010: }
1011: if (yyToken == 0) {
1012:
1013: return yyVal;
1014: }
1015: continue yyLoop;
1016: }
1017: if ((yyN = YyGindexClass.yyGindex[yyM]) != 0 && (yyN += yyState) >= 0
1018: && yyN < YyTableClass.yyTable.length && YyCheckClass.yyCheck[yyN] == yyState)
1019: yyState = YyTableClass.yyTable[yyN];
1020: else
1021: yyState = YyDgotoClass.yyDgoto[yyM];
1022:
1023: continue yyLoop;
1024: }
1025: }
1026: }
1027:
1028: protected static final class YyLhsClass {
1029:
1030: public static final short yyLhs [] = { -1,
1031: 0, 2, 2, 4, 4, 4, 3, 3, 3, 5,
1032: 5, 5, 5, 5, 6, 6, 7, 7, 7, 7,
1033: 7, 7, 7, 7, 7, 7, 7, 7, 7, 8,
1034: 8, 8, 9, 12, 12, 12, 12, 12, 15, 15,
1035: 17, 17, 18, 18, 19, 19, 19, 19, 20, 20,
1036: 1, 1, 21, 21, 22, 22, 22, 23, 23, 23,
1037: 23, 23, 24, 24, 24, 25, 25, 25, 25, 26,
1038: 26, 14, 14, 14, 14, 16, 13, 10, 10, 10,
1039: 27, 27, 11, 11, 11, 11,
1040: };
1041: }
1042:
1043: protected static final class YyLenClass {
1044:
1045: public static final short yyLen [] = { 2,
1046: 1, 1, 1, 1, 2, 2, 1, 3, 3, 1,
1047: 2, 3, 1, 1, 1, 2, 1, 1, 1, 1,
1048: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1049: 3, 2, 3, 1, 3, 1, 1, 1, 3, 4,
1050: 1, 3, 1, 3, 1, 1, 3, 3, 1, 2,
1051: 1, 3, 1, 3, 1, 3, 3, 1, 3, 3,
1052: 3, 3, 1, 3, 3, 1, 3, 3, 3, 1,
1053: 2, 1, 2, 3, 2, 1, 2, 1, 3, 1,
1054: 1, 3, 1, 1, 1, 1,
1055: };
1056: }
1057:
1058: protected static final class YyDefRedClass {
1059:
1060: public static final short yyDefRed [] = { 0,
1061: 36, 0, 0, 0, 0, 0, 0, 0, 78, 0,
1062: 0, 14, 17, 18, 19, 20, 21, 22, 23, 24,
1063: 25, 26, 27, 28, 29, 83, 0, 84, 86, 0,
1064: 0, 45, 0, 3, 7, 0, 0, 15, 30, 0,
1065: 49, 34, 37, 38, 0, 0, 43, 0, 0, 0,
1066: 0, 0, 0, 66, 0, 0, 0, 0, 13, 0,
1067: 80, 0, 71, 0, 0, 77, 75, 0, 0, 0,
1068: 0, 0, 16, 0, 32, 0, 0, 0, 0, 50,
1069: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1070: 0, 0, 74, 82, 79, 35, 0, 31, 0, 8,
1071: 9, 0, 0, 39, 0, 0, 44, 0, 0, 0,
1072: 0, 0, 0, 0, 0, 0, 0, 0, 67, 68,
1073: 69, 33, 0, 40, 42,
1074: };
1075: }
1076:
1077: protected static final class YyDgotoClass {
1078:
1079: public static final short yyDgoto [] = { 105,
1080: 31, 32, 33, 34, 35, 36, 37, 38, 73, 39,
1081: 40, 41, 42, 43, 44, 45, 106, 46, 47, 48,
1082: 49, 50, 51, 52, 53, 54, 55,
1083: };
1084: }
1085:
1086: protected static final class YySindexClass {
1087:
1088: public static final short yySindex [] = { -97,
1089: 0, -271, -267, -97, -239, -239, -97, -199, 0, -236,
1090: -222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091: 0, 0, 0, 0, 0, 0, -218, 0, 0, 0,
1092: -257, 0, -241, 0, 0, -205, -221, 0, 0, -194,
1093: 0, 0, 0, 0, -190, -185, 0, -238, -211, -234,
1094: -255, -209, -275, 0, 0, -169, -250, -168, 0, -241,
1095: 0, -241, 0, -205, -187, 0, 0, -167, -97, -239,
1096: -239, -97, 0, -199, 0, -151, -43, -239, -239, 0,
1097: -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
1098: -97, -97, 0, 0, 0, 0, -164, 0, -211, 0,
1099: 0, -166, -205, 0, -165, -163, 0, -241, -241, -234,
1100: -255, -255, -209, -209, -209, -209, -275, -275, 0, 0,
1101: 0, 0, -97, 0, 0,
1102: };
1103: }
1104:
1105: protected static final class YyRindexClass {
1106:
1107: public static final short yyRindex [] = { 0,
1108: 0, 58, 1, 0, 420, 0, 0, 0, 0, 0,
1109: 129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110: 0, 0, 0, 0, 0, 0, -161, 0, 0, 0,
1111: 40, 0, 237, 0, 0, 168, 0, 0, 0, 0,
1112: 0, 0, 0, 0, 0, 459, 0, 277, 557, 544,
1113: 656, 561, 474, 0, 19, 75, 0, 0, 0, 295,
1114: 0, 334, 0, 183, 114, 0, 0, 0, 0, 0,
1115: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1117: 0, 0, 0, 0, 0, 0, 0, 0, 686, 0,
1118: 0, 0, 222, 0, -156, 0, 0, 351, 405, 553,
1119: 665, 697, 577, 600, 617, 639, 513, 528, 0, 0,
1120: 0, 0, 0, 0, 0,
1121: };
1122: }
1123:
1124: protected static final class YyGindexClass {
1125:
1126: public static final short yyGindex [] = { 7,
1127: 0, 0, 8, 0, 3, -3, 0, 0, 48, 0,
1128: 0, 0, 0, 0, 0, 0, -12, 0, 35, 0,
1129: 44, 36, -1, -54, 2, -7, -2,
1130: };
1131: }
1132:
1133: protected static final class YyTableClass {
1134:
1135: public static final short yyTable [] = { 63,
1136: 81, 90, 61, 61, 64, 61, 30, 66, 94, 56,
1137: 58, 57, 60, 62, 84, 85, 86, 87, 80, 3,
1138: 91, 92, 65, 72, 70, 71, 95, 78, 79, 113,
1139: 114, 115, 116, 82, 83, 67, 8, 9, 68, 1,
1140: 69, 59, 12, 13, 14, 15, 16, 17, 18, 19,
1141: 20, 21, 22, 23, 24, 25, 72, 72, 74, 3,
1142: 26, 27, 28, 29, 88, 89, 75, 61, 61, 76,
1143: 103, 61, 100, 101, 73, 61, 61, 9, 102, 77,
1144: 111, 112, 119, 120, 121, 108, 109, 81, 93, 117,
1145: 118, 97, 96, 98, 94, 80, 122, 124, 123, 85,
1146: 26, 27, 28, 29, 41, 1, 2, 3, 4, 104,
1147: 125, 107, 99, 81, 5, 6, 110, 0, 0, 0,
1148: 0, 0, 0, 7, 8, 9, 10, 0, 13, 11,
1149: 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1150: 22, 23, 24, 25, 0, 0, 0, 0, 26, 27,
1151: 28, 29, 0, 0, 0, 0, 0, 0, 0, 1,
1152: 2, 3, 4, 0, 0, 0, 0, 10, 5, 6,
1153: 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1154: 10, 0, 11, 11, 12, 13, 14, 15, 16, 17,
1155: 18, 19, 20, 21, 22, 23, 24, 25, 0, 0,
1156: 0, 0, 26, 27, 28, 29, 0, 0, 0, 0,
1157: 0, 0, 0, 1, 2, 3, 4, 0, 0, 0,
1158: 0, 12, 5, 6, 0, 0, 0, 0, 0, 0,
1159: 0, 0, 8, 9, 10, 0, 2, 11, 12, 13,
1160: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1161: 24, 25, 0, 0, 0, 0, 26, 27, 28, 29,
1162: 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
1163: 81, 81, 81, 81, 81, 81, 46, 81, 76, 80,
1164: 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1165: 80, 80, 80, 80, 5, 80, 81, 81, 81, 81,
1166: 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
1167: 0, 0, 0, 0, 80, 80, 80, 80, 72, 72,
1168: 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1169: 72, 72, 72, 6, 72, 73, 73, 73, 73, 73,
1170: 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1171: 47, 73, 0, 72, 72, 72, 72, 0, 0, 0,
1172: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173: 73, 73, 73, 73, 81, 81, 81, 81, 81, 81,
1174: 81, 81, 81, 81, 81, 81, 81, 81, 81, 13,
1175: 81, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1176: 13, 13, 13, 13, 48, 13, 0, 0, 0, 81,
1177: 81, 81, 81, 0, 0, 0, 0, 0, 0, 4,
1178: 0, 0, 0, 0, 13, 13, 13, 13, 10, 0,
1179: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1180: 10, 10, 10, 11, 10, 11, 11, 11, 11, 11,
1181: 11, 11, 11, 11, 11, 11, 11, 11, 70, 11,
1182: 0, 0, 0, 10, 10, 10, 10, 0, 0, 0,
1183: 0, 0, 0, 63, 0, 0, 0, 0, 11, 11,
1184: 11, 11, 12, 0, 12, 12, 12, 12, 12, 12,
1185: 12, 12, 12, 12, 12, 12, 12, 2, 12, 2,
1186: 2, 2, 0, 0, 2, 2, 2, 2, 2, 2,
1187: 2, 2, 64, 2, 0, 0, 0, 12, 12, 12,
1188: 12, 0, 0, 0, 0, 0, 0, 65, 0, 0,
1189: 0, 0, 2, 2, 2, 2, 0, 46, 0, 46,
1190: 46, 46, 0, 53, 46, 46, 46, 46, 46, 46,
1191: 46, 46, 54, 46, 0, 5, 51, 5, 5, 5,
1192: 58, 0, 5, 5, 5, 5, 5, 5, 5, 5,
1193: 0, 5, 46, 46, 46, 46, 60, 0, 0, 0,
1194: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195: 5, 5, 5, 5, 6, 0, 6, 6, 6, 59,
1196: 0, 6, 6, 6, 6, 6, 6, 6, 6, 0,
1197: 6, 47, 0, 47, 47, 47, 62, 0, 47, 47,
1198: 47, 47, 47, 47, 47, 47, 0, 47, 0, 6,
1199: 6, 6, 6, 0, 0, 0, 0, 0, 61, 0,
1200: 0, 0, 0, 0, 0, 0, 47, 47, 47, 47,
1201: 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
1202: 0, 0, 0, 0, 56, 48, 0, 48, 48, 48,
1203: 0, 0, 48, 48, 48, 48, 48, 48, 48, 48,
1204: 4, 48, 4, 4, 4, 52, 0, 4, 4, 4,
1205: 4, 4, 4, 4, 4, 0, 57, 0, 0, 0,
1206: 48, 48, 48, 48, 0, 0, 0, 0, 0, 0,
1207: 0, 0, 0, 0, 0, 4, 4, 4, 4, 70,
1208: 0, 70, 70, 0, 0, 0, 70, 70, 70, 70,
1209: 70, 70, 70, 70, 63, 70, 63, 63, 0, 0,
1210: 0, 63, 63, 63, 63, 63, 63, 63, 63, 0,
1211: 0, 0, 0, 0, 70, 70, 70, 70, 0, 0,
1212: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213: 0, 63, 63, 64, 0, 64, 64, 0, 0, 0,
1214: 64, 64, 64, 64, 64, 64, 64, 64, 65, 0,
1215: 65, 65, 0, 0, 0, 65, 65, 65, 65, 65,
1216: 65, 65, 65, 0, 53, 0, 53, 53, 0, 0,
1217: 64, 64, 0, 54, 0, 54, 54, 51, 0, 51,
1218: 51, 58, 0, 58, 58, 65, 65, 0, 58, 58,
1219: 58, 58, 58, 58, 0, 0, 0, 60, 0, 60,
1220: 60, 53, 53, 0, 60, 60, 60, 60, 60, 60,
1221: 54, 54, 0, 0, 51, 0, 0, 0, 58, 58,
1222: 59, 0, 59, 59, 0, 0, 0, 59, 59, 59,
1223: 59, 59, 59, 0, 60, 60, 0, 62, 0, 62,
1224: 62, 0, 0, 0, 62, 62, 62, 62, 62, 62,
1225: 0, 0, 0, 0, 0, 0, 0, 59, 59, 61,
1226: 0, 61, 61, 0, 0, 0, 61, 61, 61, 61,
1227: 61, 61, 0, 0, 62, 62, 55, 0, 55, 55,
1228: 0, 0, 0, 55, 55, 56, 0, 56, 56, 0,
1229: 0, 0, 56, 56, 0, 0, 61, 61, 0, 0,
1230: 0, 0, 0, 0, 0, 0, 52, 0, 52, 52,
1231: 0, 0, 0, 55, 55, 0, 0, 57, 0, 57,
1232: 57, 0, 56, 56, 57, 57, 0, 0, 0, 0,
1233: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234: 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
1235: 0, 0, 0, 0, 57, 57,
1236: };
1237: }
1238:
1239: protected static final class YyCheckClass {
1240:
1241: public static final short yyCheck [] = { 7,
1242: 0, 277, 5, 6, 8, 8, 0, 10, 259, 281,
1243: 4, 279, 5, 6, 270, 271, 272, 273, 0, 259,
1244: 296, 297, 259, 262, 266, 267, 277, 266, 267, 84,
1245: 85, 86, 87, 268, 269, 258, 276, 277, 257, 0,
1246: 298, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1247: 290, 291, 292, 293, 294, 295, 262, 0, 280, 259,
1248: 300, 301, 302, 303, 274, 275, 261, 70, 71, 260,
1249: 74, 74, 70, 71, 0, 78, 79, 277, 72, 265,
1250: 82, 83, 90, 91, 92, 78, 79, 299, 258, 88,
1251: 89, 279, 261, 261, 259, 48, 263, 261, 264, 261,
1252: 300, 301, 302, 303, 261, 257, 258, 259, 260, 261,
1253: 123, 77, 69, 0, 266, 267, 81, -1, -1, -1,
1254: -1, -1, -1, 275, 276, 277, 278, -1, 0, 281,
1255: 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1256: 292, 293, 294, 295, -1, -1, -1, -1, 300, 301,
1257: 302, 303, -1, -1, -1, -1, -1, -1, -1, 257,
1258: 258, 259, 260, -1, -1, -1, -1, 0, 266, 267,
1259: -1, -1, -1, -1, -1, -1, -1, 275, 276, 277,
1260: 278, -1, 0, 281, 282, 283, 284, 285, 286, 287,
1261: 288, 289, 290, 291, 292, 293, 294, 295, -1, -1,
1262: -1, -1, 300, 301, 302, 303, -1, -1, -1, -1,
1263: -1, -1, -1, 257, 258, 259, 260, -1, -1, -1,
1264: -1, 0, 266, 267, -1, -1, -1, -1, -1, -1,
1265: -1, -1, 276, 277, 278, -1, 0, 281, 282, 283,
1266: 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1267: 294, 295, -1, -1, -1, -1, 300, 301, 302, 303,
1268: 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1269: 270, 271, 272, 273, 274, 275, 0, 277, 260, 261,
1270: 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1271: 272, 273, 274, 275, 0, 277, 296, 297, 298, 299,
1272: 261, -1, 263, 264, -1, -1, -1, -1, -1, -1,
1273: -1, -1, -1, -1, 296, 297, 298, 299, 261, 262,
1274: 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1275: 273, 274, 275, 0, 277, 261, 262, 263, 264, 265,
1276: 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1277: 0, 277, -1, 296, 297, 298, 299, -1, -1, -1,
1278: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1279: 296, 297, 298, 299, 261, 262, 263, 264, 265, 266,
1280: 267, 268, 269, 270, 271, 272, 273, 274, 275, 261,
1281: 277, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1282: 272, 273, 274, 275, 0, 277, -1, -1, -1, 296,
1283: 297, 298, 299, -1, -1, -1, -1, -1, -1, 0,
1284: -1, -1, -1, -1, 296, 297, 298, 299, 261, -1,
1285: 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1286: 273, 274, 275, 261, 277, 263, 264, 265, 266, 267,
1287: 268, 269, 270, 271, 272, 273, 274, 275, 0, 277,
1288: -1, -1, -1, 296, 297, 298, 299, -1, -1, -1,
1289: -1, -1, -1, 0, -1, -1, -1, -1, 296, 297,
1290: 298, 299, 261, -1, 263, 264, 265, 266, 267, 268,
1291: 269, 270, 271, 272, 273, 274, 275, 261, 277, 263,
1292: 264, 265, -1, -1, 268, 269, 270, 271, 272, 273,
1293: 274, 275, 0, 277, -1, -1, -1, 296, 297, 298,
1294: 299, -1, -1, -1, -1, -1, -1, 0, -1, -1,
1295: -1, -1, 296, 297, 298, 299, -1, 261, -1, 263,
1296: 264, 265, -1, 0, 268, 269, 270, 271, 272, 273,
1297: 274, 275, 0, 277, -1, 261, 0, 263, 264, 265,
1298: 0, -1, 268, 269, 270, 271, 272, 273, 274, 275,
1299: -1, 277, 296, 297, 298, 299, 0, -1, -1, -1,
1300: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1301: 296, 297, 298, 299, 261, -1, 263, 264, 265, 0,
1302: -1, 268, 269, 270, 271, 272, 273, 274, 275, -1,
1303: 277, 261, -1, 263, 264, 265, 0, -1, 268, 269,
1304: 270, 271, 272, 273, 274, 275, -1, 277, -1, 296,
1305: 297, 298, 299, -1, -1, -1, -1, -1, 0, -1,
1306: -1, -1, -1, -1, -1, -1, 296, 297, 298, 299,
1307: -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
1308: -1, -1, -1, -1, 0, 261, -1, 263, 264, 265,
1309: -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
1310: 261, 277, 263, 264, 265, 0, -1, 268, 269, 270,
1311: 271, 272, 273, 274, 275, -1, 0, -1, -1, -1,
1312: 296, 297, 298, 299, -1, -1, -1, -1, -1, -1,
1313: -1, -1, -1, -1, -1, 296, 297, 298, 299, 261,
1314: -1, 263, 264, -1, -1, -1, 268, 269, 270, 271,
1315: 272, 273, 274, 275, 261, 277, 263, 264, -1, -1,
1316: -1, 268, 269, 270, 271, 272, 273, 274, 275, -1,
1317: -1, -1, -1, -1, 296, 297, 298, 299, -1, -1,
1318: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1319: -1, 298, 299, 261, -1, 263, 264, -1, -1, -1,
1320: 268, 269, 270, 271, 272, 273, 274, 275, 261, -1,
1321: 263, 264, -1, -1, -1, 268, 269, 270, 271, 272,
1322: 273, 274, 275, -1, 261, -1, 263, 264, -1, -1,
1323: 298, 299, -1, 261, -1, 263, 264, 261, -1, 263,
1324: 264, 261, -1, 263, 264, 298, 299, -1, 268, 269,
1325: 270, 271, 272, 273, -1, -1, -1, 261, -1, 263,
1326: 264, 298, 299, -1, 268, 269, 270, 271, 272, 273,
1327: 298, 299, -1, -1, 298, -1, -1, -1, 298, 299,
1328: 261, -1, 263, 264, -1, -1, -1, 268, 269, 270,
1329: 271, 272, 273, -1, 298, 299, -1, 261, -1, 263,
1330: 264, -1, -1, -1, 268, 269, 270, 271, 272, 273,
1331: -1, -1, -1, -1, -1, -1, -1, 298, 299, 261,
1332: -1, 263, 264, -1, -1, -1, 268, 269, 270, 271,
1333: 272, 273, -1, -1, 298, 299, 261, -1, 263, 264,
1334: -1, -1, -1, 268, 269, 261, -1, 263, 264, -1,
1335: -1, -1, 268, 269, -1, -1, 298, 299, -1, -1,
1336: -1, -1, -1, -1, -1, -1, 261, -1, 263, 264,
1337: -1, -1, -1, 298, 299, -1, -1, 261, -1, 263,
1338: 264, -1, 298, 299, 268, 269, -1, -1, -1, -1,
1339: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1340: -1, -1, -1, 298, -1, -1, -1, -1, -1, -1,
1341: -1, -1, -1, -1, 298, 299,
1342: };
1343: }
1344:
1345:
1346:
1347:
1348:
1349:
1350:
1351:
1352:
1353:
1354:
1355:
1356:
1357:
1358:
1359:
1360:
1361:
1362:
1363:
1364:
1365:
1366:
1367:
1368:
1369:
1370:
1371:
1372:
1373:
1374:
1375:
1376:
1377:
1378:
1379:
1380:
1381:
1382:
1383:
1384:
1385:
1386:
1387:
1388:
1389:
1390:
1391:
1392:
1393:
1394:
1395:
1396:
1397:
1398:
1399:
1400:
1401:
1402:
1403:
1404:
1405:
1406:
1407:
1408:
1409:
1410:
1411:
1412:
1413:
1414:
1415:
1416:
1417:
1418:
1419:
1420:
1421:
1422:
1423:
1424:
1425:
1426:
1427:
1428:
1429:
1430:
1431:
1432:
1433:
1434:
1435:
1436:
1437:
1438:
1439: protected static final class YyNameClass {
1440:
1441: public static final String yyName [] = {
1442: "end-of-file",null,null,null,null,null,null,null,null,null,null,null,
1443: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1444: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1445: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1446: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1447: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1448: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1449: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1450: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1451: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1452: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1453: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1454: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1455: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1456: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1457: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1458: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1459: null,null,null,null,null,null,null,null,null,null,null,null,null,null,
1460: null,null,null,null,null,null,null,"LITERAL","DIGITS","NAME","LP",
1461: "RP","LB","RB","COMMA","PIPE","SLASH","DOUBLE_SLASH","EQ","NE","GT",
1462: "LT","GTE","LTE","PLUS","MINUS","AT","STAR","DOLLAR","COLON",
1463: "DOUBLE_COLON","DOT","DOUBLE_DOT","ANCESTOR","ANCESTOR_OR_SELF",
1464: "ATTRIBUTE","CHILD","DESCENDANT","DESCENDANT_OR_SELF","FOLLOWING",
1465: "FOLLOWING_SIBLING","NAMESPACE","PARENT","PRECEDING",
1466: "PRECEDING_SIBLING","SELF","DIV","MOD","OR","AND","COMMENT",
1467: "PROCESSING_INSTRUCTION","TEXT","NODE","UNARY",
1468: };
1469: }
1470:
1471:
1472:
1473:
1474: }
1475: