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