parser: add nullables
[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 attr _n_doc: PDoc = null
295 end
296 class PAble special Prod
297 readable writable attr _n_kwredef: 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 attr _n_id: TId = null
304 readable writable attr _n_type: 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 attr _n_packagedecl: PPackagedecl = null
317 readable writable attr _n_imports: List[PImport] = null
318 readable writable attr _n_classdefs: List[PClassdef] = null
319 end
320 class APackagedecl
321 special PPackagedecl
322 readable writable attr _n_doc: PDoc = null
323 readable writable attr _n_kwpackage: TKwpackage = null
324 readable writable attr _n_id: TId = null
325 end
326 class AImport
327 special PImport
328 readable writable attr _n_visibility: PVisibility = null
329 readable writable attr _n_kwimport: TKwimport = null
330 readable writable attr _n_id: TId = null
331 end
332 class ANoImport
333 special PImport
334 readable writable attr _n_visibility: PVisibility = null
335 readable writable attr _n_kwimport: TKwimport = null
336 readable writable attr _n_kwend: TKwend = null
337 end
338 class APublicVisibility
339 special PVisibility
340 end
341 class APrivateVisibility
342 special PVisibility
343 readable writable attr _n_kwprivate: TKwprivate = null
344 end
345 class AProtectedVisibility
346 special PVisibility
347 readable writable attr _n_kwprotected: TKwprotected = null
348 end
349 class AIntrudeVisibility
350 special PVisibility
351 readable writable attr _n_kwintrude: TKwintrude = null
352 end
353 class AClassdef
354 special PClassdef
355 readable writable attr _n_doc: PDoc = null
356 readable writable attr _n_kwredef: TKwredef = null
357 readable writable attr _n_visibility: PVisibility = null
358 readable writable attr _n_classkind: PClasskind = null
359 readable writable attr _n_id: TClassid = null
360 readable writable attr _n_formaldefs: List[PFormaldef] = null
361 readable writable attr _n_superclasses: List[PSuperclass] = null
362 readable writable attr _n_propdefs: List[PPropdef] = null
363 end
364 class ATopClassdef
365 special PClassdef
366 readable writable attr _n_propdefs: List[PPropdef] = null
367 end
368 class AMainClassdef
369 special PClassdef
370 readable writable attr _n_propdefs: List[PPropdef] = null
371 end
372 class AConcreteClasskind
373 special PClasskind
374 readable writable attr _n_kwclass: TKwclass = null
375 end
376 class AAbstractClasskind
377 special PClasskind
378 readable writable attr _n_kwabstract: TKwabstract = null
379 readable writable attr _n_kwclass: TKwclass = null
380 end
381 class AInterfaceClasskind
382 special PClasskind
383 readable writable attr _n_kwinterface: TKwinterface = null
384 end
385 class AUniversalClasskind
386 special PClasskind
387 readable writable attr _n_kwuniversal: TKwuniversal = null
388 end
389 class AFormaldef
390 special PFormaldef
391 readable writable attr _n_id: TClassid = null
392 readable writable attr _n_type: PType = null
393 end
394 class ASuperclass
395 special PSuperclass
396 readable writable attr _n_kwspecial: TKwspecial = null
397 readable writable attr _n_type: PType = null
398 end
399 class AAttrPropdef
400 special PPropdef
401 readable writable attr _n_kwredef: TKwredef = null
402 readable writable attr _n_visibility: PVisibility = null
403 readable writable attr _n_kwattr: TKwattr = null
404 readable writable attr _n_kwvar: TKwvar = null
405 readable writable attr _n_id: TAttrid = null
406 readable writable attr _n_type: PType = null
407 readable writable attr _n_readable: PAble = null
408 readable writable attr _n_writable: PAble = null
409 readable writable attr _n_expr: PExpr = null
410 end
411 class AMethPropdef
412 special PPropdef
413 readable writable attr _n_kwredef: TKwredef = null
414 readable writable attr _n_visibility: PVisibility = null
415 readable writable attr _n_methid: PMethid = null
416 readable writable attr _n_signature: PSignature = null
417 end
418 class ADeferredMethPropdef
419 special AMethPropdef
420 readable writable attr _n_kwmeth: TKwmeth = null
421 end
422 class AInternMethPropdef
423 special AMethPropdef
424 readable writable attr _n_kwmeth: TKwmeth = null
425 end
426 class AExternMethPropdef
427 special AMethPropdef
428 readable writable attr _n_kwmeth: TKwmeth = null
429 readable writable attr _n_extern: TString = null
430 end
431 class AConcreteMethPropdef
432 special AMethPropdef
433 readable writable attr _n_kwmeth: TKwmeth = null
434 readable writable attr _n_block: PExpr = null
435 end
436 class AConcreteInitPropdef
437 special AConcreteMethPropdef
438 readable writable attr _n_kwinit: TKwinit = null
439 end
440 class AMainMethPropdef
441 special AConcreteMethPropdef
442 end
443 class ATypePropdef
444 special PPropdef
445 readable writable attr _n_kwredef: TKwredef = null
446 readable writable attr _n_visibility: PVisibility = null
447 readable writable attr _n_kwtype: TKwtype = null
448 readable writable attr _n_id: TClassid = null
449 readable writable attr _n_type: PType = null
450 end
451 class AReadAble
452 special PAble
453 readable writable attr _n_kwreadable: TKwreadable = null
454 end
455 class AWriteAble
456 special PAble
457 readable writable attr _n_kwwritable: TKwwritable = null
458 end
459 class AIdMethid
460 special PMethid
461 readable writable attr _n_id: TId = null
462 end
463 class APlusMethid
464 special PMethid
465 readable writable attr _n_plus: TPlus = null
466 end
467 class AMinusMethid
468 special PMethid
469 readable writable attr _n_minus: TMinus = null
470 end
471 class AStarMethid
472 special PMethid
473 readable writable attr _n_star: TStar = null
474 end
475 class ASlashMethid
476 special PMethid
477 readable writable attr _n_slash: TSlash = null
478 end
479 class APercentMethid
480 special PMethid
481 readable writable attr _n_percent: TPercent = null
482 end
483 class AEqMethid
484 special PMethid
485 readable writable attr _n_eq: TEq = null
486 end
487 class ANeMethid
488 special PMethid
489 readable writable attr _n_ne: TNe = null
490 end
491 class ALeMethid
492 special PMethid
493 readable writable attr _n_le: TLe = null
494 end
495 class AGeMethid
496 special PMethid
497 readable writable attr _n_ge: TGe = null
498 end
499 class ALtMethid
500 special PMethid
501 readable writable attr _n_lt: TLt = null
502 end
503 class AGtMethid
504 special PMethid
505 readable writable attr _n_gt: TGt = null
506 end
507 class ABraMethid
508 special PMethid
509 readable writable attr _n_obra: TObra = null
510 readable writable attr _n_cbra: TCbra = null
511 end
512 class AStarshipMethid
513 special PMethid
514 readable writable attr _n_starship: TStarship = null
515 end
516 class AAssignMethid
517 special PMethid
518 readable writable attr _n_id: TId = null
519 readable writable attr _n_assign: TAssign = null
520 end
521 class ABraassignMethid
522 special PMethid
523 readable writable attr _n_obra: TObra = null
524 readable writable attr _n_cbra: TCbra = null
525 readable writable attr _n_assign: TAssign = null
526 end
527 class ASignature
528 special PSignature
529 readable writable attr _n_params: List[PParam] = null
530 readable writable attr _n_type: PType = null
531 readable writable attr _n_closure_decls: List[PClosureDecl] = null
532 end
533 class AParam
534 special PParam
535 readable writable attr _n_dotdotdot: TDotdotdot = null
536 end
537 class AClosureDecl
538 special PClosureDecl
539 readable writable attr _n_kwwith: TKwwith = null
540 readable writable attr _n_kwbreak: TKwbreak = null
541 readable writable attr _n_id: TId = null
542 readable writable attr _n_signature: PSignature = null
543 readable writable attr _n_expr: PExpr = null
544 end
545 class AType
546 special PType
547 readable writable attr _n_kwnullable: TKwnullable = null
548 readable writable attr _n_id: TClassid = null
549 readable writable attr _n_types: List[PType] = null
550 end
551
552
553
554 class ABlockExpr
555 special PExpr
556 readable writable attr _n_expr: List[PExpr] = null
557 end
558 class AVardeclExpr
559 special PExpr
560 readable writable attr _n_kwvar: TKwvar = null
561 readable writable attr _n_id: TId = null
562 readable writable attr _n_type: PType = null
563 readable writable attr _n_assign: TAssign = null
564 readable writable attr _n_expr: PExpr = null
565 end
566 class AReturnExpr
567 special PExpr
568 readable writable attr _n_kwreturn: TKwreturn = null
569 readable writable attr _n_expr: PExpr = null
570 end
571 class ABreakExpr
572 special PExpr
573 readable writable attr _n_kwbreak: TKwbreak = null
574 readable writable attr _n_expr: PExpr = null
575 end
576 class AAbortExpr
577 special PExpr
578 readable writable attr _n_kwabort: TKwabort = null
579 end
580 class AContinueExpr
581 special PExpr
582 readable writable attr _n_kwcontinue: TKwcontinue = null
583 readable writable attr _n_expr: PExpr = null
584 end
585 class ADoExpr
586 special PExpr
587 readable writable attr _n_kwdo: TKwdo = null
588 readable writable attr _n_block: PExpr = null
589 end
590 class AIfExpr
591 special PExpr
592 readable writable attr _n_kwif: TKwif = null
593 readable writable attr _n_expr: PExpr = null
594 readable writable attr _n_then: PExpr = null
595 readable writable attr _n_else: PExpr = null
596 end
597 class AIfexprExpr
598 special PExpr
599 readable writable attr _n_kwif: TKwif = null
600 readable writable attr _n_expr: PExpr = null
601 readable writable attr _n_kwthen: TKwthen = null
602 readable writable attr _n_then: PExpr = null
603 readable writable attr _n_kwelse: TKwelse = null
604 readable writable attr _n_else: PExpr = null
605 end
606 class AWhileExpr
607 special PExpr
608 readable writable attr _n_kwwhile: TKwwhile = null
609 readable writable attr _n_expr: PExpr = null
610 readable writable attr _n_kwdo: TKwdo = null
611 readable writable attr _n_block: PExpr = null
612 end
613 class AForExpr
614 special PExpr
615 readable writable attr _n_kwfor: TKwfor = null
616 readable writable attr _n_id: TId = null
617 readable writable attr _n_expr: PExpr = null
618 readable writable attr _n_kwdo: TKwdo = null
619 readable writable attr _n_block: PExpr = null
620 end
621 class AAssertExpr
622 special PExpr
623 readable writable attr _n_kwassert: TKwassert = null
624 readable writable attr _n_id: TId = null
625 readable writable attr _n_expr: PExpr = null
626 end
627 class AAssignFormExpr
628 special PExpr
629 readable writable attr _n_assign: TAssign = null
630 readable writable attr _n_value: PExpr = null
631 end
632 class AReassignFormExpr
633 special PExpr
634 readable writable attr _n_assign_op: PAssignOp = null
635 readable writable attr _n_value: PExpr = null
636 end
637 class AOnceExpr
638 special AProxyExpr
639 readable writable attr _n_kwonce: TKwonce = null
640 end
641 class ASendExpr
642 special PExpr
643 readable writable attr _n_expr: PExpr = null
644 readable writable attr _n_closure_defs: List[PClosureDef] = null
645 end
646 class ABinopExpr
647 special ASendExpr
648 readable writable attr _n_expr2: PExpr = null
649 end
650 class ABoolExpr
651 special PExpr
652 end
653 class AOrExpr
654 special ABoolExpr
655 readable writable attr _n_expr: PExpr = null
656 readable writable attr _n_expr2: PExpr = null
657 end
658 class AAndExpr
659 special ABoolExpr
660 readable writable attr _n_expr: PExpr = null
661 readable writable attr _n_expr2: PExpr = null
662 end
663 class ANotExpr
664 special ABoolExpr
665 readable writable attr _n_kwnot: TKwnot = null
666 readable writable attr _n_expr: PExpr = null
667 end
668 class AEqExpr
669 special ABinopExpr
670 end
671 class AEeExpr
672 special ABoolExpr
673 readable writable attr _n_expr: PExpr = null
674 readable writable attr _n_expr2: PExpr = null
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 attr _n_expr: PExpr = null
694 readable writable attr _n_type: PType = null
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 attr _n_minus: TMinus = null
717 end
718 class ANewExpr
719 special PExpr
720 readable writable attr _n_kwnew: TKwnew = null
721 readable writable attr _n_type: PType = null
722 readable writable attr _n_id: TId = null
723 readable writable attr _n_args: List[PExpr] = null
724 end
725 class AAttrFormExpr
726 special PExpr
727 readable writable attr _n_expr: PExpr = null
728 readable writable attr _n_id: TAttrid = null
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 attr _n_id: TId = null
740 readable writable attr _n_args: List[PExpr] = null
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 attr _n_qualified: PQualified = null
762 readable writable attr _n_kwsuper: TKwsuper = null
763 readable writable attr _n_args: List[PExpr] = null
764 end
765 class AInitExpr
766 special ASendExpr
767 readable writable attr _n_kwinit: TKwinit = null
768 readable writable attr _n_args: List[PExpr] = null
769 end
770 class ABraFormExpr
771 special ASendExpr
772 readable writable attr _n_args: List[PExpr] = null
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 attr _n_id: TId = null
784 end
785 class ABraReassignExpr
786 special ABraFormExpr
787 special AReassignFormExpr
788 end
789 class AClosureCallExpr
790 special PExpr
791 readable writable attr _n_id: TId = null
792 readable writable attr _n_args: List[PExpr] = null
793 readable writable attr _n_closure_defs: List[PClosureDef] = null
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 attr _n_expr: PExpr = null
809 readable writable attr _n_expr2: PExpr = null
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 attr _n_exprs: List[PExpr] = null
820 end
821 class ASelfExpr
822 special PExpr
823 readable writable attr _n_kwself: TKwself = null
824 end
825 class AImplicitSelfExpr
826 special ASelfExpr
827 end
828 class ATrueExpr
829 special ABoolExpr
830 readable writable attr _n_kwtrue: TKwtrue = null
831 end
832 class AFalseExpr
833 special ABoolExpr
834 readable writable attr _n_kwfalse: TKwfalse = null
835 end
836 class ANullExpr
837 special PExpr
838 readable writable attr _n_kwnull: TKwnull = null
839 end
840 class AIntExpr
841 special PExpr
842 readable writable attr _n_number: TNumber = null
843 end
844 class AFloatExpr
845 special PExpr
846 readable writable attr _n_float: TFloat = null
847 end
848 class ACharExpr
849 special PExpr
850 readable writable attr _n_char: TChar = null
851 end
852 class AStringFormExpr
853 special PExpr
854 end
855 class AStringExpr
856 special AStringFormExpr
857 readable writable attr _n_string: TString = null
858 end
859 class AStartStringExpr
860 special AStringFormExpr
861 readable writable attr _n_string: TStartString = null
862 end
863 class AMidStringExpr
864 special AStringFormExpr
865 readable writable attr _n_string: TMidString = null
866 end
867 class AEndStringExpr
868 special AStringFormExpr
869 readable writable attr _n_string: TEndString = null
870 end
871 class ASuperstringExpr
872 special PExpr
873 readable writable attr _n_exprs: List[PExpr] = null
874 end
875 class AParExpr
876 special AProxyExpr
877 end
878 class AProxyExpr
879 special PExpr
880 readable writable attr _n_expr: PExpr = null
881 end
882 class AAsCastExpr
883 special PExpr
884 readable writable attr _n_expr: PExpr = null
885 readable writable attr _n_kwas: TKwas = null
886 readable writable attr _n_type: PType = null
887 end
888 class AAsNotnullExpr
889 special PExpr
890 readable writable attr _n_expr: PExpr = null
891 readable writable attr _n_kwas: TKwas = null
892 readable writable attr _n_kwnot: TKwnot = null
893 readable writable attr _n_kwnull: TKwnull = null
894 end
895 class AIssetAttrExpr
896 special PExpr
897 readable writable attr _n_kwisset: TKwisset = null
898 readable writable attr _n_expr: PExpr = null
899 readable writable attr _n_id: TAttrid = null
900 end
901 class APlusAssignOp
902 special PAssignOp
903 readable writable attr _n_pluseq: TPluseq = null
904 end
905 class AMinusAssignOp
906 special PAssignOp
907 readable writable attr _n_minuseq: TMinuseq = null
908 end
909 class AClosureDef
910 special PClosureDef
911 readable writable attr _n_kwwith: TKwwith = null
912 readable writable attr _n_id: List[TId] = null
913 readable writable attr _n_kwdo: TKwdo = null
914 readable writable attr _n_expr: PExpr = null
915 end
916 class AQualified
917 special PQualified
918 readable writable attr _n_id: List[TId] = null
919 readable writable attr _n_classid: TClassid = null
920 end
921 class ADoc
922 special PDoc
923 readable writable attr _n_comment: List[TComment] = null
924 end
925
926 class Start
927 special Prod
928 readable writable attr _n_base: PModule
929 readable writable attr _n_eof: EOF
930 end