1 | /* This file was generated by SableCC (http://www.sablecc.org/). */ |
2 | |
3 | package uk.co.zonetora.fj.ast.analysis; |
4 | |
5 | import uk.co.zonetora.fj.ast.node.*; |
6 | |
7 | public class ReversedDepthFirstAdapter extends AnalysisAdapter |
8 | { |
9 | public void inStart(Start node) |
10 | { |
11 | defaultIn(node); |
12 | } |
13 | |
14 | public void outStart(Start node) |
15 | { |
16 | defaultOut(node); |
17 | } |
18 | |
19 | public void defaultIn(Node node) |
20 | { |
21 | } |
22 | |
23 | public void defaultOut(Node node) |
24 | { |
25 | } |
26 | |
27 | public void caseStart(Start node) |
28 | { |
29 | inStart(node); |
30 | node.getEOF().apply(this); |
31 | node.getPProg().apply(this); |
32 | outStart(node); |
33 | } |
34 | |
35 | public void inAProg(AProg node) |
36 | { |
37 | defaultIn(node); |
38 | } |
39 | |
40 | public void outAProg(AProg node) |
41 | { |
42 | defaultOut(node); |
43 | } |
44 | |
45 | public void caseAProg(AProg node) |
46 | { |
47 | inAProg(node); |
48 | { |
49 | Object temp[] = node.getClassDecl().toArray(); |
50 | for(int i = temp.length - 1; i >= 0; i--) |
51 | { |
52 | ((PClassDecl) temp[i]).apply(this); |
53 | } |
54 | } |
55 | outAProg(node); |
56 | } |
57 | |
58 | public void inAClassDecl(AClassDecl node) |
59 | { |
60 | defaultIn(node); |
61 | } |
62 | |
63 | public void outAClassDecl(AClassDecl node) |
64 | { |
65 | defaultOut(node); |
66 | } |
67 | |
68 | public void caseAClassDecl(AClassDecl node) |
69 | { |
70 | inAClassDecl(node); |
71 | if(node.getRBrace() != null) |
72 | { |
73 | node.getRBrace().apply(this); |
74 | } |
75 | { |
76 | Object temp[] = node.getMethodDecl().toArray(); |
77 | for(int i = temp.length - 1; i >= 0; i--) |
78 | { |
79 | ((PMethodDecl) temp[i]).apply(this); |
80 | } |
81 | } |
82 | if(node.getConstructorDecl() != null) |
83 | { |
84 | node.getConstructorDecl().apply(this); |
85 | } |
86 | { |
87 | Object temp[] = node.getFieldDecl().toArray(); |
88 | for(int i = temp.length - 1; i >= 0; i--) |
89 | { |
90 | ((PFieldDecl) temp[i]).apply(this); |
91 | } |
92 | } |
93 | if(node.getLBrace() != null) |
94 | { |
95 | node.getLBrace().apply(this); |
96 | } |
97 | if(node.getExtendsname() != null) |
98 | { |
99 | node.getExtendsname().apply(this); |
100 | } |
101 | if(node.getExtends() != null) |
102 | { |
103 | node.getExtends().apply(this); |
104 | } |
105 | if(node.getClassname() != null) |
106 | { |
107 | node.getClassname().apply(this); |
108 | } |
109 | if(node.getTclass() != null) |
110 | { |
111 | node.getTclass().apply(this); |
112 | } |
113 | outAClassDecl(node); |
114 | } |
115 | |
116 | public void inAFieldDecl(AFieldDecl node) |
117 | { |
118 | defaultIn(node); |
119 | } |
120 | |
121 | public void outAFieldDecl(AFieldDecl node) |
122 | { |
123 | defaultOut(node); |
124 | } |
125 | |
126 | public void caseAFieldDecl(AFieldDecl node) |
127 | { |
128 | inAFieldDecl(node); |
129 | if(node.getSemicolon() != null) |
130 | { |
131 | node.getSemicolon().apply(this); |
132 | } |
133 | if(node.getFieldname() != null) |
134 | { |
135 | node.getFieldname().apply(this); |
136 | } |
137 | if(node.getClassname() != null) |
138 | { |
139 | node.getClassname().apply(this); |
140 | } |
141 | outAFieldDecl(node); |
142 | } |
143 | |
144 | public void inAConstructorDecl(AConstructorDecl node) |
145 | { |
146 | defaultIn(node); |
147 | } |
148 | |
149 | public void outAConstructorDecl(AConstructorDecl node) |
150 | { |
151 | defaultOut(node); |
152 | } |
153 | |
154 | public void caseAConstructorDecl(AConstructorDecl node) |
155 | { |
156 | inAConstructorDecl(node); |
157 | if(node.getRBrace() != null) |
158 | { |
159 | node.getRBrace().apply(this); |
160 | } |
161 | { |
162 | Object temp[] = node.getThisFieldAssig().toArray(); |
163 | for(int i = temp.length - 1; i >= 0; i--) |
164 | { |
165 | ((PThisFieldAssig) temp[i]).apply(this); |
166 | } |
167 | } |
168 | if(node.getSemicolon() != null) |
169 | { |
170 | node.getSemicolon().apply(this); |
171 | } |
172 | if(node.getR2() != null) |
173 | { |
174 | node.getR2().apply(this); |
175 | } |
176 | if(node.getFieldList() != null) |
177 | { |
178 | node.getFieldList().apply(this); |
179 | } |
180 | if(node.getL2() != null) |
181 | { |
182 | node.getL2().apply(this); |
183 | } |
184 | if(node.getSuper() != null) |
185 | { |
186 | node.getSuper().apply(this); |
187 | } |
188 | if(node.getLBrace() != null) |
189 | { |
190 | node.getLBrace().apply(this); |
191 | } |
192 | if(node.getR1() != null) |
193 | { |
194 | node.getR1().apply(this); |
195 | } |
196 | if(node.getParamDeclList() != null) |
197 | { |
198 | node.getParamDeclList().apply(this); |
199 | } |
200 | if(node.getL1() != null) |
201 | { |
202 | node.getL1().apply(this); |
203 | } |
204 | if(node.getIdentifier() != null) |
205 | { |
206 | node.getIdentifier().apply(this); |
207 | } |
208 | outAConstructorDecl(node); |
209 | } |
210 | |
211 | public void inAMethodDecl(AMethodDecl node) |
212 | { |
213 | defaultIn(node); |
214 | } |
215 | |
216 | public void outAMethodDecl(AMethodDecl node) |
217 | { |
218 | defaultOut(node); |
219 | } |
220 | |
221 | public void caseAMethodDecl(AMethodDecl node) |
222 | { |
223 | inAMethodDecl(node); |
224 | if(node.getRBrace() != null) |
225 | { |
226 | node.getRBrace().apply(this); |
227 | } |
228 | if(node.getSemicolon() != null) |
229 | { |
230 | node.getSemicolon().apply(this); |
231 | } |
232 | if(node.getTerm() != null) |
233 | { |
234 | node.getTerm().apply(this); |
235 | } |
236 | if(node.getReturn() != null) |
237 | { |
238 | node.getReturn().apply(this); |
239 | } |
240 | if(node.getLBrace() != null) |
241 | { |
242 | node.getLBrace().apply(this); |
243 | } |
244 | if(node.getRPar() != null) |
245 | { |
246 | node.getRPar().apply(this); |
247 | } |
248 | if(node.getParamDeclList() != null) |
249 | { |
250 | node.getParamDeclList().apply(this); |
251 | } |
252 | if(node.getLPar() != null) |
253 | { |
254 | node.getLPar().apply(this); |
255 | } |
256 | if(node.getMethodname() != null) |
257 | { |
258 | node.getMethodname().apply(this); |
259 | } |
260 | if(node.getClassname() != null) |
261 | { |
262 | node.getClassname().apply(this); |
263 | } |
264 | outAMethodDecl(node); |
265 | } |
266 | |
267 | public void inAParamArgsParamDeclList(AParamArgsParamDeclList node) |
268 | { |
269 | defaultIn(node); |
270 | } |
271 | |
272 | public void outAParamArgsParamDeclList(AParamArgsParamDeclList node) |
273 | { |
274 | defaultOut(node); |
275 | } |
276 | |
277 | public void caseAParamArgsParamDeclList(AParamArgsParamDeclList node) |
278 | { |
279 | inAParamArgsParamDeclList(node); |
280 | { |
281 | Object temp[] = node.getCommaParamArgList().toArray(); |
282 | for(int i = temp.length - 1; i >= 0; i--) |
283 | { |
284 | ((PCommaParamArgList) temp[i]).apply(this); |
285 | } |
286 | } |
287 | if(node.getParamArg() != null) |
288 | { |
289 | node.getParamArg().apply(this); |
290 | } |
291 | outAParamArgsParamDeclList(node); |
292 | } |
293 | |
294 | public void inAEmptyParamDeclList(AEmptyParamDeclList node) |
295 | { |
296 | defaultIn(node); |
297 | } |
298 | |
299 | public void outAEmptyParamDeclList(AEmptyParamDeclList node) |
300 | { |
301 | defaultOut(node); |
302 | } |
303 | |
304 | public void caseAEmptyParamDeclList(AEmptyParamDeclList node) |
305 | { |
306 | inAEmptyParamDeclList(node); |
307 | outAEmptyParamDeclList(node); |
308 | } |
309 | |
310 | public void inAIdentParamArg(AIdentParamArg node) |
311 | { |
312 | defaultIn(node); |
313 | } |
314 | |
315 | public void outAIdentParamArg(AIdentParamArg node) |
316 | { |
317 | defaultOut(node); |
318 | } |
319 | |
320 | public void caseAIdentParamArg(AIdentParamArg node) |
321 | { |
322 | inAIdentParamArg(node); |
323 | if(node.getParam() != null) |
324 | { |
325 | node.getParam().apply(this); |
326 | } |
327 | if(node.getClassname() != null) |
328 | { |
329 | node.getClassname().apply(this); |
330 | } |
331 | outAIdentParamArg(node); |
332 | } |
333 | |
334 | public void inAThisParamArg(AThisParamArg node) |
335 | { |
336 | defaultIn(node); |
337 | } |
338 | |
339 | public void outAThisParamArg(AThisParamArg node) |
340 | { |
341 | defaultOut(node); |
342 | } |
343 | |
344 | public void caseAThisParamArg(AThisParamArg node) |
345 | { |
346 | inAThisParamArg(node); |
347 | if(node.getIdentifier() != null) |
348 | { |
349 | node.getIdentifier().apply(this); |
350 | } |
351 | if(node.getThis() != null) |
352 | { |
353 | node.getThis().apply(this); |
354 | } |
355 | outAThisParamArg(node); |
356 | } |
357 | |
358 | public void inACommaParamArgList(ACommaParamArgList node) |
359 | { |
360 | defaultIn(node); |
361 | } |
362 | |
363 | public void outACommaParamArgList(ACommaParamArgList node) |
364 | { |
365 | defaultOut(node); |
366 | } |
367 | |
368 | public void caseACommaParamArgList(ACommaParamArgList node) |
369 | { |
370 | inACommaParamArgList(node); |
371 | if(node.getParamArg() != null) |
372 | { |
373 | node.getParamArg().apply(this); |
374 | } |
375 | if(node.getComma() != null) |
376 | { |
377 | node.getComma().apply(this); |
378 | } |
379 | outACommaParamArgList(node); |
380 | } |
381 | |
382 | public void inAFieldListFieldList(AFieldListFieldList node) |
383 | { |
384 | defaultIn(node); |
385 | } |
386 | |
387 | public void outAFieldListFieldList(AFieldListFieldList node) |
388 | { |
389 | defaultOut(node); |
390 | } |
391 | |
392 | public void caseAFieldListFieldList(AFieldListFieldList node) |
393 | { |
394 | inAFieldListFieldList(node); |
395 | { |
396 | Object temp[] = node.getCommaField().toArray(); |
397 | for(int i = temp.length - 1; i >= 0; i--) |
398 | { |
399 | ((PCommaField) temp[i]).apply(this); |
400 | } |
401 | } |
402 | if(node.getFieldName() != null) |
403 | { |
404 | node.getFieldName().apply(this); |
405 | } |
406 | outAFieldListFieldList(node); |
407 | } |
408 | |
409 | public void inAEmptyFieldList(AEmptyFieldList node) |
410 | { |
411 | defaultIn(node); |
412 | } |
413 | |
414 | public void outAEmptyFieldList(AEmptyFieldList node) |
415 | { |
416 | defaultOut(node); |
417 | } |
418 | |
419 | public void caseAEmptyFieldList(AEmptyFieldList node) |
420 | { |
421 | inAEmptyFieldList(node); |
422 | outAEmptyFieldList(node); |
423 | } |
424 | |
425 | public void inAFieldName(AFieldName node) |
426 | { |
427 | defaultIn(node); |
428 | } |
429 | |
430 | public void outAFieldName(AFieldName node) |
431 | { |
432 | defaultOut(node); |
433 | } |
434 | |
435 | public void caseAFieldName(AFieldName node) |
436 | { |
437 | inAFieldName(node); |
438 | if(node.getIdentifier() != null) |
439 | { |
440 | node.getIdentifier().apply(this); |
441 | } |
442 | outAFieldName(node); |
443 | } |
444 | |
445 | public void inACommaField(ACommaField node) |
446 | { |
447 | defaultIn(node); |
448 | } |
449 | |
450 | public void outACommaField(ACommaField node) |
451 | { |
452 | defaultOut(node); |
453 | } |
454 | |
455 | public void caseACommaField(ACommaField node) |
456 | { |
457 | inACommaField(node); |
458 | if(node.getFieldName() != null) |
459 | { |
460 | node.getFieldName().apply(this); |
461 | } |
462 | if(node.getComma() != null) |
463 | { |
464 | node.getComma().apply(this); |
465 | } |
466 | outACommaField(node); |
467 | } |
468 | |
469 | public void inAThisFieldAssig(AThisFieldAssig node) |
470 | { |
471 | defaultIn(node); |
472 | } |
473 | |
474 | public void outAThisFieldAssig(AThisFieldAssig node) |
475 | { |
476 | defaultOut(node); |
477 | } |
478 | |
479 | public void caseAThisFieldAssig(AThisFieldAssig node) |
480 | { |
481 | inAThisFieldAssig(node); |
482 | if(node.getSemicolon() != null) |
483 | { |
484 | node.getSemicolon().apply(this); |
485 | } |
486 | if(node.getRightField() != null) |
487 | { |
488 | node.getRightField().apply(this); |
489 | } |
490 | if(node.getEq() != null) |
491 | { |
492 | node.getEq().apply(this); |
493 | } |
494 | if(node.getLeftField() != null) |
495 | { |
496 | node.getLeftField().apply(this); |
497 | } |
498 | if(node.getPeriod() != null) |
499 | { |
500 | node.getPeriod().apply(this); |
501 | } |
502 | if(node.getThis() != null) |
503 | { |
504 | node.getThis().apply(this); |
505 | } |
506 | outAThisFieldAssig(node); |
507 | } |
508 | |
509 | public void inANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
510 | { |
511 | defaultIn(node); |
512 | } |
513 | |
514 | public void outANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
515 | { |
516 | defaultOut(node); |
517 | } |
518 | |
519 | public void caseANonLeftRecTermTerm(ANonLeftRecTermTerm node) |
520 | { |
521 | inANonLeftRecTermTerm(node); |
522 | if(node.getNonLeftRecTerm() != null) |
523 | { |
524 | node.getNonLeftRecTerm().apply(this); |
525 | } |
526 | outANonLeftRecTermTerm(node); |
527 | } |
528 | |
529 | public void inAFieldAccessTerm(AFieldAccessTerm node) |
530 | { |
531 | defaultIn(node); |
532 | } |
533 | |
534 | public void outAFieldAccessTerm(AFieldAccessTerm node) |
535 | { |
536 | defaultOut(node); |
537 | } |
538 | |
539 | public void caseAFieldAccessTerm(AFieldAccessTerm node) |
540 | { |
541 | inAFieldAccessTerm(node); |
542 | if(node.getIdentifier() != null) |
543 | { |
544 | node.getIdentifier().apply(this); |
545 | } |
546 | if(node.getPeriod() != null) |
547 | { |
548 | node.getPeriod().apply(this); |
549 | } |
550 | if(node.getNonLeftRecTerm() != null) |
551 | { |
552 | node.getNonLeftRecTerm().apply(this); |
553 | } |
554 | outAFieldAccessTerm(node); |
555 | } |
556 | |
557 | public void inAMethodCallTerm(AMethodCallTerm node) |
558 | { |
559 | defaultIn(node); |
560 | } |
561 | |
562 | public void outAMethodCallTerm(AMethodCallTerm node) |
563 | { |
564 | defaultOut(node); |
565 | } |
566 | |
567 | public void caseAMethodCallTerm(AMethodCallTerm node) |
568 | { |
569 | inAMethodCallTerm(node); |
570 | if(node.getRPar() != null) |
571 | { |
572 | node.getRPar().apply(this); |
573 | } |
574 | if(node.getTermList() != null) |
575 | { |
576 | node.getTermList().apply(this); |
577 | } |
578 | if(node.getLPar() != null) |
579 | { |
580 | node.getLPar().apply(this); |
581 | } |
582 | if(node.getIdentifier() != null) |
583 | { |
584 | node.getIdentifier().apply(this); |
585 | } |
586 | if(node.getPeriod() != null) |
587 | { |
588 | node.getPeriod().apply(this); |
589 | } |
590 | if(node.getNonLeftRecTerm() != null) |
591 | { |
592 | node.getNonLeftRecTerm().apply(this); |
593 | } |
594 | outAMethodCallTerm(node); |
595 | } |
596 | |
597 | public void inACastTerm(ACastTerm node) |
598 | { |
599 | defaultIn(node); |
600 | } |
601 | |
602 | public void outACastTerm(ACastTerm node) |
603 | { |
604 | defaultOut(node); |
605 | } |
606 | |
607 | public void caseACastTerm(ACastTerm node) |
608 | { |
609 | inACastTerm(node); |
610 | if(node.getNonLeftRecTerm() != null) |
611 | { |
612 | node.getNonLeftRecTerm().apply(this); |
613 | } |
614 | if(node.getRSq() != null) |
615 | { |
616 | node.getRSq().apply(this); |
617 | } |
618 | if(node.getIdentifier() != null) |
619 | { |
620 | node.getIdentifier().apply(this); |
621 | } |
622 | if(node.getLSq() != null) |
623 | { |
624 | node.getLSq().apply(this); |
625 | } |
626 | outACastTerm(node); |
627 | } |
628 | |
629 | public void inAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
630 | { |
631 | defaultIn(node); |
632 | } |
633 | |
634 | public void outAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
635 | { |
636 | defaultOut(node); |
637 | } |
638 | |
639 | public void caseAVariableNonLeftRecTerm(AVariableNonLeftRecTerm node) |
640 | { |
641 | inAVariableNonLeftRecTerm(node); |
642 | if(node.getIdentifier() != null) |
643 | { |
644 | node.getIdentifier().apply(this); |
645 | } |
646 | outAVariableNonLeftRecTerm(node); |
647 | } |
648 | |
649 | public void inAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
650 | { |
651 | defaultIn(node); |
652 | } |
653 | |
654 | public void outAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
655 | { |
656 | defaultOut(node); |
657 | } |
658 | |
659 | public void caseAThisNonLeftRecTerm(AThisNonLeftRecTerm node) |
660 | { |
661 | inAThisNonLeftRecTerm(node); |
662 | if(node.getThis() != null) |
663 | { |
664 | node.getThis().apply(this); |
665 | } |
666 | outAThisNonLeftRecTerm(node); |
667 | } |
668 | |
669 | public void inAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
670 | { |
671 | defaultIn(node); |
672 | } |
673 | |
674 | public void outAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
675 | { |
676 | defaultOut(node); |
677 | } |
678 | |
679 | public void caseAObjectCreationNonLeftRecTerm(AObjectCreationNonLeftRecTerm node) |
680 | { |
681 | inAObjectCreationNonLeftRecTerm(node); |
682 | if(node.getRPar() != null) |
683 | { |
684 | node.getRPar().apply(this); |
685 | } |
686 | if(node.getTermList() != null) |
687 | { |
688 | node.getTermList().apply(this); |
689 | } |
690 | if(node.getLPar() != null) |
691 | { |
692 | node.getLPar().apply(this); |
693 | } |
694 | if(node.getIdentifier() != null) |
695 | { |
696 | node.getIdentifier().apply(this); |
697 | } |
698 | if(node.getNew() != null) |
699 | { |
700 | node.getNew().apply(this); |
701 | } |
702 | outAObjectCreationNonLeftRecTerm(node); |
703 | } |
704 | |
705 | public void inABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
706 | { |
707 | defaultIn(node); |
708 | } |
709 | |
710 | public void outABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
711 | { |
712 | defaultOut(node); |
713 | } |
714 | |
715 | public void caseABracketNonLeftRecTerm(ABracketNonLeftRecTerm node) |
716 | { |
717 | inABracketNonLeftRecTerm(node); |
718 | if(node.getRPar() != null) |
719 | { |
720 | node.getRPar().apply(this); |
721 | } |
722 | if(node.getTerm() != null) |
723 | { |
724 | node.getTerm().apply(this); |
725 | } |
726 | if(node.getLPar() != null) |
727 | { |
728 | node.getLPar().apply(this); |
729 | } |
730 | outABracketNonLeftRecTerm(node); |
731 | } |
732 | |
733 | public void inATermListTermList(ATermListTermList node) |
734 | { |
735 | defaultIn(node); |
736 | } |
737 | |
738 | public void outATermListTermList(ATermListTermList node) |
739 | { |
740 | defaultOut(node); |
741 | } |
742 | |
743 | public void caseATermListTermList(ATermListTermList node) |
744 | { |
745 | inATermListTermList(node); |
746 | { |
747 | Object temp[] = node.getCommaTerm().toArray(); |
748 | for(int i = temp.length - 1; i >= 0; i--) |
749 | { |
750 | ((PCommaTerm) temp[i]).apply(this); |
751 | } |
752 | } |
753 | if(node.getTerm() != null) |
754 | { |
755 | node.getTerm().apply(this); |
756 | } |
757 | outATermListTermList(node); |
758 | } |
759 | |
760 | public void inAEmptyTermList(AEmptyTermList node) |
761 | { |
762 | defaultIn(node); |
763 | } |
764 | |
765 | public void outAEmptyTermList(AEmptyTermList node) |
766 | { |
767 | defaultOut(node); |
768 | } |
769 | |
770 | public void caseAEmptyTermList(AEmptyTermList node) |
771 | { |
772 | inAEmptyTermList(node); |
773 | outAEmptyTermList(node); |
774 | } |
775 | |
776 | public void inACommaTerm(ACommaTerm node) |
777 | { |
778 | defaultIn(node); |
779 | } |
780 | |
781 | public void outACommaTerm(ACommaTerm node) |
782 | { |
783 | defaultOut(node); |
784 | } |
785 | |
786 | public void caseACommaTerm(ACommaTerm node) |
787 | { |
788 | inACommaTerm(node); |
789 | if(node.getTerm() != null) |
790 | { |
791 | node.getTerm().apply(this); |
792 | } |
793 | if(node.getComma() != null) |
794 | { |
795 | node.getComma().apply(this); |
796 | } |
797 | outACommaTerm(node); |
798 | } |
799 | } |