001: /*
002: * The contents of this file are subject to the
003: * Mozilla Public License Version 1.1 (the "License");
004: * you may not use this file except in compliance with the License.
005: * You may obtain a copy of the License at http://www.mozilla.org/MPL/
006: *
007: * Software distributed under the License is distributed on an "AS IS"
008: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
009: * See the License for the specific language governing rights and
010: * limitations under the License.
011: *
012: * The Initial Developer of the Original Code is Simulacra Media Ltd.
013: * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
014: *
015: * All Rights Reserved.
016: *
017: * Contributor(s):
018: */
019:
020: /* Generated By:JavaCC: Do not edit this line. XMLFragmentParser.java */
021: package org.openharmonise.commons.xml.parser;
022:
023: import org.w3c.dom.*;
024:
025: public class XMLFragmentParser implements XMLFragmentParserConstants {
026:
027: Document m_document = null;
028: Element m_currentElement = null;
029: Node m_currentNode = null;
030:
031: public XMLFragmentParser(String sExpression) {
032: this (new java.io.ByteArrayInputStream(sExpression.getBytes()));
033: }
034:
035: public void parse(Element el) throws ParseException {
036: m_currentElement = el;
037: m_currentNode = el;
038: m_document = el.getOwnerDocument();
039: ExpressionList();
040: }
041:
042: final public void ExpressionList() throws ParseException {
043: Expression();
044: if (jj_2_1(2)) {
045: ExpressionList();
046: } else {
047: ;
048: }
049: }
050:
051: final public void Expression() throws ParseException {
052: Token x = null;
053: Token z = null;
054: if (jj_2_12(2)) {
055: ElementConstructor();
056: } else if (jj_2_13(2)) {
057: if (jj_2_5(2)) {
058: x = jj_consume_token(WHITESPACE);
059: } else if (jj_2_6(2)) {
060: z = jj_consume_token(LESS_THAN);
061: if (jj_2_2(2)) {
062: x = jj_consume_token(WHITESPACE);
063: } else if (jj_2_3(2)) {
064: x = jj_consume_token(WORD);
065: } else if (jj_2_4(2)) {
066: x = jj_consume_token(EQUALS);
067: } else {
068: jj_consume_token(-1);
069: throw new ParseException();
070: }
071: } else if (jj_2_7(2)) {
072: x = jj_consume_token(QNAME);
073: } else if (jj_2_8(2)) {
074: x = jj_consume_token(WORD);
075: } else if (jj_2_9(2)) {
076: x = jj_consume_token(EQUALS);
077: } else if (jj_2_10(2)) {
078: x = jj_consume_token(STRING);
079: } else if (jj_2_11(2)) {
080: x = jj_consume_token(GREATER_THAN);
081: } else {
082: jj_consume_token(-1);
083: throw new ParseException();
084: }
085: Text txt = null;
086: if (m_currentNode.getNodeType() != Node.TEXT_NODE) {
087: txt = m_document.createTextNode("");
088: m_currentNode.appendChild(txt);
089: m_currentNode = txt;
090: } else {
091: txt = (Text) m_currentNode;
092: }
093:
094: if (z != null) {
095: txt.appendData(z.toString());
096: }
097: txt.appendData(x.toString());
098: } else {
099: jj_consume_token(-1);
100: throw new ParseException();
101: }
102: }
103:
104: final public void ElementConstructor() throws ParseException {
105: Token x;
106: jj_consume_token(LESS_THAN);
107: x = jj_consume_token(QNAME);
108: Element el = m_document.createElement(x.toString());
109: m_currentElement.appendChild(el);
110: m_currentElement = el;
111: m_currentNode = el;
112: if (jj_2_14(2)) {
113: AttributeList();
114: } else {
115: ;
116: }
117: if (jj_2_15(2)) {
118: jj_consume_token(GREATER_THAN);
119: ExpressionList();
120: CloseTag();
121: } else if (jj_2_16(2)) {
122: jj_consume_token(SLASH_GREATER_THAN);
123: } else {
124: jj_consume_token(-1);
125: throw new ParseException();
126: }
127: m_currentElement = (Element) m_currentElement.getParentNode();
128: m_currentNode = m_currentElement;
129: }
130:
131: final public void AttributeList() throws ParseException {
132: jj_consume_token(WHITESPACE);
133: Attribute();
134: if (jj_2_17(2)) {
135: AttributeList();
136: } else {
137: ;
138: }
139: }
140:
141: final public void Attribute() throws ParseException {
142: Token x;
143: Token z;
144: x = jj_consume_token(QNAME);
145: jj_consume_token(EQUALS);
146: z = jj_consume_token(STRING);
147: String sValue = z.toString().substring(1,
148: z.toString().length() - 1);
149: m_currentElement.setAttribute(x.toString(), sValue);
150: }
151:
152: final public void CloseTag() throws ParseException {
153: jj_consume_token(LESS_THAN_SLASH);
154: jj_consume_token(QNAME);
155: jj_consume_token(GREATER_THAN);
156: }
157:
158: final private boolean jj_2_1(int xla) {
159: jj_la = xla;
160: jj_lastpos = jj_scanpos = token;
161: boolean retval = !jj_3_1();
162: jj_save(0, xla);
163: return retval;
164: }
165:
166: final private boolean jj_2_2(int xla) {
167: jj_la = xla;
168: jj_lastpos = jj_scanpos = token;
169: boolean retval = !jj_3_2();
170: jj_save(1, xla);
171: return retval;
172: }
173:
174: final private boolean jj_2_3(int xla) {
175: jj_la = xla;
176: jj_lastpos = jj_scanpos = token;
177: boolean retval = !jj_3_3();
178: jj_save(2, xla);
179: return retval;
180: }
181:
182: final private boolean jj_2_4(int xla) {
183: jj_la = xla;
184: jj_lastpos = jj_scanpos = token;
185: boolean retval = !jj_3_4();
186: jj_save(3, xla);
187: return retval;
188: }
189:
190: final private boolean jj_2_5(int xla) {
191: jj_la = xla;
192: jj_lastpos = jj_scanpos = token;
193: boolean retval = !jj_3_5();
194: jj_save(4, xla);
195: return retval;
196: }
197:
198: final private boolean jj_2_6(int xla) {
199: jj_la = xla;
200: jj_lastpos = jj_scanpos = token;
201: boolean retval = !jj_3_6();
202: jj_save(5, xla);
203: return retval;
204: }
205:
206: final private boolean jj_2_7(int xla) {
207: jj_la = xla;
208: jj_lastpos = jj_scanpos = token;
209: boolean retval = !jj_3_7();
210: jj_save(6, xla);
211: return retval;
212: }
213:
214: final private boolean jj_2_8(int xla) {
215: jj_la = xla;
216: jj_lastpos = jj_scanpos = token;
217: boolean retval = !jj_3_8();
218: jj_save(7, xla);
219: return retval;
220: }
221:
222: final private boolean jj_2_9(int xla) {
223: jj_la = xla;
224: jj_lastpos = jj_scanpos = token;
225: boolean retval = !jj_3_9();
226: jj_save(8, xla);
227: return retval;
228: }
229:
230: final private boolean jj_2_10(int xla) {
231: jj_la = xla;
232: jj_lastpos = jj_scanpos = token;
233: boolean retval = !jj_3_10();
234: jj_save(9, xla);
235: return retval;
236: }
237:
238: final private boolean jj_2_11(int xla) {
239: jj_la = xla;
240: jj_lastpos = jj_scanpos = token;
241: boolean retval = !jj_3_11();
242: jj_save(10, xla);
243: return retval;
244: }
245:
246: final private boolean jj_2_12(int xla) {
247: jj_la = xla;
248: jj_lastpos = jj_scanpos = token;
249: boolean retval = !jj_3_12();
250: jj_save(11, xla);
251: return retval;
252: }
253:
254: final private boolean jj_2_13(int xla) {
255: jj_la = xla;
256: jj_lastpos = jj_scanpos = token;
257: boolean retval = !jj_3_13();
258: jj_save(12, xla);
259: return retval;
260: }
261:
262: final private boolean jj_2_14(int xla) {
263: jj_la = xla;
264: jj_lastpos = jj_scanpos = token;
265: boolean retval = !jj_3_14();
266: jj_save(13, xla);
267: return retval;
268: }
269:
270: final private boolean jj_2_15(int xla) {
271: jj_la = xla;
272: jj_lastpos = jj_scanpos = token;
273: boolean retval = !jj_3_15();
274: jj_save(14, xla);
275: return retval;
276: }
277:
278: final private boolean jj_2_16(int xla) {
279: jj_la = xla;
280: jj_lastpos = jj_scanpos = token;
281: boolean retval = !jj_3_16();
282: jj_save(15, xla);
283: return retval;
284: }
285:
286: final private boolean jj_2_17(int xla) {
287: jj_la = xla;
288: jj_lastpos = jj_scanpos = token;
289: boolean retval = !jj_3_17();
290: jj_save(16, xla);
291: return retval;
292: }
293:
294: final private boolean jj_3_2() {
295: if (jj_scan_token(WHITESPACE))
296: return true;
297: if (jj_la == 0 && jj_scanpos == jj_lastpos)
298: return false;
299: return false;
300: }
301:
302: final private boolean jj_3_11() {
303: if (jj_scan_token(GREATER_THAN))
304: return true;
305: if (jj_la == 0 && jj_scanpos == jj_lastpos)
306: return false;
307: return false;
308: }
309:
310: final private boolean jj_3R_5() {
311: if (jj_scan_token(QNAME))
312: return true;
313: if (jj_la == 0 && jj_scanpos == jj_lastpos)
314: return false;
315: return false;
316: }
317:
318: final private boolean jj_3_10() {
319: if (jj_scan_token(STRING))
320: return true;
321: if (jj_la == 0 && jj_scanpos == jj_lastpos)
322: return false;
323: return false;
324: }
325:
326: final private boolean jj_3_9() {
327: if (jj_scan_token(EQUALS))
328: return true;
329: if (jj_la == 0 && jj_scanpos == jj_lastpos)
330: return false;
331: return false;
332: }
333:
334: final private boolean jj_3_8() {
335: if (jj_scan_token(WORD))
336: return true;
337: if (jj_la == 0 && jj_scanpos == jj_lastpos)
338: return false;
339: return false;
340: }
341:
342: final private boolean jj_3_7() {
343: if (jj_scan_token(QNAME))
344: return true;
345: if (jj_la == 0 && jj_scanpos == jj_lastpos)
346: return false;
347: return false;
348: }
349:
350: final private boolean jj_3_1() {
351: if (jj_3R_1())
352: return true;
353: if (jj_la == 0 && jj_scanpos == jj_lastpos)
354: return false;
355: return false;
356: }
357:
358: final private boolean jj_3_6() {
359: if (jj_scan_token(LESS_THAN))
360: return true;
361: if (jj_la == 0 && jj_scanpos == jj_lastpos)
362: return false;
363: Token xsp;
364: xsp = jj_scanpos;
365: if (jj_3_2()) {
366: jj_scanpos = xsp;
367: if (jj_3_3()) {
368: jj_scanpos = xsp;
369: if (jj_3_4())
370: return true;
371: if (jj_la == 0 && jj_scanpos == jj_lastpos)
372: return false;
373: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
374: return false;
375: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
376: return false;
377: return false;
378: }
379:
380: final private boolean jj_3_5() {
381: if (jj_scan_token(WHITESPACE))
382: return true;
383: if (jj_la == 0 && jj_scanpos == jj_lastpos)
384: return false;
385: return false;
386: }
387:
388: final private boolean jj_3_13() {
389: Token xsp;
390: xsp = jj_scanpos;
391: if (jj_3_5()) {
392: jj_scanpos = xsp;
393: if (jj_3_6()) {
394: jj_scanpos = xsp;
395: if (jj_3_7()) {
396: jj_scanpos = xsp;
397: if (jj_3_8()) {
398: jj_scanpos = xsp;
399: if (jj_3_9()) {
400: jj_scanpos = xsp;
401: if (jj_3_10()) {
402: jj_scanpos = xsp;
403: if (jj_3_11())
404: return true;
405: if (jj_la == 0
406: && jj_scanpos == jj_lastpos)
407: return false;
408: } else if (jj_la == 0
409: && jj_scanpos == jj_lastpos)
410: return false;
411: } else if (jj_la == 0
412: && jj_scanpos == jj_lastpos)
413: return false;
414: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
415: return false;
416: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
417: return false;
418: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
419: return false;
420: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
421: return false;
422: return false;
423: }
424:
425: final private boolean jj_3_4() {
426: if (jj_scan_token(EQUALS))
427: return true;
428: if (jj_la == 0 && jj_scanpos == jj_lastpos)
429: return false;
430: return false;
431: }
432:
433: final private boolean jj_3R_4() {
434: Token xsp;
435: xsp = jj_scanpos;
436: if (jj_3_12()) {
437: jj_scanpos = xsp;
438: if (jj_3_13())
439: return true;
440: if (jj_la == 0 && jj_scanpos == jj_lastpos)
441: return false;
442: } else if (jj_la == 0 && jj_scanpos == jj_lastpos)
443: return false;
444: return false;
445: }
446:
447: final private boolean jj_3R_3() {
448: if (jj_scan_token(WHITESPACE))
449: return true;
450: if (jj_la == 0 && jj_scanpos == jj_lastpos)
451: return false;
452: if (jj_3R_5())
453: return true;
454: if (jj_la == 0 && jj_scanpos == jj_lastpos)
455: return false;
456: return false;
457: }
458:
459: final private boolean jj_3_12() {
460: if (jj_3R_2())
461: return true;
462: if (jj_la == 0 && jj_scanpos == jj_lastpos)
463: return false;
464: return false;
465: }
466:
467: final private boolean jj_3_16() {
468: if (jj_scan_token(SLASH_GREATER_THAN))
469: return true;
470: if (jj_la == 0 && jj_scanpos == jj_lastpos)
471: return false;
472: return false;
473: }
474:
475: final private boolean jj_3_15() {
476: if (jj_scan_token(GREATER_THAN))
477: return true;
478: if (jj_la == 0 && jj_scanpos == jj_lastpos)
479: return false;
480: if (jj_3R_1())
481: return true;
482: if (jj_la == 0 && jj_scanpos == jj_lastpos)
483: return false;
484: return false;
485: }
486:
487: final private boolean jj_3_14() {
488: if (jj_3R_3())
489: return true;
490: if (jj_la == 0 && jj_scanpos == jj_lastpos)
491: return false;
492: return false;
493: }
494:
495: final private boolean jj_3R_1() {
496: if (jj_3R_4())
497: return true;
498: if (jj_la == 0 && jj_scanpos == jj_lastpos)
499: return false;
500: Token xsp;
501: xsp = jj_scanpos;
502: if (jj_3_1())
503: jj_scanpos = xsp;
504: else if (jj_la == 0 && jj_scanpos == jj_lastpos)
505: return false;
506: return false;
507: }
508:
509: final private boolean jj_3_3() {
510: if (jj_scan_token(WORD))
511: return true;
512: if (jj_la == 0 && jj_scanpos == jj_lastpos)
513: return false;
514: return false;
515: }
516:
517: final private boolean jj_3R_2() {
518: if (jj_scan_token(LESS_THAN))
519: return true;
520: if (jj_la == 0 && jj_scanpos == jj_lastpos)
521: return false;
522: if (jj_scan_token(QNAME))
523: return true;
524: if (jj_la == 0 && jj_scanpos == jj_lastpos)
525: return false;
526: return false;
527: }
528:
529: final private boolean jj_3_17() {
530: if (jj_3R_3())
531: return true;
532: if (jj_la == 0 && jj_scanpos == jj_lastpos)
533: return false;
534: return false;
535: }
536:
537: public XMLFragmentParserTokenManager token_source;
538: SimpleCharStream jj_input_stream;
539: public Token token, jj_nt;
540: private int jj_ntk;
541: private Token jj_scanpos, jj_lastpos;
542: private int jj_la;
543: public boolean lookingAhead = false;
544: private boolean jj_semLA;
545: private int jj_gen;
546: final private int[] jj_la1 = new int[0];
547: final private int[] jj_la1_0 = {};
548: final private JJCalls[] jj_2_rtns = new JJCalls[17];
549: private boolean jj_rescan = false;
550: private int jj_gc = 0;
551:
552: public XMLFragmentParser(java.io.InputStream stream) {
553: jj_input_stream = new SimpleCharStream(stream, 1, 1);
554: token_source = new XMLFragmentParserTokenManager(
555: jj_input_stream);
556: token = new Token();
557: jj_ntk = -1;
558: jj_gen = 0;
559: for (int i = 0; i < 0; i++)
560: jj_la1[i] = -1;
561: for (int i = 0; i < jj_2_rtns.length; i++)
562: jj_2_rtns[i] = new JJCalls();
563: }
564:
565: public void ReInit(java.io.InputStream stream) {
566: jj_input_stream.ReInit(stream, 1, 1);
567: token_source.ReInit(jj_input_stream);
568: token = new Token();
569: jj_ntk = -1;
570: jj_gen = 0;
571: for (int i = 0; i < 0; i++)
572: jj_la1[i] = -1;
573: for (int i = 0; i < jj_2_rtns.length; i++)
574: jj_2_rtns[i] = new JJCalls();
575: }
576:
577: public XMLFragmentParser(java.io.Reader stream) {
578: jj_input_stream = new SimpleCharStream(stream, 1, 1);
579: token_source = new XMLFragmentParserTokenManager(
580: jj_input_stream);
581: token = new Token();
582: jj_ntk = -1;
583: jj_gen = 0;
584: for (int i = 0; i < 0; i++)
585: jj_la1[i] = -1;
586: for (int i = 0; i < jj_2_rtns.length; i++)
587: jj_2_rtns[i] = new JJCalls();
588: }
589:
590: public void ReInit(java.io.Reader stream) {
591: jj_input_stream.ReInit(stream, 1, 1);
592: token_source.ReInit(jj_input_stream);
593: token = new Token();
594: jj_ntk = -1;
595: jj_gen = 0;
596: for (int i = 0; i < 0; i++)
597: jj_la1[i] = -1;
598: for (int i = 0; i < jj_2_rtns.length; i++)
599: jj_2_rtns[i] = new JJCalls();
600: }
601:
602: public XMLFragmentParser(XMLFragmentParserTokenManager tm) {
603: token_source = tm;
604: token = new Token();
605: jj_ntk = -1;
606: jj_gen = 0;
607: for (int i = 0; i < 0; i++)
608: jj_la1[i] = -1;
609: for (int i = 0; i < jj_2_rtns.length; i++)
610: jj_2_rtns[i] = new JJCalls();
611: }
612:
613: public void ReInit(XMLFragmentParserTokenManager tm) {
614: token_source = tm;
615: token = new Token();
616: jj_ntk = -1;
617: jj_gen = 0;
618: for (int i = 0; i < 0; i++)
619: jj_la1[i] = -1;
620: for (int i = 0; i < jj_2_rtns.length; i++)
621: jj_2_rtns[i] = new JJCalls();
622: }
623:
624: final private Token jj_consume_token(int kind)
625: throws ParseException {
626: Token oldToken;
627: if ((oldToken = token).next != null)
628: token = token.next;
629: else
630: token = token.next = token_source.getNextToken();
631: jj_ntk = -1;
632: if (token.kind == kind) {
633: jj_gen++;
634: if (++jj_gc > 100) {
635: jj_gc = 0;
636: for (int i = 0; i < jj_2_rtns.length; i++) {
637: JJCalls c = jj_2_rtns[i];
638: while (c != null) {
639: if (c.gen < jj_gen)
640: c.first = null;
641: c = c.next;
642: }
643: }
644: }
645: return token;
646: }
647: token = oldToken;
648: jj_kind = kind;
649: throw generateParseException();
650: }
651:
652: final private boolean jj_scan_token(int kind) {
653: if (jj_scanpos == jj_lastpos) {
654: jj_la--;
655: if (jj_scanpos.next == null) {
656: jj_lastpos = jj_scanpos = jj_scanpos.next = token_source
657: .getNextToken();
658: } else {
659: jj_lastpos = jj_scanpos = jj_scanpos.next;
660: }
661: } else {
662: jj_scanpos = jj_scanpos.next;
663: }
664: if (jj_rescan) {
665: int i = 0;
666: Token tok = token;
667: while (tok != null && tok != jj_scanpos) {
668: i++;
669: tok = tok.next;
670: }
671: if (tok != null)
672: jj_add_error_token(kind, i);
673: }
674: return (jj_scanpos.kind != kind);
675: }
676:
677: final public Token getNextToken() {
678: if (token.next != null)
679: token = token.next;
680: else
681: token = token.next = token_source.getNextToken();
682: jj_ntk = -1;
683: jj_gen++;
684: return token;
685: }
686:
687: final public Token getToken(int index) {
688: Token t = lookingAhead ? jj_scanpos : token;
689: for (int i = 0; i < index; i++) {
690: if (t.next != null)
691: t = t.next;
692: else
693: t = t.next = token_source.getNextToken();
694: }
695: return t;
696: }
697:
698: final private int jj_ntk() {
699: if ((jj_nt = token.next) == null)
700: return (jj_ntk = (token.next = token_source.getNextToken()).kind);
701: else
702: return (jj_ntk = jj_nt.kind);
703: }
704:
705: private java.util.Vector jj_expentries = new java.util.Vector();
706: private int[] jj_expentry;
707: private int jj_kind = -1;
708: private int[] jj_lasttokens = new int[100];
709: private int jj_endpos;
710:
711: private void jj_add_error_token(int kind, int pos) {
712: if (pos >= 100) return;
713: if (pos == jj_endpos + 1) {
714: jj_lasttokens[jj_endpos++] = kind;
715: } else if (jj_endpos != 0) {
716: jj_expentry = new int[jj_endpos];
717: for (int i = 0; i < jj_endpos; i++) {
718: jj_expentry[i] = jj_lasttokens[i];
719: }
720: boolean exists = false;
721: for (java.util.Enumeration enum = jj_expentries.elements(); enum.hasMoreElements();) {
722: int[] oldentry = (int[])(enum.nextElement());
723: if (oldentry.length == jj_expentry.length) {
724: exists = true;
725: for (int i = 0; i < jj_expentry.length; i++) {
726: if (oldentry[i] != jj_expentry[i]) {
727: exists = false;
728: break;
729: }
730: }
731: if (exists) break;
732: }
733: }
734: if (!exists) jj_expentries.addElement(jj_expentry);
735: if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
736: }
737: }
738:
739: final public ParseException generateParseException() {
740: jj_expentries.removeAllElements();
741: boolean[] la1tokens = new boolean[14];
742: for (int i = 0; i < 14; i++) {
743: la1tokens[i] = false;
744: }
745: if (jj_kind >= 0) {
746: la1tokens[jj_kind] = true;
747: jj_kind = -1;
748: }
749: for (int i = 0; i < 0; i++) {
750: if (jj_la1[i] == jj_gen) {
751: for (int j = 0; j < 32; j++) {
752: if ((jj_la1_0[i] & (1 << j)) != 0) {
753: la1tokens[j] = true;
754: }
755: }
756: }
757: }
758: for (int i = 0; i < 14; i++) {
759: if (la1tokens[i]) {
760: jj_expentry = new int[1];
761: jj_expentry[0] = i;
762: jj_expentries.addElement(jj_expentry);
763: }
764: }
765: jj_endpos = 0;
766: jj_rescan_token();
767: jj_add_error_token(0, 0);
768: int[][] exptokseq = new int[jj_expentries.size()][];
769: for (int i = 0; i < jj_expentries.size(); i++) {
770: exptokseq[i] = (int[]) jj_expentries.elementAt(i);
771: }
772: return new ParseException(token, exptokseq, tokenImage);
773: }
774:
775: final public void enable_tracing() {
776: }
777:
778: final public void disable_tracing() {
779: }
780:
781: final private void jj_rescan_token() {
782: jj_rescan = true;
783: for (int i = 0; i < 17; i++) {
784: JJCalls p = jj_2_rtns[i];
785: do {
786: if (p.gen > jj_gen) {
787: jj_la = p.arg;
788: jj_lastpos = jj_scanpos = p.first;
789: switch (i) {
790: case 0:
791: jj_3_1();
792: break;
793: case 1:
794: jj_3_2();
795: break;
796: case 2:
797: jj_3_3();
798: break;
799: case 3:
800: jj_3_4();
801: break;
802: case 4:
803: jj_3_5();
804: break;
805: case 5:
806: jj_3_6();
807: break;
808: case 6:
809: jj_3_7();
810: break;
811: case 7:
812: jj_3_8();
813: break;
814: case 8:
815: jj_3_9();
816: break;
817: case 9:
818: jj_3_10();
819: break;
820: case 10:
821: jj_3_11();
822: break;
823: case 11:
824: jj_3_12();
825: break;
826: case 12:
827: jj_3_13();
828: break;
829: case 13:
830: jj_3_14();
831: break;
832: case 14:
833: jj_3_15();
834: break;
835: case 15:
836: jj_3_16();
837: break;
838: case 16:
839: jj_3_17();
840: break;
841: }
842: }
843: p = p.next;
844: } while (p != null);
845: }
846: jj_rescan = false;
847: }
848:
849: final private void jj_save(int index, int xla) {
850: JJCalls p = jj_2_rtns[index];
851: while (p.gen > jj_gen) {
852: if (p.next == null) {
853: p = p.next = new JJCalls();
854: break;
855: }
856: p = p.next;
857: }
858: p.gen = jj_gen + xla - jj_la;
859: p.first = token;
860: p.arg = xla;
861: }
862:
863: static final class JJCalls {
864: int gen;
865: Token first;
866: int arg;
867: JJCalls next;
868: }
869:
870: }
|