First NIT release and new clean mercurial repository
[nit.git] / src / parser / parser_nodes.nit
1 # Raw AST node hierarchy.
2 # This file was generated by SableCC (http://www.sablecc.org/).
3 package parser_nodes
4
5 # Root of the AST hierarchy
6 abstract class PNode
7 end
8
9 # Ancestor of all tokens
10 abstract class Token
11 special PNode
12 end
13
14 # Ancestor of all productions
15 abstract class Prod
16 special PNode
17 end
18 class TEol
19 special Token
20 end
21 class TComment
22 special Token
23 end
24 class TKwpackage
25 special Token
26 end
27 class TKwimport
28 special Token
29 end
30 class TKwclass
31 special Token
32 end
33 class TKwabstract
34 special Token
35 end
36 class TKwinterface
37 special Token
38 end
39 class TKwuniversal
40 special Token
41 end
42 class TKwspecial
43 special Token
44 end
45 class TKwend
46 special Token
47 end
48 class TKwmeth
49 special Token
50 end
51 class TKwtype
52 special Token
53 end
54 class TKwattr
55 special Token
56 end
57 class TKwinit
58 special Token
59 end
60 class TKwredef
61 special Token
62 end
63 class TKwis
64 special Token
65 end
66 class TKwdo
67 special Token
68 end
69 class TKwreadable
70 special Token
71 end
72 class TKwwritable
73 special Token
74 end
75 class TKwvar
76 special Token
77 end
78 class TKwintern
79 special Token
80 end
81 class TKwextern
82 special Token
83 end
84 class TKwprotected
85 special Token
86 end
87 class TKwprivate
88 special Token
89 end
90 class TKwintrude
91 special Token
92 end
93 class TKwif
94 special Token
95 end
96 class TKwthen
97 special Token
98 end
99 class TKwelse
100 special Token
101 end
102 class TKwwhile
103 special Token
104 end
105 class TKwfor
106 special Token
107 end
108 class TKwin
109 special Token
110 end
111 class TKwand
112 special Token
113 end
114 class TKwor
115 special Token
116 end
117 class TKwnot
118 special Token
119 end
120 class TKwreturn
121 special Token
122 end
123 class TKwcontinue
124 special Token
125 end
126 class TKwbreak
127 special Token
128 end
129 class TKwabort
130 special Token
131 end
132 class TKwassert
133 special Token
134 end
135 class TKwnew
136 special Token
137 end
138 class TKwisa
139 special Token
140 end
141 class TKwonce
142 special Token
143 end
144 class TKwsuper
145 special Token
146 end
147 class TKwself
148 special Token
149 end
150 class TKwtrue
151 special Token
152 end
153 class TKwfalse
154 special Token
155 end
156 class TKwnull
157 special Token
158 end
159 class TOpar
160 special Token
161 end
162 class TCpar
163 special Token
164 end
165 class TObra
166 special Token
167 end
168 class TCbra
169 special Token
170 end
171 class TComma
172 special Token
173 end
174 class TColumn
175 special Token
176 end
177 class TQuad
178 special Token
179 end
180 class TAssign
181 special Token
182 end
183 class TPluseq
184 special Token
185 end
186 class TMinuseq
187 special Token
188 end
189 class TDotdotdot
190 special Token
191 end
192 class TDotdot
193 special Token
194 end
195 class TDot
196 special Token
197 end
198 class TPlus
199 special Token
200 end
201 class TMinus
202 special Token
203 end
204 class TStar
205 special Token
206 end
207 class TSlash
208 special Token
209 end
210 class TPercent
211 special Token
212 end
213 class TEq
214 special Token
215 end
216 class TNe
217 special Token
218 end
219 class TLt
220 special Token
221 end
222 class TLe
223 special Token
224 end
225 class TGt
226 special Token
227 end
228 class TGe
229 special Token
230 end
231 class TStarship
232 special Token
233 end
234 class TClassid
235 special Token
236 end
237 class TId
238 special Token
239 end
240 class TAttrid
241 special Token
242 end
243 class TNumber
244 special Token
245 end
246 class TFloat
247 special Token
248 end
249 class TChar
250 special Token
251 end
252 class TString
253 special Token
254 end
255 class TStartString
256 special Token
257 end
258 class TMidString
259 special Token
260 end
261 class TEndString
262 special Token
263 end
264 class EOF
265 special Token
266 end
267 class PError
268 special EOF
269 end
270
271 class PModule special Prod end
272 class PPackagedecl special Prod end
273 class PImport special Prod end
274 class PVisibility special Prod end
275 class PClassdef special Prod end
276 class PClasskind special Prod end
277 class PFormaldef special Prod end
278 class PSuperclass special Prod end
279 class PPropdef special Prod
280 readable writable attr _n_doc: PDoc
281 end
282 class PAble special Prod
283 readable writable attr _n_kwredef: TKwredef
284 end
285 class PMethid special Prod end
286 class PSignature special Prod end
287 class PParam
288 special Prod
289 readable writable attr _n_id: TId
290 readable writable attr _n_type: PType
291 end
292 class PType special Prod end
293 class PExpr special Prod end
294 class PAssignOp special Prod end
295 class PQualified special Prod end
296 class PDoc special Prod end
297
298 class AModule
299 special PModule
300 readable writable attr _n_packagedecl: PPackagedecl
301 readable writable attr _n_imports: List[PImport]
302 readable writable attr _n_classdefs: List[PClassdef]
303 end
304 class APackagedecl
305 special PPackagedecl
306 readable writable attr _n_doc: PDoc
307 readable writable attr _n_kwpackage: TKwpackage
308 readable writable attr _n_id: TId
309 end
310 class AImport
311 special PImport
312 readable writable attr _n_visibility: PVisibility
313 readable writable attr _n_kwimport: TKwimport
314 readable writable attr _n_id: TId
315 end
316 class ANoImport
317 special PImport
318 readable writable attr _n_visibility: PVisibility
319 readable writable attr _n_kwimport: TKwimport
320 readable writable attr _n_kwend: TKwend
321 end
322 class APublicVisibility
323 special PVisibility
324 end
325 class APrivateVisibility
326 special PVisibility
327 readable writable attr _n_kwprivate: TKwprivate
328 end
329 class AProtectedVisibility
330 special PVisibility
331 readable writable attr _n_kwprotected: TKwprotected
332 end
333 class AIntrudeVisibility
334 special PVisibility
335 readable writable attr _n_kwintrude: TKwintrude
336 end
337 class AClassdef
338 special PClassdef
339 readable writable attr _n_doc: PDoc
340 readable writable attr _n_kwredef: TKwredef
341 readable writable attr _n_visibility: PVisibility
342 readable writable attr _n_classkind: PClasskind
343 readable writable attr _n_id: TClassid
344 readable writable attr _n_formaldefs: List[PFormaldef]
345 readable writable attr _n_superclasses: List[PSuperclass]
346 readable writable attr _n_propdefs: List[PPropdef]
347 end
348 class ATopClassdef
349 special PClassdef
350 readable writable attr _n_propdefs: List[PPropdef]
351 end
352 class AMainClassdef
353 special PClassdef
354 readable writable attr _n_propdefs: List[PPropdef]
355 end
356 class AConcreteClasskind
357 special PClasskind
358 readable writable attr _n_kwclass: TKwclass
359 end
360 class AAbstractClasskind
361 special PClasskind
362 readable writable attr _n_kwabstract: TKwabstract
363 readable writable attr _n_kwclass: TKwclass
364 end
365 class AInterfaceClasskind
366 special PClasskind
367 readable writable attr _n_kwinterface: TKwinterface
368 end
369 class AUniversalClasskind
370 special PClasskind
371 readable writable attr _n_kwuniversal: TKwuniversal
372 end
373 class AFormaldef
374 special PFormaldef
375 readable writable attr _n_id: TClassid
376 readable writable attr _n_type: PType
377 end
378 class ASuperclass
379 special PSuperclass
380 readable writable attr _n_kwspecial: TKwspecial
381 readable writable attr _n_type: PType
382 end
383 class AAttrPropdef
384 special PPropdef
385 readable writable attr _n_kwredef: TKwredef
386 readable writable attr _n_visibility: PVisibility
387 readable writable attr _n_kwattr: TKwattr
388 readable writable attr _n_id: TAttrid
389 readable writable attr _n_type: PType
390 readable writable attr _n_readable: PAble
391 readable writable attr _n_writable: PAble
392 readable writable attr _n_expr: PExpr
393 end
394 class AMethPropdef
395 special PPropdef
396 readable writable attr _n_kwredef: TKwredef
397 readable writable attr _n_visibility: PVisibility
398 readable writable attr _n_methid: PMethid
399 readable writable attr _n_signature: PSignature
400 end
401 class ADeferredMethPropdef
402 special AMethPropdef
403 readable writable attr _n_kwmeth: TKwmeth
404 end
405 class AInternMethPropdef
406 special AMethPropdef
407 readable writable attr _n_kwmeth: TKwmeth
408 end
409 class AExternMethPropdef
410 special AMethPropdef
411 readable writable attr _n_kwmeth: TKwmeth
412 readable writable attr _n_extern: TString
413 end
414 class AConcreteMethPropdef
415 special AMethPropdef
416 readable writable attr _n_kwmeth: TKwmeth
417 readable writable attr _n_block: PExpr
418 end
419 class AConcreteInitPropdef
420 special AConcreteMethPropdef
421 readable writable attr _n_kwinit: TKwinit
422 end
423 class AMainMethPropdef
424 special AConcreteMethPropdef
425 end
426 class ATypePropdef
427 special PPropdef
428 readable writable attr _n_kwredef: TKwredef
429 readable writable attr _n_visibility: PVisibility
430 readable writable attr _n_kwtype: TKwtype
431 readable writable attr _n_id: TClassid
432 readable writable attr _n_type: PType
433 end
434 class AReadAble
435 special PAble
436 readable writable attr _n_kwreadable: TKwreadable
437 end
438 class AWriteAble
439 special PAble
440 readable writable attr _n_kwwritable: TKwwritable
441 end
442 class AIdMethid
443 special PMethid
444 readable writable attr _n_id: TId
445 end
446 class APlusMethid
447 special PMethid
448 readable writable attr _n_plus: TPlus
449 end
450 class AMinusMethid
451 special PMethid
452 readable writable attr _n_minus: TMinus
453 end
454 class AStarMethid
455 special PMethid
456 readable writable attr _n_star: TStar
457 end
458 class ASlashMethid
459 special PMethid
460 readable writable attr _n_slash: TSlash
461 end
462 class APercentMethid
463 special PMethid
464 readable writable attr _n_percent: TPercent
465 end
466 class AEqMethid
467 special PMethid
468 readable writable attr _n_eq: TEq
469 end
470 class ANeMethid
471 special PMethid
472 readable writable attr _n_ne: TNe
473 end
474 class ALeMethid
475 special PMethid
476 readable writable attr _n_le: TLe
477 end
478 class AGeMethid
479 special PMethid
480 readable writable attr _n_ge: TGe
481 end
482 class ALtMethid
483 special PMethid
484 readable writable attr _n_lt: TLt
485 end
486 class AGtMethid
487 special PMethid
488 readable writable attr _n_gt: TGt
489 end
490 class ABraMethid
491 special PMethid
492 readable writable attr _n_obra: TObra
493 readable writable attr _n_cbra: TCbra
494 end
495 class AStarshipMethid
496 special PMethid
497 readable writable attr _n_starship: TStarship
498 end
499 class AAssignMethid
500 special PMethid
501 readable writable attr _n_id: TId
502 readable writable attr _n_assign: TAssign
503 end
504 class ABraassignMethid
505 special PMethid
506 readable writable attr _n_obra: TObra
507 readable writable attr _n_cbra: TCbra
508 readable writable attr _n_assign: TAssign
509 end
510 class ASignature
511 special PSignature
512 readable writable attr _n_params: List[PParam]
513 readable writable attr _n_type: PType
514 end
515 class AParam
516 special PParam
517 readable writable attr _n_dotdotdot: TDotdotdot
518 end
519 class AType
520 special PType
521 readable writable attr _n_id: TClassid
522 readable writable attr _n_types: List[PType]
523 end
524
525
526
527 class ABlockExpr
528 special PExpr
529 readable writable attr _n_expr: List[PExpr]
530 end
531 class AVardeclExpr
532 special PExpr
533 readable writable attr _n_kwvar: TKwvar
534 readable writable attr _n_id: TId
535 readable writable attr _n_type: PType
536 readable writable attr _n_assign: TAssign
537 readable writable attr _n_expr: PExpr
538 end
539 class AReturnExpr
540 special PExpr
541 readable writable attr _n_kwreturn: TKwreturn
542 readable writable attr _n_expr: PExpr
543 end
544 class ABreakExpr
545 special PExpr
546 readable writable attr _n_kwbreak: TKwbreak
547 end
548 class AAbortExpr
549 special PExpr
550 readable writable attr _n_kwabort: TKwabort
551 end
552 class AContinueExpr
553 special PExpr
554 readable writable attr _n_kwcontinue: TKwcontinue
555 end
556 class ADoExpr
557 special PExpr
558 readable writable attr _n_kwdo: TKwdo
559 readable writable attr _n_block: PExpr
560 end
561 class AIfExpr
562 special PExpr
563 readable writable attr _n_kwif: TKwif
564 readable writable attr _n_expr: PExpr
565 readable writable attr _n_then: PExpr
566 readable writable attr _n_else: PExpr
567 end
568 class AIfexprExpr
569 special PExpr
570 readable writable attr _n_kwif: TKwif
571 readable writable attr _n_expr: PExpr
572 readable writable attr _n_kwthen: TKwthen
573 readable writable attr _n_then: PExpr
574 readable writable attr _n_kwelse: TKwelse
575 readable writable attr _n_else: PExpr
576 end
577 class AWhileExpr
578 special PExpr
579 readable writable attr _n_kwwhile: TKwwhile
580 readable writable attr _n_expr: PExpr
581 readable writable attr _n_kwdo: TKwdo
582 readable writable attr _n_block: PExpr
583 end
584 class AForExpr
585 special PExpr
586 readable writable attr _n_vardecl: PExpr
587 readable writable attr _n_kwdo: TKwdo
588 readable writable attr _n_block: PExpr
589 end
590 class AForVardeclExpr
591 special PExpr
592 readable writable attr _n_kwfor: TKwfor
593 readable writable attr _n_id: TId
594 readable writable attr _n_expr: PExpr
595 end
596 class AAssertExpr
597 special PExpr
598 readable writable attr _n_kwassert: TKwassert
599 readable writable attr _n_id: TId
600 readable writable attr _n_expr: PExpr
601 end
602 class AAssignFormExpr
603 special PExpr
604 readable writable attr _n_assign: TAssign
605 readable writable attr _n_value: PExpr
606 end
607 class AReassignFormExpr
608 special PExpr
609 readable writable attr _n_assign_op: PAssignOp
610 readable writable attr _n_value: PExpr
611 end
612 class AOnceExpr
613 special AProxyExpr
614 readable writable attr _n_kwonce: TKwonce
615 end
616 class ASendExpr
617 special PExpr
618 readable writable attr _n_expr: PExpr
619 end
620 class ABinopExpr
621 special ASendExpr
622 readable writable attr _n_expr2: PExpr
623 end
624 class ABoolExpr
625 special PExpr
626 end
627 class AOrExpr
628 special ABoolExpr
629 readable writable attr _n_expr: PExpr
630 readable writable attr _n_expr2: PExpr
631 end
632 class AAndExpr
633 special ABoolExpr
634 readable writable attr _n_expr: PExpr
635 readable writable attr _n_expr2: PExpr
636 end
637 class ANotExpr
638 special ABoolExpr
639 readable writable attr _n_kwnot: TKwnot
640 readable writable attr _n_expr: PExpr
641 end
642 class AEqExpr
643 special ABinopExpr
644 end
645 class AEeExpr
646 special ABoolExpr
647 readable writable attr _n_expr: PExpr
648 readable writable attr _n_expr2: PExpr
649 end
650 class ANeExpr
651 special ABinopExpr
652 end
653 class ALtExpr
654 special ABinopExpr
655 end
656 class ALeExpr
657 special ABinopExpr
658 end
659 class AGtExpr
660 special ABinopExpr
661 end
662 class AGeExpr
663 special ABinopExpr
664 end
665 class AIsaExpr
666 special ABoolExpr
667 readable writable attr _n_expr: PExpr
668 readable writable attr _n_type: PType
669 end
670 class APlusExpr
671 special ABinopExpr
672 end
673 class AMinusExpr
674 special ABinopExpr
675 end
676 class AStarshipExpr
677 special ABinopExpr
678 end
679 class AStarExpr
680 special ABinopExpr
681 end
682 class ASlashExpr
683 special ABinopExpr
684 end
685 class APercentExpr
686 special ABinopExpr
687 end
688 class AUminusExpr
689 special ASendExpr
690 readable writable attr _n_minus: TMinus
691 end
692 class ANewExpr
693 special PExpr
694 readable writable attr _n_kwnew: TKwnew
695 readable writable attr _n_type: PType
696 readable writable attr _n_id: TId
697 readable writable attr _n_args: List[PExpr]
698 end
699 class AAttrFormExpr
700 special PExpr
701 readable writable attr _n_expr: PExpr
702 readable writable attr _n_id: TAttrid
703 end
704 class AAttrExpr
705 special AAttrFormExpr
706 end
707 class AAttrAssignExpr
708 special AAttrFormExpr
709 special AAssignFormExpr
710 end
711 class ACallFormExpr
712 special ASendExpr
713 readable writable attr _n_id: TId
714 readable writable attr _n_args: List[PExpr]
715 end
716 class AAttrReassignExpr
717 special PExpr
718 special AAttrFormExpr
719 special AReassignFormExpr
720 end
721 class ACallExpr
722 special ACallFormExpr
723 end
724 class ACallAssignExpr
725 special ACallFormExpr
726 special AAssignFormExpr
727 end
728 class ACallReassignExpr
729 special PExpr
730 special ACallFormExpr
731 special AReassignFormExpr
732 end
733 class ASuperExpr
734 special PExpr
735 readable writable attr _n_qualified: PQualified
736 readable writable attr _n_kwsuper: TKwsuper
737 readable writable attr _n_args: List[PExpr]
738 end
739 class AInitExpr
740 special ASendExpr
741 readable writable attr _n_kwinit: TKwinit
742 readable writable attr _n_args: List[PExpr]
743 end
744 class ABraFormExpr
745 special ASendExpr
746 readable writable attr _n_args: List[PExpr]
747 end
748 class ABraExpr
749 special ABraFormExpr
750 end
751 class ABraAssignExpr
752 special ABraFormExpr
753 special AAssignFormExpr
754 end
755 class AVarFormExpr
756 special PExpr
757 readable writable attr _n_id: TId
758 end
759 class ABraReassignExpr
760 special ABraFormExpr
761 special AReassignFormExpr
762 end
763 class AVarExpr
764 special AVarFormExpr
765 end
766 class AVarAssignExpr
767 special AVarFormExpr
768 special AAssignFormExpr
769 end
770 class AVarReassignExpr
771 special AVarFormExpr
772 special AReassignFormExpr
773 end
774 class ARangeExpr
775 special PExpr
776 readable writable attr _n_expr: PExpr
777 readable writable attr _n_expr2: PExpr
778 end
779 class ACrangeExpr
780 special ARangeExpr
781 end
782 class AOrangeExpr
783 special ARangeExpr
784 end
785 class AArrayExpr
786 special PExpr
787 readable writable attr _n_exprs: List[PExpr]
788 end
789 class ASelfExpr
790 special PExpr
791 readable writable attr _n_kwself: TKwself
792 end
793 class AImplicitSelfExpr
794 special ASelfExpr
795 end
796 class ATrueExpr
797 special ABoolExpr
798 readable writable attr _n_kwtrue: TKwtrue
799 end
800 class AFalseExpr
801 special ABoolExpr
802 readable writable attr _n_kwfalse: TKwfalse
803 end
804 class ANullExpr
805 special PExpr
806 readable writable attr _n_kwnull: TKwnull
807 end
808 class AIntExpr
809 special PExpr
810 readable writable attr _n_number: TNumber
811 end
812 class AFloatExpr
813 special PExpr
814 readable writable attr _n_float: TFloat
815 end
816 class ACharExpr
817 special PExpr
818 readable writable attr _n_char: TChar
819 end
820 class AStringFormExpr
821 special PExpr
822 end
823 class AStringExpr
824 special AStringFormExpr
825 readable writable attr _n_string: TString
826 end
827 class AStartStringExpr
828 special AStringFormExpr
829 readable writable attr _n_string: TStartString
830 end
831 class AMidStringExpr
832 special AStringFormExpr
833 readable writable attr _n_string: TMidString
834 end
835 class AEndStringExpr
836 special AStringFormExpr
837 readable writable attr _n_string: TEndString
838 end
839 class ASuperstringExpr
840 special PExpr
841 readable writable attr _n_exprs: List[PExpr]
842 end
843 class AParExpr
844 special AProxyExpr
845 end
846 class AProxyExpr
847 special PExpr
848 readable writable attr _n_expr: PExpr
849 end
850 class APlusAssignOp
851 special PAssignOp
852 readable writable attr _n_pluseq: TPluseq
853 end
854 class AMinusAssignOp
855 special PAssignOp
856 readable writable attr _n_minuseq: TMinuseq
857 end
858 class AQualified
859 special PQualified
860 readable writable attr _n_id: List[TId]
861 readable writable attr _n_classid: TClassid
862 end
863 class ADoc
864 special PDoc
865 readable writable attr _n_comment: List[TComment]
866 end
867
868 class Start
869 special Prod
870 readable writable attr _n_base: PModule
871 readable writable attr _n_eof: EOF
872 end