KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sablecc > sablecc > launcher > syntax3 > parser > Parser


1 /* This file was generated by SableCC (http://www.sablecc.org/). */
2
3 package org.sablecc.sablecc.launcher.syntax3.parser;
4
5 import org.sablecc.sablecc.launcher.syntax3.lexer.*;
6 import org.sablecc.sablecc.launcher.syntax3.node.*;
7 import org.sablecc.sablecc.launcher.syntax3.analysis.*;
8 import java.util.*;
9
10 import java.io.DataInputStream JavaDoc;
11 import java.io.BufferedInputStream JavaDoc;
12 import java.io.IOException JavaDoc;
13
14 @SuppressWarnings JavaDoc("nls")
15 public class Parser
16 {
17     public final Analysis ignoredTokens = new AnalysisAdapter();
18
19     protected ArrayList nodeList;
20
21     private final Lexer lexer;
22     private final ListIterator stack = new LinkedList().listIterator();
23     private int last_pos;
24     private int last_line;
25     private Token last_token;
26     private final TokenIndex converter = new TokenIndex();
27     private final int[] action = new int[2];
28
29     private final static int SHIFT = 0;
30     private final static int REDUCE = 1;
31     private final static int ACCEPT = 2;
32     private final static int ERROR = 3;
33
34     public Parser(@SuppressWarnings JavaDoc("hiding") Lexer lexer)
35     {
36         this.lexer = lexer;
37     }
38
39     @SuppressWarnings JavaDoc({"unchecked","unused"})
40     private void push(int numstate, ArrayList listNode) throws ParserException, LexerException, IOException JavaDoc
41     {
42         this.nodeList = listNode;
43
44         if(!this.stack.hasNext())
45         {
46             this.stack.add(new State(numstate, this.nodeList));
47             return;
48         }
49
50         State s = (State) this.stack.next();
51         s.state = numstate;
52         s.nodes = this.nodeList;
53     }
54
55     private int goTo(int index)
56     {
57         int state = state();
58         int low = 1;
59         int high = gotoTable[index].length - 1;
60         int value = gotoTable[index][0][1];
61
62         while(low <= high)
63         {
64             int middle = (low + high) / 2;
65
66             if(state < gotoTable[index][middle][0])
67             {
68                 high = middle - 1;
69             }
70             else if(state > gotoTable[index][middle][0])
71             {
72                 low = middle + 1;
73             }
74             else
75             {
76                 value = gotoTable[index][middle][1];
77                 break;
78             }
79         }
80
81         return value;
82     }
83
84     private int state()
85     {
86         State s = (State) this.stack.previous();
87         this.stack.next();
88         return s.state;
89     }
90
91     private ArrayList pop()
92     {
93         return ((State) this.stack.previous()).nodes;
94     }
95
96     private int index(Switchable token)
97     {
98         this.converter.index = -1;
99         token.apply(this.converter);
100         return this.converter.index;
101     }
102
103     @SuppressWarnings JavaDoc("unchecked")
104     public Start parse() throws ParserException, LexerException, IOException JavaDoc
105     {
106         push(0, null);
107         List<Node> ign = null;
108         while(true)
109         {
110             while(index(this.lexer.peek()) == -1)
111             {
112                 if(ign == null)
113                 {
114                     ign = new LinkedList<Node>();
115                 }
116
117                 ign.add(this.lexer.next());
118             }
119
120             if(ign != null)
121             {
122                 this.ignoredTokens.setIn(this.lexer.peek(), ign);
123                 ign = null;
124             }
125
126             this.last_pos = this.lexer.peek().getPos();
127             this.last_line = this.lexer.peek().getLine();
128             this.last_token = this.lexer.peek();
129
130             int index = index(this.lexer.peek());
131             this.action[0] = Parser.actionTable[state()][0][1];
132             this.action[1] = Parser.actionTable[state()][0][2];
133
134             int low = 1;
135             int high = Parser.actionTable[state()].length - 1;
136
137             while(low <= high)
138             {
139                 int middle = (low + high) / 2;
140
141                 if(index < Parser.actionTable[state()][middle][0])
142                 {
143                     high = middle - 1;
144                 }
145                 else if(index > Parser.actionTable[state()][middle][0])
146                 {
147                     low = middle + 1;
148                 }
149                 else
150                 {
151                     this.action[0] = Parser.actionTable[state()][middle][1];
152                     this.action[1] = Parser.actionTable[state()][middle][2];
153                     break;
154                 }
155             }
156
157             switch(this.action[0])
158             {
159                 case SHIFT:
160             {
161                 ArrayList list = new ArrayList();
162                 list.add(this.lexer.next());
163                         push(this.action[1], list);
164                     }
165             break;
166                 case REDUCE:
167                     switch(this.action[1])
168                     {
169                     case 0: /* reduce AShortOptionsArgument */
170             {
171             ArrayList list = new0();
172             push(goTo(0), list);
173             }
174             break;
175                     case 1: /* reduce ALongOptionArgument */
176             {
177             ArrayList list = new1();
178             push(goTo(0), list);
179             }
180             break;
181                     case 2: /* reduce APlainArgument */
182             {
183             ArrayList list = new2();
184             push(goTo(0), list);
185             }
186             break;
187                     case 3: /* reduce AAshortoptions1ShortOptions */
188             {
189             ArrayList list = new3();
190             push(goTo(1), list);
191             }
192             break;
193                     case 4: /* reduce AAshortoptions2ShortOptions */
194             {
195             ArrayList list = new4();
196             push(goTo(1), list);
197             }
198             break;
199                     case 5: /* reduce ASimpleShortOption */
200             {
201             ArrayList list = new5();
202             push(goTo(2), list);
203             }
204             break;
205                     case 6: /* reduce ASimpleLastShortOption */
206             {
207             ArrayList list = new6();
208             push(goTo(3), list);
209             }
210             break;
211                     case 7: /* reduce AComplexLastShortOption */
212             {
213             ArrayList list = new7();
214             push(goTo(3), list);
215             }
216             break;
217                     case 8: /* reduce AAcomplexshortoption1ComplexShortOption */
218             {
219             ArrayList list = new8();
220             push(goTo(4), list);
221             }
222             break;
223                     case 9: /* reduce AAcomplexshortoption2ComplexShortOption */
224             {
225             ArrayList list = new9();
226             push(goTo(4), list);
227             }
228             break;
229                     case 10: /* reduce ASimpleLongOption */
230             {
231             ArrayList list = new10();
232             push(goTo(5), list);
233             }
234             break;
235                     case 11: /* reduce AAcomplexlongoption1LongOption */
236             {
237             ArrayList list = new11();
238             push(goTo(5), list);
239             }
240             break;
241                     case 12: /* reduce AAcomplexlongoption2LongOption */
242             {
243             ArrayList list = new12();
244             push(goTo(5), list);
245             }
246             break;
247                     case 13: /* reduce ATerminal$SimpleShortOption */
248             {
249             ArrayList list = new13();
250             push(goTo(6), list);
251             }
252             break;
253                     case 14: /* reduce ANonTerminal$SimpleShortOption */
254             {
255             ArrayList list = new14();
256             push(goTo(6), list);
257             }
258             break;
259                     }
260                     break;
261                 case ACCEPT:
262                     {
263                         EOF node2 = (EOF) this.lexer.next();
264                         PArgument node1 = (PArgument) pop().get(0);
265                         Start node = new Start(node1, node2);
266                         return node;
267                     }
268                 case ERROR:
269                     throw new ParserException(this.last_token,
270                         "[" + this.last_line + "," + this.last_pos + "] " +
271                         Parser.errorMessages[Parser.errors[this.action[1]]]);
272             }
273         }
274     }
275
276
277
278     @SuppressWarnings JavaDoc("unchecked")
279     ArrayList new0() /* reduce AShortOptionsArgument */
280     {
281         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
282
283         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
284         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
285         PArgument pargumentNode1;
286         {
287             // Block
288
LinkedList listNode3 = new LinkedList();
289         {
290             // Block
291
LinkedList listNode2 = new LinkedList();
292         listNode2 = (LinkedList)nodeArrayList2.get(0);
293     if(listNode2 != null)
294     {
295       listNode3.addAll(listNode2);
296     }
297         }
298
299         pargumentNode1 = new AShortOptionsArgument(listNode3);
300         }
301     nodeList.add(pargumentNode1);
302         return nodeList;
303     }
304
305
306
307     @SuppressWarnings JavaDoc("unchecked")
308     ArrayList new1() /* reduce ALongOptionArgument */
309     {
310         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
311
312         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
313         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
314         PArgument pargumentNode1;
315         {
316             // Block
317
PLongOption plongoptionNode2;
318         plongoptionNode2 = (PLongOption)nodeArrayList2.get(0);
319
320         pargumentNode1 = new ALongOptionArgument(plongoptionNode2);
321         }
322     nodeList.add(pargumentNode1);
323         return nodeList;
324     }
325
326
327
328     @SuppressWarnings JavaDoc("unchecked")
329     ArrayList new2() /* reduce APlainArgument */
330     {
331         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
332
333         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
334         PArgument pargumentNode1;
335         {
336             // Block
337
TText ttextNode2;
338         ttextNode2 = (TText)nodeArrayList1.get(0);
339
340         pargumentNode1 = new APlainArgument(ttextNode2);
341         }
342     nodeList.add(pargumentNode1);
343         return nodeList;
344     }
345
346
347
348     @SuppressWarnings JavaDoc("unchecked")
349     ArrayList new3() /* reduce AAshortoptions1ShortOptions */
350     {
351         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
352
353         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
354         LinkedList listNode2 = new LinkedList();
355         {
356             // Block
357
PShortOption pshortoptionNode1;
358         pshortoptionNode1 = (PShortOption)nodeArrayList1.get(0);
359     if(pshortoptionNode1 != null)
360     {
361       listNode2.add(pshortoptionNode1);
362     }
363         }
364     nodeList.add(listNode2);
365         return nodeList;
366     }
367
368
369
370     @SuppressWarnings JavaDoc("unchecked")
371     ArrayList new4() /* reduce AAshortoptions2ShortOptions */
372     {
373         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
374
375         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
376         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
377         LinkedList listNode3 = new LinkedList();
378         {
379             // Block
380
LinkedList listNode1 = new LinkedList();
381         PShortOption pshortoptionNode2;
382         listNode1 = (LinkedList)nodeArrayList1.get(0);
383         pshortoptionNode2 = (PShortOption)nodeArrayList2.get(0);
384     if(listNode1 != null)
385     {
386       listNode3.addAll(listNode1);
387     }
388     if(pshortoptionNode2 != null)
389     {
390       listNode3.add(pshortoptionNode2);
391     }
392         }
393     nodeList.add(listNode3);
394         return nodeList;
395     }
396
397
398
399     @SuppressWarnings JavaDoc("unchecked")
400     ArrayList new5() /* reduce ASimpleShortOption */
401     {
402         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
403
404         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
405         PShortOption pshortoptionNode1;
406         {
407             // Block
408
TShortName tshortnameNode2;
409         @SuppressWarnings JavaDoc("unused") Object JavaDoc nullNode3 = null;
410         tshortnameNode2 = (TShortName)nodeArrayList1.get(0);
411
412         pshortoptionNode1 = new AShortOption(tshortnameNode2, null);
413         }
414     nodeList.add(pshortoptionNode1);
415         return nodeList;
416     }
417
418
419
420     @SuppressWarnings JavaDoc("unchecked")
421     ArrayList new6() /* reduce ASimpleLastShortOption */
422     {
423         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
424
425         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
426         PShortOption pshortoptionNode1;
427         pshortoptionNode1 = (PShortOption)nodeArrayList1.get(0);
428     nodeList.add(pshortoptionNode1);
429         return nodeList;
430     }
431
432
433
434     @SuppressWarnings JavaDoc("unchecked")
435     ArrayList new7() /* reduce AComplexLastShortOption */
436     {
437         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
438
439         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
440         PShortOption pshortoptionNode1;
441         pshortoptionNode1 = (PShortOption)nodeArrayList1.get(0);
442     nodeList.add(pshortoptionNode1);
443         return nodeList;
444     }
445
446
447
448     @SuppressWarnings JavaDoc("unchecked")
449     ArrayList new8() /* reduce AAcomplexshortoption1ComplexShortOption */
450     {
451         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
452
453         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
454         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
455         PShortOption pshortoptionNode1;
456         {
457             // Block
458
TShortName tshortnameNode2;
459         POperand poperandNode3;
460         tshortnameNode2 = (TShortName)nodeArrayList1.get(0);
461         {
462             // Block
463
@SuppressWarnings JavaDoc("unused") Object JavaDoc nullNode4 = null;
464
465         poperandNode3 = new AOperand(null);
466         }
467
468         pshortoptionNode1 = new AShortOption(tshortnameNode2, poperandNode3);
469         }
470     nodeList.add(pshortoptionNode1);
471         return nodeList;
472     }
473
474
475
476     @SuppressWarnings JavaDoc("unchecked")
477     ArrayList new9() /* reduce AAcomplexshortoption2ComplexShortOption */
478     {
479         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
480
481         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList3 = pop();
482         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
483         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
484         PShortOption pshortoptionNode1;
485         {
486             // Block
487
TShortName tshortnameNode2;
488         POperand poperandNode3;
489         tshortnameNode2 = (TShortName)nodeArrayList1.get(0);
490         {
491             // Block
492
TOperandText toperandtextNode4;
493         toperandtextNode4 = (TOperandText)nodeArrayList3.get(0);
494
495         poperandNode3 = new AOperand(toperandtextNode4);
496         }
497
498         pshortoptionNode1 = new AShortOption(tshortnameNode2, poperandNode3);
499         }
500     nodeList.add(pshortoptionNode1);
501         return nodeList;
502     }
503
504
505
506     @SuppressWarnings JavaDoc("unchecked")
507     ArrayList new10() /* reduce ASimpleLongOption */
508     {
509         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
510
511         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
512         PLongOption plongoptionNode1;
513         {
514             // Block
515
TLongName tlongnameNode2;
516         @SuppressWarnings JavaDoc("unused") Object JavaDoc nullNode3 = null;
517         tlongnameNode2 = (TLongName)nodeArrayList1.get(0);
518
519         plongoptionNode1 = new ALongOption(tlongnameNode2, null);
520         }
521     nodeList.add(plongoptionNode1);
522         return nodeList;
523     }
524
525
526
527     @SuppressWarnings JavaDoc("unchecked")
528     ArrayList new11() /* reduce AAcomplexlongoption1LongOption */
529     {
530         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
531
532         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
533         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
534         PLongOption plongoptionNode1;
535         {
536             // Block
537
TLongName tlongnameNode2;
538         POperand poperandNode3;
539         tlongnameNode2 = (TLongName)nodeArrayList1.get(0);
540         {
541             // Block
542
@SuppressWarnings JavaDoc("unused") Object JavaDoc nullNode4 = null;
543
544         poperandNode3 = new AOperand(null);
545         }
546
547         plongoptionNode1 = new ALongOption(tlongnameNode2, poperandNode3);
548         }
549     nodeList.add(plongoptionNode1);
550         return nodeList;
551     }
552
553
554
555     @SuppressWarnings JavaDoc("unchecked")
556     ArrayList new12() /* reduce AAcomplexlongoption2LongOption */
557     {
558         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
559
560         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList3 = pop();
561         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
562         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
563         PLongOption plongoptionNode1;
564         {
565             // Block
566
TLongName tlongnameNode2;
567         POperand poperandNode3;
568         tlongnameNode2 = (TLongName)nodeArrayList1.get(0);
569         {
570             // Block
571
TOperandText toperandtextNode4;
572         toperandtextNode4 = (TOperandText)nodeArrayList3.get(0);
573
574         poperandNode3 = new AOperand(toperandtextNode4);
575         }
576
577         plongoptionNode1 = new ALongOption(tlongnameNode2, poperandNode3);
578         }
579     nodeList.add(plongoptionNode1);
580         return nodeList;
581     }
582
583
584
585     @SuppressWarnings JavaDoc("unchecked")
586     ArrayList new13() /* reduce ATerminal$SimpleShortOption */
587     {
588         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
589
590         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
591         LinkedList listNode2 = new LinkedList();
592         {
593             // Block
594
PShortOption pshortoptionNode1;
595         pshortoptionNode1 = (PShortOption)nodeArrayList1.get(0);
596     if(pshortoptionNode1 != null)
597     {
598       listNode2.add(pshortoptionNode1);
599     }
600         }
601     nodeList.add(listNode2);
602         return nodeList;
603     }
604
605
606
607     @SuppressWarnings JavaDoc("unchecked")
608     ArrayList new14() /* reduce ANonTerminal$SimpleShortOption */
609     {
610         @SuppressWarnings JavaDoc("hiding") ArrayList nodeList = new ArrayList();
611
612         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList2 = pop();
613         @SuppressWarnings JavaDoc("unused") ArrayList nodeArrayList1 = pop();
614         LinkedList listNode3 = new LinkedList();
615         {
616             // Block
617
LinkedList listNode1 = new LinkedList();
618         PShortOption pshortoptionNode2;
619         listNode1 = (LinkedList)nodeArrayList1.get(0);
620         pshortoptionNode2 = (PShortOption)nodeArrayList2.get(0);
621     if(listNode1 != null)
622     {
623       listNode3.addAll(listNode1);
624     }
625     if(pshortoptionNode2 != null)
626     {
627       listNode3.add(pshortoptionNode2);
628     }
629         }
630     nodeList.add(listNode3);
631         return nodeList;
632     }
633
634
635
636     private static int[][][] actionTable;
637 /* {
638             {{-1, ERROR, 0}, {0, SHIFT, 1}, {1, SHIFT, 2}, {2, SHIFT, 3}, },
639             {{-1, ERROR, 1}, {3, SHIFT, 5}, },
640             {{-1, ERROR, 2}, {4, SHIFT, 11}, },
641             {{-1, REDUCE, 2}, },
642             {{-1, ERROR, 4}, {7, ACCEPT, -1}, },
643             {{-1, REDUCE, 5}, {5, SHIFT, 13}, },
644             {{-1, REDUCE, 0}, },
645             {{-1, REDUCE, 13}, {7, REDUCE, 6}, },
646             {{-1, REDUCE, 3}, },
647             {{-1, REDUCE, 7}, },
648             {{-1, ERROR, 10}, {3, SHIFT, 5}, },
649             {{-1, REDUCE, 10}, {5, SHIFT, 16}, },
650             {{-1, REDUCE, 1}, },
651             {{-1, REDUCE, 8}, {6, SHIFT, 17}, },
652             {{-1, REDUCE, 14}, {7, REDUCE, 6}, },
653             {{-1, REDUCE, 4}, },
654             {{-1, REDUCE, 11}, {6, SHIFT, 18}, },
655             {{-1, REDUCE, 9}, },
656             {{-1, REDUCE, 12}, },
657         };*/

658     private static int[][][] gotoTable;
659 /* {
660             {{-1, 4}, },
661             {{-1, 6}, },
662             {{-1, 7}, {10, 14}, },
663             {{-1, 8}, {10, 15}, },
664             {{-1, 9}, },
665             {{-1, 12}, },
666             {{-1, 10}, },
667         };*/

668     private static String JavaDoc[] errorMessages;
669 /* {
670             "expecting: '-', '--', text",
671             "expecting: short name",
672             "expecting: long name",
673             "expecting: EOF",
674             "expecting: short name, '=', EOF",
675             "expecting: short name, EOF",
676             "expecting: '=', EOF",
677             "expecting: operand text, EOF",
678         };*/

679     private static int[] errors;
680 /* {
681             0, 1, 2, 3, 3, 4, 3, 5, 3, 3, 1, 6, 3, 7, 5, 3, 7, 3, 3,
682         };*/

683
684     static
685     {
686         try
687         {
688             DataInputStream JavaDoc s = new DataInputStream JavaDoc(
689                 new BufferedInputStream JavaDoc(
690                 Parser.class.getResourceAsStream("parser.dat")));
691
692             // read actionTable
693
int length = s.readInt();
694             Parser.actionTable = new int[length][][];
695             for(int i = 0; i < Parser.actionTable.length; i++)
696             {
697                 length = s.readInt();
698                 Parser.actionTable[i] = new int[length][3];
699                 for(int j = 0; j < Parser.actionTable[i].length; j++)
700                 {
701                 for(int k = 0; k < 3; k++)
702                 {
703                     Parser.actionTable[i][j][k] = s.readInt();
704                 }
705                 }
706             }
707
708             // read gotoTable
709
length = s.readInt();
710             gotoTable = new int[length][][];
711             for(int i = 0; i < gotoTable.length; i++)
712             {
713                 length = s.readInt();
714                 gotoTable[i] = new int[length][2];
715                 for(int j = 0; j < gotoTable[i].length; j++)
716                 {
717                 for(int k = 0; k < 2; k++)
718                 {
719                     gotoTable[i][j][k] = s.readInt();
720                 }
721                 }
722             }
723
724             // read errorMessages
725
length = s.readInt();
726             errorMessages = new String JavaDoc[length];
727             for(int i = 0; i < errorMessages.length; i++)
728             {
729                 length = s.readInt();
730                 StringBuffer JavaDoc buffer = new StringBuffer JavaDoc();
731
732                 for(int j = 0; j < length; j++)
733                 {
734                 buffer.append(s.readChar());
735                 }
736                 errorMessages[i] = buffer.toString();
737             }
738
739             // read errors
740
length = s.readInt();
741             errors = new int[length];
742             for(int i = 0; i < errors.length; i++)
743             {
744                 errors[i] = s.readInt();
745             }
746
747             s.close();
748         }
749         catch(Exception JavaDoc e)
750         {
751             throw new RuntimeException JavaDoc("The file \"parser.dat\" is either missing or corrupted.");
752         }
753     }
754 }
755
Popular Tags