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