syntax: 'meth' -> 'fun', 'attr' -> 'var'
[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 TKwas
160 special Token
161 end
162 class TKwwith
163 special Token
164 end
165 class TKwnullable
166 special Token
167 end
168 class TKwisset
169 special Token
170 end
171 class TOpar
172 special Token
173 end
174 class TCpar
175 special Token
176 end
177 class TObra
178 special Token
179 end
180 class TCbra
181 special Token
182 end
183 class TComma
184 special Token
185 end
186 class TColumn
187 special Token
188 end
189 class TQuad
190 special Token
191 end
192 class TAssign
193 special Token
194 end
195 class TPluseq
196 special Token
197 end
198 class TMinuseq
199 special Token
200 end
201 class TDotdotdot
202 special Token
203 end
204 class TDotdot
205 special Token
206 end
207 class TDot
208 special Token
209 end
210 class TPlus
211 special Token
212 end
213 class TMinus
214 special Token
215 end
216 class TStar
217 special Token
218 end
219 class TSlash
220 special Token
221 end
222 class TPercent
223 special Token
224 end
225 class TEq
226 special Token
227 end
228 class TNe
229 special Token
230 end
231 class TLt
232 special Token
233 end
234 class TLe
235 special Token
236 end
237 class TGt
238 special Token
239 end
240 class TGe
241 special Token
242 end
243 class TStarship
244 special Token
245 end
246 class TClassid
247 special Token
248 end
249 class TId
250 special Token
251 end
252 class TAttrid
253 special Token
254 end
255 class TNumber
256 special Token
257 end
258 class TFloat
259 special Token
260 end
261 class TChar
262 special Token
263 end
264 class TString
265 special Token
266 end
267 class TStartString
268 special Token
269 end
270 class TMidString
271 special Token
272 end
273 class TEndString
274 special Token
275 end
276 class EOF
277 special Token
278 private init noinit do end
279 end
280 class PError
281 special EOF
282 private init noinit do end
283 end
284
285 class PModule special Prod end
286 class PPackagedecl special Prod end
287 class PImport special Prod end
288 class PVisibility special Prod end
289 class PClassdef special Prod end
290 class PClasskind special Prod end
291 class PFormaldef special Prod end
292 class PSuperclass special Prod end
293 class PPropdef special Prod
294 readable writable var _n_doc: nullable PDoc = null
295 end
296 class PAble special Prod
297 readable writable var _n_kwredef: nullable TKwredef = null
298 end
299 class PMethid special Prod end
300 class PSignature special Prod end
301 class PParam
302 special Prod
303 readable writable var _n_id: TId
304 readable writable var _n_type: nullable PType = null
305 end
306 class PClosureDecl special Prod end
307 class PType special Prod end
308 class PExpr special Prod end
309 class PAssignOp special Prod end
310 class PClosureDef special Prod end
311 class PQualified special Prod end
312 class PDoc special Prod end
313
314 class AModule
315 special PModule
316 readable writable var _n_packagedecl: nullable PPackagedecl = null
317 readable writable var _n_imports: List[PImport] = new List[PImport]
318 readable writable var _n_classdefs: List[PClassdef] = new List[PClassdef]
319 end
320 class APackagedecl
321 special PPackagedecl
322 readable writable var _n_doc: nullable PDoc = null
323 readable writable var _n_kwpackage: TKwpackage
324 readable writable var _n_id: TId
325 end
326 class AImport
327 special PImport
328 readable writable var _n_visibility: PVisibility
329 readable writable var _n_kwimport: TKwimport
330 readable writable var _n_id: TId
331 end
332 class ANoImport
333 special PImport
334 readable writable var _n_visibility: PVisibility
335 readable writable var _n_kwimport: TKwimport
336 readable writable var _n_kwend: TKwend
337 end
338 class APublicVisibility
339 special PVisibility
340 end
341 class APrivateVisibility
342 special PVisibility
343 readable writable var _n_kwprivate: TKwprivate
344 end
345 class AProtectedVisibility
346 special PVisibility
347 readable writable var _n_kwprotected: TKwprotected
348 end
349 class AIntrudeVisibility
350 special PVisibility
351 readable writable var _n_kwintrude: TKwintrude
352 end
353 class AClassdef
354 special PClassdef
355 readable writable var _n_doc: nullable PDoc = null
356 readable writable var _n_kwredef: nullable TKwredef = null
357 readable writable var _n_visibility: PVisibility
358 readable writable var _n_classkind: PClasskind
359 readable writable var _n_id: nullable TClassid = null
360 readable writable var _n_formaldefs: List[PFormaldef] = new List[PFormaldef]
361 readable writable var _n_superclasses: List[PSuperclass] = new List[PSuperclass]
362 readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
363 end
364 class ATopClassdef
365 special PClassdef
366 readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
367 end
368 class AMainClassdef
369 special PClassdef
370 readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
371 end
372 class AConcreteClasskind
373 special PClasskind
374 readable writable var _n_kwclass: TKwclass
375 end
376 class AAbstractClasskind
377 special PClasskind
378 readable writable var _n_kwabstract: TKwabstract
379 readable writable var _n_kwclass: TKwclass
380 end
381 class AInterfaceClasskind
382 special PClasskind
383 readable writable var _n_kwinterface: TKwinterface
384 end
385 class AUniversalClasskind
386 special PClasskind
387 readable writable var _n_kwuniversal: TKwuniversal
388 end
389 class AFormaldef
390 special PFormaldef
391 readable writable var _n_id: TClassid
392 readable writable var _n_type: nullable PType = null
393 end
394 class ASuperclass
395 special PSuperclass
396 readable writable var _n_kwspecial: TKwspecial
397 readable writable var _n_type: PType
398 end
399 class AAttrPropdef
400 special PPropdef
401 readable writable var _n_kwredef: nullable TKwredef = null
402 readable writable var _n_visibility: PVisibility
403 readable writable var _n_kwattr: nullable TKwattr = null
404 readable writable var _n_kwvar: nullable TKwvar = null
405 readable writable var _n_id: TAttrid
406 readable writable var _n_type: nullable PType = null
407 readable writable var _n_readable: nullable PAble = null
408 readable writable var _n_writable: nullable PAble = null
409 readable writable var _n_expr: nullable PExpr = null
410 end
411 class AMethPropdef
412 special PPropdef
413 readable writable var _n_kwredef: nullable TKwredef = null
414 readable writable var _n_visibility: nullable PVisibility
415 readable writable var _n_methid: nullable PMethid = null
416 readable writable var _n_signature: nullable PSignature
417 end
418 class ADeferredMethPropdef
419 special AMethPropdef
420 readable writable var _n_kwmeth: TKwmeth
421 end
422 class AInternMethPropdef
423 special AMethPropdef
424 readable writable var _n_kwmeth: TKwmeth
425 end
426 class AExternMethPropdef
427 special AMethPropdef
428 readable writable var _n_kwmeth: TKwmeth
429 readable writable var _n_extern: nullable TString = null
430 end
431 class AConcreteMethPropdef
432 special AMethPropdef
433 readable writable var _n_kwmeth: nullable TKwmeth
434 readable writable var _n_block: nullable PExpr = null
435 end
436 class AConcreteInitPropdef
437 special AConcreteMethPropdef
438 readable writable var _n_kwinit: TKwinit
439 end
440 class AMainMethPropdef
441 special AConcreteMethPropdef
442 end
443 class ATypePropdef
444 special PPropdef
445 readable writable var _n_kwredef: nullable TKwredef = null
446 readable writable var _n_visibility: PVisibility
447 readable writable var _n_kwtype: TKwtype
448 readable writable var _n_id: TClassid
449 readable writable var _n_type: PType
450 end
451 class AReadAble
452 special PAble
453 readable writable var _n_kwreadable: TKwreadable
454 end
455 class AWriteAble
456 special PAble
457 readable writable var _n_kwwritable: TKwwritable
458 end
459 class AIdMethid
460 special PMethid
461 readable writable var _n_id: TId
462 end
463 class APlusMethid
464 special PMethid
465 readable writable var _n_plus: TPlus
466 end
467 class AMinusMethid
468 special PMethid
469 readable writable var _n_minus: TMinus
470 end
471 class AStarMethid
472 special PMethid
473 readable writable var _n_star: TStar
474 end
475 class ASlashMethid
476 special PMethid
477 readable writable var _n_slash: TSlash
478 end
479 class APercentMethid
480 special PMethid
481 readable writable var _n_percent: TPercent
482 end
483 class AEqMethid
484 special PMethid
485 readable writable var _n_eq: TEq
486 end
487 class ANeMethid
488 special PMethid
489 readable writable var _n_ne: TNe
490 end
491 class ALeMethid
492 special PMethid
493 readable writable var _n_le: TLe
494 end
495 class AGeMethid
496 special PMethid
497 readable writable var _n_ge: TGe
498 end
499 class ALtMethid
500 special PMethid
501 readable writable var _n_lt: TLt
502 end
503 class AGtMethid
504 special PMethid
505 readable writable var _n_gt: TGt
506 end
507 class ABraMethid
508 special PMethid
509 readable writable var _n_obra: TObra
510 readable writable var _n_cbra: TCbra
511 end
512 class AStarshipMethid
513 special PMethid
514 readable writable var _n_starship: TStarship
515 end
516 class AAssignMethid
517 special PMethid
518 readable writable var _n_id: TId
519 readable writable var _n_assign: TAssign
520 end
521 class ABraassignMethid
522 special PMethid
523 readable writable var _n_obra: TObra
524 readable writable var _n_cbra: TCbra
525 readable writable var _n_assign: TAssign
526 end
527 class ASignature
528 special PSignature
529 readable writable var _n_params: List[PParam] = new List[PParam]
530 readable writable var _n_type: nullable PType = null
531 readable writable var _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl]
532 end
533 class AParam
534 special PParam
535 readable writable var _n_dotdotdot: nullable TDotdotdot = null
536 end
537 class AClosureDecl
538 special PClosureDecl
539 readable writable var _n_kwwith: TKwwith
540 readable writable var _n_kwbreak: nullable TKwbreak = null
541 readable writable var _n_id: TId
542 readable writable var _n_signature: PSignature
543 readable writable var _n_expr: nullable PExpr = null
544 end
545 class AType
546 special PType
547 readable writable var _n_kwnullable: nullable TKwnullable = null
548 readable writable var _n_id: TClassid
549 readable writable var _n_types: List[PType] = new List[PType]
550 end
551
552
553
554 class ABlockExpr
555 special PExpr
556 readable writable var _n_expr: List[PExpr] = new List[PExpr]
557 end
558 class AVardeclExpr
559 special PExpr
560 readable writable var _n_kwvar: TKwvar
561 readable writable var _n_id: TId
562 readable writable var _n_type: nullable PType = null
563 readable writable var _n_assign: nullable TAssign = null
564 readable writable var _n_expr: nullable PExpr = null
565 end
566 class AReturnExpr
567 special PExpr
568 readable writable var _n_kwreturn: TKwreturn
569 readable writable var _n_expr: nullable PExpr = null
570 end
571 class ABreakExpr
572 special PExpr
573 readable writable var _n_kwbreak: TKwbreak
574 readable writable var _n_expr: nullable PExpr = null
575 end
576 class AAbortExpr
577 special PExpr
578 readable writable var _n_kwabort: TKwabort
579 end
580 class AContinueExpr
581 special PExpr
582 readable writable var _n_kwcontinue: TKwcontinue
583 readable writable var _n_expr: nullable PExpr = null
584 end
585 class ADoExpr
586 special PExpr
587 readable writable var _n_kwdo: TKwdo
588 readable writable var _n_block: nullable PExpr = null
589 end
590 class AIfExpr
591 special PExpr
592 readable writable var _n_kwif: TKwif
593 readable writable var _n_expr: PExpr
594 readable writable var _n_then: nullable PExpr = null
595 readable writable var _n_else: nullable PExpr = null
596 end
597 class AIfexprExpr
598 special PExpr
599 readable writable var _n_kwif: TKwif
600 readable writable var _n_expr: PExpr
601 readable writable var _n_kwthen: TKwthen
602 readable writable var _n_then: PExpr
603 readable writable var _n_kwelse: TKwelse
604 readable writable var _n_else: PExpr
605 end
606 class AWhileExpr
607 special PExpr
608 readable writable var _n_kwwhile: TKwwhile
609 readable writable var _n_expr: PExpr
610 readable writable var _n_kwdo: TKwdo
611 readable writable var _n_block: nullable PExpr = null
612 end
613 class AForExpr
614 special PExpr
615 readable writable var _n_kwfor: TKwfor
616 readable writable var _n_id: TId
617 readable writable var _n_expr: PExpr
618 readable writable var _n_kwdo: TKwdo
619 readable writable var _n_block: nullable PExpr = null
620 end
621 class AAssertExpr
622 special PExpr
623 readable writable var _n_kwassert: TKwassert
624 readable writable var _n_id: nullable TId = null
625 readable writable var _n_expr: PExpr
626 end
627 class AAssignFormExpr
628 special PExpr
629 readable writable var _n_assign: TAssign
630 readable writable var _n_value: PExpr
631 end
632 class AReassignFormExpr
633 special PExpr
634 readable writable var _n_assign_op: PAssignOp
635 readable writable var _n_value: PExpr
636 end
637 class AOnceExpr
638 special AProxyExpr
639 readable writable var _n_kwonce: TKwonce
640 end
641 class ASendExpr
642 special PExpr
643 readable writable var _n_expr: PExpr
644 readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
645 end
646 class ABinopExpr
647 special ASendExpr
648 readable writable var _n_expr2: PExpr
649 end
650 class ABoolExpr
651 special PExpr
652 end
653 class AOrExpr
654 special ABoolExpr
655 readable writable var _n_expr: PExpr
656 readable writable var _n_expr2: PExpr
657 end
658 class AAndExpr
659 special ABoolExpr
660 readable writable var _n_expr: PExpr
661 readable writable var _n_expr2: PExpr
662 end
663 class ANotExpr
664 special ABoolExpr
665 readable writable var _n_kwnot: TKwnot
666 readable writable var _n_expr: PExpr
667 end
668 class AEqExpr
669 special ABinopExpr
670 end
671 class AEeExpr
672 special ABoolExpr
673 readable writable var _n_expr: PExpr
674 readable writable var _n_expr2: PExpr
675 end
676 class ANeExpr
677 special ABinopExpr
678 end
679 class ALtExpr
680 special ABinopExpr
681 end
682 class ALeExpr
683 special ABinopExpr
684 end
685 class AGtExpr
686 special ABinopExpr
687 end
688 class AGeExpr
689 special ABinopExpr
690 end
691 class AIsaExpr
692 special ABoolExpr
693 readable writable var _n_expr: PExpr
694 readable writable var _n_type: PType
695 end
696 class APlusExpr
697 special ABinopExpr
698 end
699 class AMinusExpr
700 special ABinopExpr
701 end
702 class AStarshipExpr
703 special ABinopExpr
704 end
705 class AStarExpr
706 special ABinopExpr
707 end
708 class ASlashExpr
709 special ABinopExpr
710 end
711 class APercentExpr
712 special ABinopExpr
713 end
714 class AUminusExpr
715 special ASendExpr
716 readable writable var _n_minus: TMinus
717 end
718 class ANewExpr
719 special PExpr
720 readable writable var _n_kwnew: TKwnew
721 readable writable var _n_type: PType
722 readable writable var _n_id: nullable TId = null
723 readable writable var _n_args: List[PExpr] = new List[PExpr]
724 end
725 class AAttrFormExpr
726 special PExpr
727 readable writable var _n_expr: PExpr
728 readable writable var _n_id: TAttrid
729 end
730 class AAttrExpr
731 special AAttrFormExpr
732 end
733 class AAttrAssignExpr
734 special AAttrFormExpr
735 special AAssignFormExpr
736 end
737 class ACallFormExpr
738 special ASendExpr
739 readable writable var _n_id: TId
740 readable writable var _n_args: List[PExpr] = new List[PExpr]
741 end
742 class AAttrReassignExpr
743 special PExpr
744 special AAttrFormExpr
745 special AReassignFormExpr
746 end
747 class ACallExpr
748 special ACallFormExpr
749 end
750 class ACallAssignExpr
751 special ACallFormExpr
752 special AAssignFormExpr
753 end
754 class ACallReassignExpr
755 special PExpr
756 special ACallFormExpr
757 special AReassignFormExpr
758 end
759 class ASuperExpr
760 special PExpr
761 readable writable var _n_qualified: nullable PQualified = null
762 readable writable var _n_kwsuper: TKwsuper
763 readable writable var _n_args: List[PExpr] = new List[PExpr]
764 end
765 class AInitExpr
766 special ASendExpr
767 readable writable var _n_kwinit: TKwinit
768 readable writable var _n_args: List[PExpr] = new List[PExpr]
769 end
770 class ABraFormExpr
771 special ASendExpr
772 readable writable var _n_args: List[PExpr] = new List[PExpr]
773 end
774 class ABraExpr
775 special ABraFormExpr
776 end
777 class ABraAssignExpr
778 special ABraFormExpr
779 special AAssignFormExpr
780 end
781 class AVarFormExpr
782 special PExpr
783 readable writable var _n_id: TId
784 end
785 class ABraReassignExpr
786 special ABraFormExpr
787 special AReassignFormExpr
788 end
789 class AClosureCallExpr
790 special PExpr
791 readable writable var _n_id: TId
792 readable writable var _n_args: List[PExpr] = new List[PExpr]
793 readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
794 end
795 class AVarExpr
796 special AVarFormExpr
797 end
798 class AVarAssignExpr
799 special AVarFormExpr
800 special AAssignFormExpr
801 end
802 class AVarReassignExpr
803 special AVarFormExpr
804 special AReassignFormExpr
805 end
806 class ARangeExpr
807 special PExpr
808 readable writable var _n_expr: PExpr
809 readable writable var _n_expr2: PExpr
810 end
811 class ACrangeExpr
812 special ARangeExpr
813 end
814 class AOrangeExpr
815 special ARangeExpr
816 end
817 class AArrayExpr
818 special PExpr
819 readable writable var _n_exprs: List[PExpr] = new List[PExpr]
820 end
821 class ASelfExpr
822 special PExpr
823 readable writable var _n_kwself: nullable TKwself
824 end
825 class AImplicitSelfExpr
826 special ASelfExpr
827 end
828 class ATrueExpr
829 special ABoolExpr
830 readable writable var _n_kwtrue: TKwtrue
831 end
832 class AFalseExpr
833 special ABoolExpr
834 readable writable var _n_kwfalse: TKwfalse
835 end
836 class ANullExpr
837 special PExpr
838 readable writable var _n_kwnull: TKwnull
839 end
840 class AIntExpr
841 special PExpr
842 readable writable var _n_number: TNumber
843 end
844 class AFloatExpr
845 special PExpr
846 readable writable var _n_float: TFloat
847 end
848 class ACharExpr
849 special PExpr
850 readable writable var _n_char: TChar
851 end
852 class AStringFormExpr
853 special PExpr
854 end
855 class AStringExpr
856 special AStringFormExpr
857 readable writable var _n_string: TString
858 end
859 class AStartStringExpr
860 special AStringFormExpr
861 readable writable var _n_string: TStartString
862 end
863 class AMidStringExpr
864 special AStringFormExpr
865 readable writable var _n_string: TMidString
866 end
867 class AEndStringExpr
868 special AStringFormExpr
869 readable writable var _n_string: TEndString
870 end
871 class ASuperstringExpr
872 special PExpr
873 readable writable var _n_exprs: List[PExpr] = new List[PExpr]
874 end
875 class AParExpr
876 special AProxyExpr
877 end
878 class AProxyExpr
879 special PExpr
880 readable writable var _n_expr: PExpr
881 end
882 class AAsCastExpr
883 special PExpr
884 readable writable var _n_expr: PExpr
885 readable writable var _n_kwas: TKwas
886 readable writable var _n_type: PType
887 end
888 class AAsNotnullExpr
889 special PExpr
890 readable writable var _n_expr: PExpr
891 readable writable var _n_kwas: TKwas
892 readable writable var _n_kwnot: TKwnot
893 readable writable var _n_kwnull: TKwnull
894 end
895 class AIssetAttrExpr
896 special AAttrFormExpr
897 readable writable var _n_kwisset: TKwisset
898 end
899 class APlusAssignOp
900 special PAssignOp
901 readable writable var _n_pluseq: TPluseq
902 end
903 class AMinusAssignOp
904 special PAssignOp
905 readable writable var _n_minuseq: TMinuseq
906 end
907 class AClosureDef
908 special PClosureDef
909 readable writable var _n_kwwith: TKwwith
910 readable writable var _n_id: List[TId] = new List[TId]
911 readable writable var _n_kwdo: TKwdo
912 readable writable var _n_expr: nullable PExpr = null
913 end
914 class AQualified
915 special PQualified
916 readable writable var _n_id: List[TId] = new List[TId]
917 readable writable var _n_classid: nullable TClassid = null
918 end
919 class ADoc
920 special PDoc
921 readable writable var _n_comment: List[TComment] = new List[TComment]
922 end
923
924 class Start
925 special Prod
926 readable writable var _n_base: nullable PModule
927 readable writable var _n_eof: EOF
928 end