Merge branch 'annotations'
[nit.git] / src / parser / parser_abs.nit
1 # Raw AST node hierarchy.
2 # This file was generated by SableCC (http://www.sablecc.org/).
3 package parser_abs
4
5 import location
6
7 # Root of the AST hierarchy
8 abstract class ANode
9 var _location: nullable Location
10
11 # Location is set during AST building. Once built, location cannon be null
12 # However, manual instanciated nodes may need mode care
13 fun location: Location do return _location.as(not null)
14 end
15
16 # Ancestor of all tokens
17 abstract class Token
18 super ANode
19 end
20
21 # Ancestor of all productions
22 abstract class Prod
23 super ANode
24 fun location=(loc: Location) do _location = loc
25 end
26 class TEol
27 super Token
28 end
29 class TComment
30 super Token
31 end
32 class TKwmodule
33 super Token
34 end
35 class TKwimport
36 super Token
37 end
38 class TKwclass
39 super Token
40 end
41 class TKwabstract
42 super Token
43 end
44 class TKwinterface
45 super Token
46 end
47 class TKwenum
48 super Token
49 end
50 class TKwend
51 super Token
52 end
53 class TKwmeth
54 super Token
55 end
56 class TKwtype
57 super Token
58 end
59 class TKwinit
60 super Token
61 end
62 class TKwredef
63 super Token
64 end
65 class TKwis
66 super Token
67 end
68 class TKwdo
69 super Token
70 end
71 class TKwreadable
72 super Token
73 end
74 class TKwwritable
75 super Token
76 end
77 class TKwvar
78 super Token
79 end
80 class TKwintern
81 super Token
82 end
83 class TKwextern
84 super Token
85 end
86 class TKwprotected
87 super Token
88 end
89 class TKwprivate
90 super Token
91 end
92 class TKwintrude
93 super Token
94 end
95 class TKwif
96 super Token
97 end
98 class TKwthen
99 super Token
100 end
101 class TKwelse
102 super Token
103 end
104 class TKwwhile
105 super Token
106 end
107 class TKwloop
108 super Token
109 end
110 class TKwfor
111 super Token
112 end
113 class TKwin
114 super Token
115 end
116 class TKwand
117 super Token
118 end
119 class TKwor
120 super Token
121 end
122 class TKwnot
123 super Token
124 end
125 class TKwreturn
126 super Token
127 end
128 class TKwcontinue
129 super Token
130 end
131 class TKwbreak
132 super Token
133 end
134 class TKwabort
135 super Token
136 end
137 class TKwassert
138 super Token
139 end
140 class TKwnew
141 super Token
142 end
143 class TKwisa
144 super Token
145 end
146 class TKwonce
147 super Token
148 end
149 class TKwsuper
150 super Token
151 end
152 class TKwself
153 super Token
154 end
155 class TKwtrue
156 super Token
157 end
158 class TKwfalse
159 super Token
160 end
161 class TKwnull
162 super Token
163 end
164 class TKwas
165 super Token
166 end
167 class TKwnullable
168 super Token
169 end
170 class TKwisset
171 super Token
172 end
173 class TKwlabel
174 super Token
175 end
176 class TKwdebug
177 super Token
178 end
179 class TOpar
180 super Token
181 end
182 class TCpar
183 super Token
184 end
185 class TObra
186 super Token
187 end
188 class TCbra
189 super Token
190 end
191 class TComma
192 super Token
193 end
194 class TColumn
195 super Token
196 end
197 class TQuad
198 super Token
199 end
200 class TAssign
201 super Token
202 end
203 class TPluseq
204 super Token
205 end
206 class TMinuseq
207 super Token
208 end
209 class TDotdotdot
210 super Token
211 end
212 class TDotdot
213 super Token
214 end
215 class TDot
216 super Token
217 end
218 class TPlus
219 super Token
220 end
221 class TMinus
222 super Token
223 end
224 class TStar
225 super Token
226 end
227 class TSlash
228 super Token
229 end
230 class TPercent
231 super Token
232 end
233 class TEq
234 super Token
235 end
236 class TNe
237 super Token
238 end
239 class TLt
240 super Token
241 end
242 class TLe
243 super Token
244 end
245 class TLl
246 super Token
247 end
248 class TGt
249 super Token
250 end
251 class TGe
252 super Token
253 end
254 class TGg
255 super Token
256 end
257 class TStarship
258 super Token
259 end
260 class TBang
261 super Token
262 end
263 class TAt
264 super Token
265 end
266 class TClassid
267 super Token
268 end
269 class TId
270 super Token
271 end
272 class TAttrid
273 super Token
274 end
275 class TNumber
276 super Token
277 end
278 class TFloat
279 super Token
280 end
281 class TString
282 super Token
283 end
284 class TStartString
285 super Token
286 end
287 class TMidString
288 super Token
289 end
290 class TEndString
291 super Token
292 end
293 class TChar
294 super Token
295 end
296 class TBadString
297 super Token
298 end
299 class TBadChar
300 super Token
301 end
302 class TExternCodeSegment
303 super Token
304 end
305 class EOF
306 super Token
307 end
308 class AError
309 super EOF
310 end
311 class ALexerError
312 super AError
313 end
314 class AParserError
315 super AError
316 end
317
318 class AModule super Prod end
319 class AModuledecl super Prod end
320 class AImport super Prod end
321 class AVisibility super Prod end
322 class AClassdef super Prod end
323 class AClasskind super Prod end
324 class AFormaldef super Prod end
325 class ASuperclass super Prod end
326 class APropdef super Prod end
327 class AAble super Prod end
328 class AMethid super Prod end
329 class ASignature super Prod end
330 class AParam super Prod end
331 class AClosureDecl super Prod end
332 class AType super Prod end
333 class ALabel super Prod end
334 class AExpr super Prod end
335 class AExprs super Prod end
336 class AAssignOp super Prod end
337 class AClosureDef super Prod end
338 class AClosureId super Prod end
339 class AModuleName super Prod end
340 class AExternCalls super Prod end
341 class AExternCall super Prod end
342 class AInLanguage super Prod end
343 class AExternCodeBlock super Prod end
344 class AQualified super Prod end
345 class ADoc super Prod end
346 class AAnnotations super Prod end
347 class AAnnotation super Prod end
348 class AAtArg super Prod end
349 class AAtid super Prod end
350
351 class AModule
352 super AModule
353 readable var _n_moduledecl: nullable AModuledecl = null
354 readable var _n_imports: List[AImport] = new List[AImport]
355 readable var _n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock]
356 readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
357 end
358 class AModuledecl
359 super AModuledecl
360 readable var _n_doc: nullable ADoc = null
361 readable var _n_kwmodule: TKwmodule
362 readable var _n_name: AModuleName
363 readable var _n_annotations: nullable AAnnotations = null
364 end
365 class AStdImport
366 super AImport
367 readable var _n_visibility: AVisibility
368 readable var _n_kwimport: TKwimport
369 readable var _n_name: AModuleName
370 readable var _n_annotations: nullable AAnnotations = null
371 end
372 class ANoImport
373 super AImport
374 readable var _n_visibility: AVisibility
375 readable var _n_kwimport: TKwimport
376 readable var _n_kwend: TKwend
377 end
378 class APublicVisibility
379 super AVisibility
380 end
381 class APrivateVisibility
382 super AVisibility
383 readable var _n_kwprivate: TKwprivate
384 end
385 class AProtectedVisibility
386 super AVisibility
387 readable var _n_kwprotected: TKwprotected
388 end
389 class AIntrudeVisibility
390 super AVisibility
391 readable var _n_kwintrude: TKwintrude
392 end
393 class AStdClassdef
394 super AClassdef
395 readable var _n_doc: nullable ADoc = null
396 readable var _n_kwredef: nullable TKwredef = null
397 readable var _n_visibility: AVisibility
398 readable var _n_classkind: AClasskind
399 readable var _n_id: nullable TClassid = null
400 readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
401 readable var _n_annotations: nullable AAnnotations = null
402 readable var _n_extern_code_block: nullable AExternCodeBlock = null
403 readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
404 readable var _n_propdefs: List[APropdef] = new List[APropdef]
405 readable var _n_kwend: TKwend
406 end
407 class ATopClassdef
408 super AClassdef
409 readable var _n_propdefs: List[APropdef] = new List[APropdef]
410 end
411 class AMainClassdef
412 super AClassdef
413 readable var _n_propdefs: List[APropdef] = new List[APropdef]
414 end
415 class AConcreteClasskind
416 super AClasskind
417 readable var _n_kwclass: TKwclass
418 end
419 class AAbstractClasskind
420 super AClasskind
421 readable var _n_kwabstract: TKwabstract
422 readable var _n_kwclass: TKwclass
423 end
424 class AInterfaceClasskind
425 super AClasskind
426 readable var _n_kwinterface: TKwinterface
427 end
428 class AEnumClasskind
429 super AClasskind
430 readable var _n_kwenum: TKwenum
431 end
432 class AExternClasskind
433 super AClasskind
434 readable var _n_kwextern: TKwextern
435 readable var _n_kwclass: nullable TKwclass = null
436 end
437 class AFormaldef
438 super AFormaldef
439 readable var _n_id: TClassid
440 readable var _n_type: nullable AType = null
441 readable var _n_annotations: nullable AAnnotations = null
442 end
443 class ASuperclass
444 super ASuperclass
445 readable var _n_kwsuper: TKwsuper
446 readable var _n_type: AType
447 readable var _n_annotations: nullable AAnnotations = null
448 end
449 class AAttrPropdef
450 super APropdef
451 readable var _n_doc: nullable ADoc = null
452 readable var _n_readable: nullable AAble = null
453 readable var _n_writable: nullable AAble = null
454 readable var _n_kwredef: nullable TKwredef = null
455 readable var _n_visibility: AVisibility
456 readable var _n_kwvar: TKwvar
457 readable var _n_id: nullable TAttrid = null
458 readable var _n_id2: nullable TId = null
459 readable var _n_type: nullable AType = null
460 readable var _n_annotations: nullable AAnnotations = null
461 readable var _n_expr: nullable AExpr = null
462 end
463 class AMethPropdef
464 super APropdef
465 readable var _n_doc: nullable ADoc = null
466 readable var _n_kwredef: nullable TKwredef = null
467 readable var _n_visibility: AVisibility
468 readable var _n_methid: AMethid
469 readable var _n_signature: ASignature
470 end
471 class ADeferredMethPropdef
472 super APropdef
473 readable var _n_doc: nullable ADoc = null
474 readable var _n_kwredef: nullable TKwredef = null
475 readable var _n_visibility: AVisibility
476 readable var _n_kwmeth: TKwmeth
477 readable var _n_methid: AMethid
478 readable var _n_signature: ASignature
479 readable var _n_annotations: nullable AAnnotations = null
480 end
481 class AInternMethPropdef
482 super APropdef
483 readable var _n_doc: nullable ADoc = null
484 readable var _n_kwredef: nullable TKwredef = null
485 readable var _n_visibility: AVisibility
486 readable var _n_kwmeth: TKwmeth
487 readable var _n_methid: AMethid
488 readable var _n_signature: ASignature
489 end
490 class AExternMethPropdef
491 super APropdef
492 readable var _n_doc: nullable ADoc = null
493 readable var _n_kwredef: nullable TKwredef = null
494 readable var _n_visibility: AVisibility
495 readable var _n_kwmeth: TKwmeth
496 readable var _n_methid: AMethid
497 readable var _n_signature: ASignature
498 readable var _n_extern: nullable TString = null
499 readable var _n_extern_calls: nullable AExternCalls = null
500 readable var _n_extern_code_block: nullable AExternCodeBlock = null
501 end
502 class AConcreteMethPropdef
503 super APropdef
504 readable var _n_doc: nullable ADoc = null
505 readable var _n_kwredef: nullable TKwredef = null
506 readable var _n_visibility: AVisibility
507 readable var _n_kwmeth: TKwmeth
508 readable var _n_methid: AMethid
509 readable var _n_signature: ASignature
510 readable var _n_annotations: nullable AAnnotations = null
511 readable var _n_block: nullable AExpr = null
512 end
513 class AConcreteInitPropdef
514 super APropdef
515 readable var _n_doc: nullable ADoc = null
516 readable var _n_kwredef: nullable TKwredef = null
517 readable var _n_visibility: AVisibility
518 readable var _n_kwinit: TKwinit
519 readable var _n_methid: nullable AMethid = null
520 readable var _n_signature: ASignature
521 readable var _n_annotations: nullable AAnnotations = null
522 readable var _n_block: nullable AExpr = null
523 end
524 class AExternInitPropdef
525 super APropdef
526 readable var _n_doc: nullable ADoc = null
527 readable var _n_kwredef: nullable TKwredef = null
528 readable var _n_visibility: AVisibility
529 readable var _n_kwnew: TKwnew
530 readable var _n_methid: nullable AMethid = null
531 readable var _n_signature: ASignature
532 readable var _n_extern: nullable TString = null
533 readable var _n_extern_calls: nullable AExternCalls = null
534 readable var _n_extern_code_block: nullable AExternCodeBlock = null
535 end
536 class AMainMethPropdef
537 super APropdef
538 readable var _n_kwredef: nullable TKwredef = null
539 readable var _n_block: nullable AExpr = null
540 end
541 class ATypePropdef
542 super APropdef
543 readable var _n_doc: nullable ADoc = null
544 readable var _n_kwredef: nullable TKwredef = null
545 readable var _n_visibility: AVisibility
546 readable var _n_kwtype: TKwtype
547 readable var _n_id: TClassid
548 readable var _n_type: AType
549 readable var _n_annotations: nullable AAnnotations = null
550 end
551 class AReadAble
552 super AAble
553 readable var _n_kwredef: nullable TKwredef = null
554 readable var _n_kwreadable: TKwreadable
555 end
556 class AWriteAble
557 super AAble
558 readable var _n_kwredef: nullable TKwredef = null
559 readable var _n_visibility: nullable AVisibility = null
560 readable var _n_kwwritable: TKwwritable
561 end
562 class AIdMethid
563 super AMethid
564 readable var _n_id: TId
565 end
566 class APlusMethid
567 super AMethid
568 readable var _n_plus: TPlus
569 end
570 class AMinusMethid
571 super AMethid
572 readable var _n_minus: TMinus
573 end
574 class AStarMethid
575 super AMethid
576 readable var _n_star: TStar
577 end
578 class ASlashMethid
579 super AMethid
580 readable var _n_slash: TSlash
581 end
582 class APercentMethid
583 super AMethid
584 readable var _n_percent: TPercent
585 end
586 class AEqMethid
587 super AMethid
588 readable var _n_eq: TEq
589 end
590 class ANeMethid
591 super AMethid
592 readable var _n_ne: TNe
593 end
594 class ALeMethid
595 super AMethid
596 readable var _n_le: TLe
597 end
598 class AGeMethid
599 super AMethid
600 readable var _n_ge: TGe
601 end
602 class ALtMethid
603 super AMethid
604 readable var _n_lt: TLt
605 end
606 class AGtMethid
607 super AMethid
608 readable var _n_gt: TGt
609 end
610 class ALlMethid
611 super AMethid
612 readable var _n_ll: TLl
613 end
614 class AGgMethid
615 super AMethid
616 readable var _n_gg: TGg
617 end
618 class ABraMethid
619 super AMethid
620 readable var _n_obra: TObra
621 readable var _n_cbra: TCbra
622 end
623 class AStarshipMethid
624 super AMethid
625 readable var _n_starship: TStarship
626 end
627 class AAssignMethid
628 super AMethid
629 readable var _n_id: TId
630 readable var _n_assign: TAssign
631 end
632 class ABraassignMethid
633 super AMethid
634 readable var _n_obra: TObra
635 readable var _n_cbra: TCbra
636 readable var _n_assign: TAssign
637 end
638 class ASignature
639 super ASignature
640 readable var _n_opar: nullable TOpar = null
641 readable var _n_params: List[AParam] = new List[AParam]
642 readable var _n_cpar: nullable TCpar = null
643 readable var _n_type: nullable AType = null
644 readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
645 end
646 class AParam
647 super AParam
648 readable var _n_id: TId
649 readable var _n_type: nullable AType = null
650 readable var _n_dotdotdot: nullable TDotdotdot = null
651 readable var _n_annotations: nullable AAnnotations = null
652 end
653 class AClosureDecl
654 super AClosureDecl
655 readable var _n_kwbreak: nullable TKwbreak = null
656 readable var _n_bang: TBang
657 readable var _n_id: TId
658 readable var _n_signature: ASignature
659 readable var _n_expr: nullable AExpr = null
660 end
661 class AType
662 super AType
663 readable var _n_kwnullable: nullable TKwnullable = null
664 readable var _n_id: TClassid
665 readable var _n_types: List[AType] = new List[AType]
666 readable var _n_annotations: nullable AAnnotations = null
667 end
668 class ALabel
669 super ALabel
670 readable var _n_kwlabel: TKwlabel
671 readable var _n_id: TId
672 end
673 class ABlockExpr
674 super AExpr
675 readable var _n_expr: List[AExpr] = new List[AExpr]
676 readable var _n_kwend: nullable TKwend = null
677 end
678 class AVardeclExpr
679 super AExpr
680 readable var _n_kwvar: TKwvar
681 readable var _n_id: TId
682 readable var _n_type: nullable AType = null
683 readable var _n_assign: nullable TAssign = null
684 readable var _n_expr: nullable AExpr = null
685 readable var _n_annotations: nullable AAnnotations = null
686 end
687 class AReturnExpr
688 super AExpr
689 readable var _n_kwreturn: nullable TKwreturn = null
690 readable var _n_expr: nullable AExpr = null
691 end
692 class ABreakExpr
693 super AExpr
694 readable var _n_kwbreak: TKwbreak
695 readable var _n_label: nullable ALabel = null
696 readable var _n_expr: nullable AExpr = null
697 end
698 class AAbortExpr
699 super AExpr
700 readable var _n_kwabort: TKwabort
701 end
702 class AContinueExpr
703 super AExpr
704 readable var _n_kwcontinue: nullable TKwcontinue = null
705 readable var _n_label: nullable ALabel = null
706 readable var _n_expr: nullable AExpr = null
707 end
708 class ADoExpr
709 super AExpr
710 readable var _n_kwdo: TKwdo
711 readable var _n_block: nullable AExpr = null
712 readable var _n_label: nullable ALabel = null
713 end
714 class AIfExpr
715 super AExpr
716 readable var _n_kwif: TKwif
717 readable var _n_expr: AExpr
718 readable var _n_then: nullable AExpr = null
719 readable var _n_else: nullable AExpr = null
720 end
721 class AIfexprExpr
722 super AExpr
723 readable var _n_kwif: TKwif
724 readable var _n_expr: AExpr
725 readable var _n_kwthen: TKwthen
726 readable var _n_then: AExpr
727 readable var _n_kwelse: TKwelse
728 readable var _n_else: AExpr
729 end
730 class AWhileExpr
731 super AExpr
732 readable var _n_kwwhile: TKwwhile
733 readable var _n_expr: AExpr
734 readable var _n_kwdo: TKwdo
735 readable var _n_block: nullable AExpr = null
736 readable var _n_label: nullable ALabel = null
737 end
738 class ALoopExpr
739 super AExpr
740 readable var _n_kwloop: TKwloop
741 readable var _n_block: nullable AExpr = null
742 readable var _n_label: nullable ALabel = null
743 end
744 class AForExpr
745 super AExpr
746 readable var _n_kwfor: TKwfor
747 readable var _n_ids: List[TId] = new List[TId]
748 readable var _n_expr: AExpr
749 readable var _n_kwdo: TKwdo
750 readable var _n_block: nullable AExpr = null
751 readable var _n_label: nullable ALabel = null
752 end
753 class AAssertExpr
754 super AExpr
755 readable var _n_kwassert: TKwassert
756 readable var _n_id: nullable TId = null
757 readable var _n_expr: AExpr
758 readable var _n_else: nullable AExpr = null
759 end
760 class AOnceExpr
761 super AExpr
762 readable var _n_kwonce: TKwonce
763 readable var _n_expr: AExpr
764 end
765 class ASendExpr
766 super AExpr
767 readable var _n_expr: AExpr
768 end
769 class ABinopExpr
770 super AExpr
771 readable var _n_expr: AExpr
772 readable var _n_expr2: AExpr
773 end
774 class AOrExpr
775 super AExpr
776 readable var _n_expr: AExpr
777 readable var _n_expr2: AExpr
778 end
779 class AAndExpr
780 super AExpr
781 readable var _n_expr: AExpr
782 readable var _n_expr2: AExpr
783 end
784 class AOrElseExpr
785 super AExpr
786 readable var _n_expr: AExpr
787 readable var _n_expr2: AExpr
788 end
789 class ANotExpr
790 super AExpr
791 readable var _n_kwnot: TKwnot
792 readable var _n_expr: AExpr
793 end
794 class AEqExpr
795 super AExpr
796 readable var _n_expr: AExpr
797 readable var _n_expr2: AExpr
798 end
799 class AEeExpr
800 super AExpr
801 readable var _n_expr: AExpr
802 readable var _n_expr2: AExpr
803 end
804 class ANeExpr
805 super AExpr
806 readable var _n_expr: AExpr
807 readable var _n_expr2: AExpr
808 end
809 class ALtExpr
810 super AExpr
811 readable var _n_expr: AExpr
812 readable var _n_expr2: AExpr
813 end
814 class ALeExpr
815 super AExpr
816 readable var _n_expr: AExpr
817 readable var _n_expr2: AExpr
818 end
819 class ALlExpr
820 super AExpr
821 readable var _n_expr: AExpr
822 readable var _n_expr2: AExpr
823 end
824 class AGtExpr
825 super AExpr
826 readable var _n_expr: AExpr
827 readable var _n_expr2: AExpr
828 end
829 class AGeExpr
830 super AExpr
831 readable var _n_expr: AExpr
832 readable var _n_expr2: AExpr
833 end
834 class AGgExpr
835 super AExpr
836 readable var _n_expr: AExpr
837 readable var _n_expr2: AExpr
838 end
839 class AIsaExpr
840 super AExpr
841 readable var _n_expr: AExpr
842 readable var _n_type: AType
843 end
844 class APlusExpr
845 super AExpr
846 readable var _n_expr: AExpr
847 readable var _n_expr2: AExpr
848 end
849 class AMinusExpr
850 super AExpr
851 readable var _n_expr: AExpr
852 readable var _n_expr2: AExpr
853 end
854 class AStarshipExpr
855 super AExpr
856 readable var _n_expr: AExpr
857 readable var _n_expr2: AExpr
858 end
859 class AStarExpr
860 super AExpr
861 readable var _n_expr: AExpr
862 readable var _n_expr2: AExpr
863 end
864 class ASlashExpr
865 super AExpr
866 readable var _n_expr: AExpr
867 readable var _n_expr2: AExpr
868 end
869 class APercentExpr
870 super AExpr
871 readable var _n_expr: AExpr
872 readable var _n_expr2: AExpr
873 end
874 class AUminusExpr
875 super AExpr
876 readable var _n_minus: TMinus
877 readable var _n_expr: AExpr
878 end
879 class ANewExpr
880 super AExpr
881 readable var _n_kwnew: TKwnew
882 readable var _n_type: AType
883 readable var _n_id: nullable TId = null
884 readable var _n_args: AExprs
885 end
886 class AAttrExpr
887 super AExpr
888 readable var _n_expr: AExpr
889 readable var _n_id: TAttrid
890 end
891 class AAttrAssignExpr
892 super AExpr
893 readable var _n_expr: AExpr
894 readable var _n_id: TAttrid
895 readable var _n_assign: TAssign
896 readable var _n_value: AExpr
897 end
898 class AAttrReassignExpr
899 super AExpr
900 readable var _n_expr: AExpr
901 readable var _n_id: TAttrid
902 readable var _n_assign_op: AAssignOp
903 readable var _n_value: AExpr
904 end
905 class ACallExpr
906 super AExpr
907 readable var _n_expr: AExpr
908 readable var _n_id: TId
909 readable var _n_args: AExprs
910 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
911 end
912 class ACallAssignExpr
913 super AExpr
914 readable var _n_expr: AExpr
915 readable var _n_id: TId
916 readable var _n_args: AExprs
917 readable var _n_assign: TAssign
918 readable var _n_value: AExpr
919 end
920 class ACallReassignExpr
921 super AExpr
922 readable var _n_expr: AExpr
923 readable var _n_id: TId
924 readable var _n_args: AExprs
925 readable var _n_assign_op: AAssignOp
926 readable var _n_value: AExpr
927 end
928 class ASuperExpr
929 super AExpr
930 readable var _n_qualified: nullable AQualified = null
931 readable var _n_kwsuper: TKwsuper
932 readable var _n_args: AExprs
933 end
934 class AInitExpr
935 super AExpr
936 readable var _n_expr: AExpr
937 readable var _n_kwinit: TKwinit
938 readable var _n_args: AExprs
939 end
940 class ABraExpr
941 super AExpr
942 readable var _n_expr: AExpr
943 readable var _n_args: AExprs
944 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
945 end
946 class ABraAssignExpr
947 super AExpr
948 readable var _n_expr: AExpr
949 readable var _n_args: AExprs
950 readable var _n_assign: TAssign
951 readable var _n_value: AExpr
952 end
953 class ABraReassignExpr
954 super AExpr
955 readable var _n_expr: AExpr
956 readable var _n_args: AExprs
957 readable var _n_assign_op: AAssignOp
958 readable var _n_value: AExpr
959 end
960 class AClosureCallExpr
961 super AExpr
962 readable var _n_id: TId
963 readable var _n_args: AExprs
964 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
965 end
966 class AVarExpr
967 super AExpr
968 readable var _n_id: TId
969 end
970 class AVarAssignExpr
971 super AExpr
972 readable var _n_id: TId
973 readable var _n_assign: TAssign
974 readable var _n_value: AExpr
975 end
976 class AVarReassignExpr
977 super AExpr
978 readable var _n_id: TId
979 readable var _n_assign_op: AAssignOp
980 readable var _n_value: AExpr
981 end
982 class ARangeExpr
983 super AExpr
984 readable var _n_expr: AExpr
985 readable var _n_expr2: AExpr
986 readable var _n_annotations: nullable AAnnotations = null
987 end
988 class ACrangeExpr
989 super AExpr
990 readable var _n_obra: TObra
991 readable var _n_expr: AExpr
992 readable var _n_expr2: AExpr
993 readable var _n_cbra: TCbra
994 readable var _n_annotations: nullable AAnnotations = null
995 end
996 class AOrangeExpr
997 super AExpr
998 readable var _n_obra: TObra
999 readable var _n_expr: AExpr
1000 readable var _n_expr2: AExpr
1001 readable var _n_cbra: TObra
1002 readable var _n_annotations: nullable AAnnotations = null
1003 end
1004 class AArrayExpr
1005 super AExpr
1006 readable var _n_exprs: AExprs
1007 readable var _n_annotations: nullable AAnnotations = null
1008 end
1009 class ASelfExpr
1010 super AExpr
1011 readable var _n_kwself: TKwself
1012 readable var _n_annotations: nullable AAnnotations = null
1013 end
1014 class AImplicitSelfExpr
1015 super AExpr
1016 end
1017 class ATrueExpr
1018 super AExpr
1019 readable var _n_kwtrue: TKwtrue
1020 readable var _n_annotations: nullable AAnnotations = null
1021 end
1022 class AFalseExpr
1023 super AExpr
1024 readable var _n_kwfalse: TKwfalse
1025 readable var _n_annotations: nullable AAnnotations = null
1026 end
1027 class ANullExpr
1028 super AExpr
1029 readable var _n_kwnull: TKwnull
1030 readable var _n_annotations: nullable AAnnotations = null
1031 end
1032 class AIntExpr
1033 super AExpr
1034 readable var _n_number: TNumber
1035 readable var _n_annotations: nullable AAnnotations = null
1036 end
1037 class AFloatExpr
1038 super AExpr
1039 readable var _n_float: TFloat
1040 readable var _n_annotations: nullable AAnnotations = null
1041 end
1042 class ACharExpr
1043 super AExpr
1044 readable var _n_char: TChar
1045 readable var _n_annotations: nullable AAnnotations = null
1046 end
1047 class AStringExpr
1048 super AExpr
1049 readable var _n_string: TString
1050 readable var _n_annotations: nullable AAnnotations = null
1051 end
1052 class AStartStringExpr
1053 super AExpr
1054 readable var _n_string: TStartString
1055 end
1056 class AMidStringExpr
1057 super AExpr
1058 readable var _n_string: TMidString
1059 end
1060 class AEndStringExpr
1061 super AExpr
1062 readable var _n_string: TEndString
1063 end
1064 class ASuperstringExpr
1065 super AExpr
1066 readable var _n_exprs: List[AExpr] = new List[AExpr]
1067 readable var _n_annotations: nullable AAnnotations = null
1068 end
1069 class AParExpr
1070 super AExpr
1071 readable var _n_opar: TOpar
1072 readable var _n_expr: AExpr
1073 readable var _n_cpar: TCpar
1074 readable var _n_annotations: nullable AAnnotations = null
1075 end
1076 class AAsCastExpr
1077 super AExpr
1078 readable var _n_expr: AExpr
1079 readable var _n_kwas: TKwas
1080 readable var _n_opar: TOpar
1081 readable var _n_type: AType
1082 readable var _n_cpar: TCpar
1083 end
1084 class AAsNotnullExpr
1085 super AExpr
1086 readable var _n_expr: AExpr
1087 readable var _n_kwas: TKwas
1088 readable var _n_opar: TOpar
1089 readable var _n_kwnot: TKwnot
1090 readable var _n_kwnull: TKwnull
1091 readable var _n_cpar: TCpar
1092 end
1093 class AIssetAttrExpr
1094 super AExpr
1095 readable var _n_kwisset: TKwisset
1096 readable var _n_expr: AExpr
1097 readable var _n_id: TAttrid
1098 end
1099 class ADebugTypeExpr
1100 super AExpr
1101 readable var _n_kwdebug: TKwdebug
1102 readable var _n_kwtype: TKwtype
1103 readable var _n_expr: AExpr
1104 readable var _n_type: AType
1105 end
1106 class AListExprs
1107 super AExprs
1108 readable var _n_exprs: List[AExpr] = new List[AExpr]
1109 end
1110 class AParExprs
1111 super AExprs
1112 readable var _n_opar: TOpar
1113 readable var _n_exprs: List[AExpr] = new List[AExpr]
1114 readable var _n_cpar: TCpar
1115 end
1116 class ABraExprs
1117 super AExprs
1118 readable var _n_obra: TObra
1119 readable var _n_exprs: List[AExpr] = new List[AExpr]
1120 readable var _n_cbra: TCbra
1121 end
1122 class APlusAssignOp
1123 super AAssignOp
1124 readable var _n_pluseq: TPluseq
1125 end
1126 class AMinusAssignOp
1127 super AAssignOp
1128 readable var _n_minuseq: TMinuseq
1129 end
1130 class AClosureDef
1131 super AClosureDef
1132 readable var _n_bang: TBang
1133 readable var _n_id: AClosureId
1134 readable var _n_ids: List[TId] = new List[TId]
1135 readable var _n_kwdo: nullable TKwdo = null
1136 readable var _n_expr: nullable AExpr = null
1137 readable var _n_label: nullable ALabel = null
1138 end
1139 class ASimpleClosureId
1140 super AClosureId
1141 readable var _n_id: TId
1142 end
1143 class ABreakClosureId
1144 super AClosureId
1145 readable var _n_kwbreak: TKwbreak
1146 end
1147 class AModuleName
1148 super AModuleName
1149 readable var _n_quad: nullable TQuad = null
1150 readable var _n_path: List[TId] = new List[TId]
1151 readable var _n_id: TId
1152 end
1153 class AExternCalls
1154 super AExternCalls
1155 readable var _n_kwimport: TKwimport
1156 readable var _n_extern_calls: List[AExternCall] = new List[AExternCall]
1157 end
1158 class AExternCall
1159 super AExternCall
1160 end
1161 class ASuperExternCall
1162 super AExternCall
1163 readable var _n_kwsuper: TKwsuper
1164 end
1165 class ALocalPropExternCall
1166 super AExternCall
1167 readable var _n_methid: AMethid
1168 end
1169 class AFullPropExternCall
1170 super AExternCall
1171 readable var _n_classid: TClassid
1172 readable var _n_quad: nullable TQuad = null
1173 readable var _n_methid: AMethid
1174 end
1175 class AInitPropExternCall
1176 super AExternCall
1177 readable var _n_classid: TClassid
1178 end
1179 class ACastAsExternCall
1180 super AExternCall
1181 readable var _n_from_type: AType
1182 readable var _n_kwas: TKwas
1183 readable var _n_to_type: AType
1184 end
1185 class AAsNullableExternCall
1186 super AExternCall
1187 readable var _n_type: AType
1188 readable var _n_kwas: TKwas
1189 readable var _n_kwnullable: TKwnullable
1190 end
1191 class AAsNotNullableExternCall
1192 super AExternCall
1193 readable var _n_type: AType
1194 readable var _n_kwas: TKwas
1195 readable var _n_kwnot: TKwnot
1196 readable var _n_kwnullable: TKwnullable
1197 end
1198 class AInLanguage
1199 super AInLanguage
1200 readable var _n_kwin: TKwin
1201 readable var _n_string: TString
1202 end
1203 class AExternCodeBlock
1204 super AExternCodeBlock
1205 readable var _n_in_language: nullable AInLanguage = null
1206 readable var _n_extern_code_segment: TExternCodeSegment
1207 end
1208 class AQualified
1209 super AQualified
1210 readable var _n_id: List[TId] = new List[TId]
1211 readable var _n_classid: nullable TClassid = null
1212 end
1213 class ADoc
1214 super ADoc
1215 readable var _n_comment: List[TComment] = new List[TComment]
1216 end
1217 class AAnnotations
1218 super AAnnotations
1219 readable var _n_at: nullable TAt = null
1220 readable var _n_opar: nullable TOpar = null
1221 readable var _n_items: List[AAnnotation] = new List[AAnnotation]
1222 readable var _n_cpar: nullable TCpar = null
1223 end
1224 class AAnnotation
1225 super AAnnotation
1226 readable var _n_atid: AAtid
1227 readable var _n_opar: nullable TOpar = null
1228 readable var _n_args: List[AAtArg] = new List[AAtArg]
1229 readable var _n_cpar: nullable TCpar = null
1230 readable var _n_annotations: nullable AAnnotations = null
1231 end
1232 class ATypeAtArg
1233 super AAtArg
1234 readable var _n_type: AType
1235 end
1236 class AExprAtArg
1237 super AAtArg
1238 readable var _n_expr: AExpr
1239 end
1240 class AAtAtArg
1241 super AAtArg
1242 readable var _n_annotations: AAnnotations
1243 end
1244 class AIdAtid
1245 super AAtid
1246 readable var _n_id: TId
1247 end
1248 class AKwexternAtid
1249 super AAtid
1250 readable var _n_id: TKwextern
1251 end
1252 class AKwinternAtid
1253 super AAtid
1254 readable var _n_id: TKwintern
1255 end
1256 class AKwreadableAtid
1257 super AAtid
1258 readable var _n_id: TKwreadable
1259 end
1260 class AKwwritableAtid
1261 super AAtid
1262 readable var _n_id: TKwwritable
1263 end
1264 class AKwimportAtid
1265 super AAtid
1266 readable var _n_id: TKwimport
1267 end
1268
1269 class Start
1270 super Prod
1271 readable var _n_base: nullable AModule
1272 readable var _n_eof: EOF
1273 init(
1274 n_base: nullable AModule,
1275 n_eof: EOF)
1276 do
1277 _n_base = n_base
1278 _n_eof = n_eof
1279 end
1280
1281 end