parser: extends grammar to support 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 TChar
282 super Token
283 end
284 class TString
285 super Token
286 end
287 class TStartString
288 super Token
289 end
290 class TMidString
291 super Token
292 end
293 class TEndString
294 super Token
295 end
296 class TBadChar
297 super Token
298 end
299 class TBadString
300 super Token
301 end
302 class TExternCodeSegment
303 super Token
304 end
305 class EOF
306 super Token
307 private init noinit do end
308 end
309 class AError
310 super EOF
311 private init noinit do end
312 end
313
314 class AModule super Prod end
315 class AModuledecl super Prod end
316 class AImport super Prod end
317 class AVisibility super Prod end
318 class AClassdef super Prod end
319 class AClasskind super Prod end
320 class AFormaldef super Prod end
321 class ASuperclass super Prod end
322 class APropdef super Prod end
323 class AAble super Prod end
324 class AMethid super Prod end
325 class ASignature super Prod end
326 class AParam super Prod end
327 class AClosureDecl super Prod end
328 class AType super Prod end
329 class ALabel super Prod end
330 class AExpr super Prod end
331 class AExprs super Prod end
332 class AAssignOp super Prod end
333 class AClosureDef super Prod end
334 class AClosureId super Prod end
335 class AModuleName super Prod end
336 class AExternCalls super Prod end
337 class AExternCall super Prod end
338 class AInLanguage super Prod end
339 class AExternCodeBlock super Prod end
340 class AQualified super Prod end
341 class ADoc super Prod end
342 class AAnnotations super Prod end
343 class AAnnotation super Prod end
344 class AAtArg super Prod end
345 class AAtid super Prod end
346
347 class AModule
348 super AModule
349 readable var _n_moduledecl: nullable AModuledecl = null
350 readable var _n_imports: List[AImport] = new List[AImport]
351 readable var _n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock]
352 readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
353 end
354 class AModuledecl
355 super AModuledecl
356 readable var _n_doc: nullable ADoc = null
357 readable var _n_kwmodule: TKwmodule
358 readable var _n_name: AModuleName
359 readable var _n_annotations: nullable AAnnotations = null
360 end
361 class AStdImport
362 super AImport
363 readable var _n_visibility: AVisibility
364 readable var _n_kwimport: TKwimport
365 readable var _n_name: AModuleName
366 readable var _n_annotations: nullable AAnnotations = null
367 end
368 class ANoImport
369 super AImport
370 readable var _n_visibility: AVisibility
371 readable var _n_kwimport: TKwimport
372 readable var _n_kwend: TKwend
373 end
374 class APublicVisibility
375 super AVisibility
376 end
377 class APrivateVisibility
378 super AVisibility
379 readable var _n_kwprivate: TKwprivate
380 end
381 class AProtectedVisibility
382 super AVisibility
383 readable var _n_kwprotected: TKwprotected
384 end
385 class AIntrudeVisibility
386 super AVisibility
387 readable var _n_kwintrude: TKwintrude
388 end
389 class AStdClassdef
390 super AClassdef
391 readable var _n_doc: nullable ADoc = null
392 readable var _n_kwredef: nullable TKwredef = null
393 readable var _n_visibility: AVisibility
394 readable var _n_classkind: AClasskind
395 readable var _n_id: nullable TClassid = null
396 readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
397 readable var _n_annotations: nullable AAnnotations = null
398 readable var _n_extern_code_block: nullable AExternCodeBlock = null
399 readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
400 readable var _n_propdefs: List[APropdef] = new List[APropdef]
401 readable var _n_kwend: TKwend
402 end
403 class ATopClassdef
404 super AClassdef
405 readable var _n_propdefs: List[APropdef] = new List[APropdef]
406 end
407 class AMainClassdef
408 super AClassdef
409 readable var _n_propdefs: List[APropdef] = new List[APropdef]
410 end
411 class AConcreteClasskind
412 super AClasskind
413 readable var _n_kwclass: TKwclass
414 end
415 class AAbstractClasskind
416 super AClasskind
417 readable var _n_kwabstract: TKwabstract
418 readable var _n_kwclass: TKwclass
419 end
420 class AInterfaceClasskind
421 super AClasskind
422 readable var _n_kwinterface: TKwinterface
423 end
424 class AEnumClasskind
425 super AClasskind
426 readable var _n_kwenum: TKwenum
427 end
428 class AExternClasskind
429 super AClasskind
430 readable var _n_kwextern: TKwextern
431 readable var _n_kwclass: nullable TKwclass = null
432 end
433 class AFormaldef
434 super AFormaldef
435 readable var _n_id: TClassid
436 readable var _n_type: nullable AType = null
437 readable var _n_annotations: nullable AAnnotations = null
438 end
439 class ASuperclass
440 super ASuperclass
441 readable var _n_kwsuper: TKwsuper
442 readable var _n_type: AType
443 readable var _n_annotations: nullable AAnnotations = null
444 end
445 class AAttrPropdef
446 super APropdef
447 readable var _n_doc: nullable ADoc = null
448 readable var _n_readable: nullable AAble = null
449 readable var _n_writable: nullable AAble = null
450 readable var _n_kwredef: nullable TKwredef = null
451 readable var _n_visibility: AVisibility
452 readable var _n_kwvar: TKwvar
453 readable var _n_id: nullable TAttrid = null
454 readable var _n_id2: nullable TId = null
455 readable var _n_type: nullable AType = null
456 readable var _n_annotations: nullable AAnnotations = null
457 readable var _n_expr: nullable AExpr = null
458 end
459 class AMethPropdef
460 super APropdef
461 readable var _n_doc: nullable ADoc = null
462 readable var _n_kwredef: nullable TKwredef = null
463 readable var _n_visibility: AVisibility
464 readable var _n_methid: AMethid
465 readable var _n_signature: ASignature
466 end
467 class ADeferredMethPropdef
468 super APropdef
469 readable var _n_doc: nullable ADoc = null
470 readable var _n_kwredef: nullable TKwredef = null
471 readable var _n_visibility: AVisibility
472 readable var _n_kwmeth: TKwmeth
473 readable var _n_methid: AMethid
474 readable var _n_signature: ASignature
475 readable var _n_annotations: nullable AAnnotations = null
476 end
477 class AInternMethPropdef
478 super APropdef
479 readable var _n_doc: nullable ADoc = null
480 readable var _n_kwredef: nullable TKwredef = null
481 readable var _n_visibility: AVisibility
482 readable var _n_kwmeth: TKwmeth
483 readable var _n_methid: AMethid
484 readable var _n_signature: ASignature
485 end
486 class AExternMethPropdef
487 super APropdef
488 readable var _n_doc: nullable ADoc = null
489 readable var _n_kwredef: nullable TKwredef = null
490 readable var _n_visibility: AVisibility
491 readable var _n_kwmeth: TKwmeth
492 readable var _n_methid: AMethid
493 readable var _n_signature: ASignature
494 readable var _n_extern: nullable TString = null
495 readable var _n_extern_calls: nullable AExternCalls = null
496 readable var _n_extern_code_block: nullable AExternCodeBlock = null
497 end
498 class AConcreteMethPropdef
499 super APropdef
500 readable var _n_doc: nullable ADoc = null
501 readable var _n_kwredef: nullable TKwredef = null
502 readable var _n_visibility: AVisibility
503 readable var _n_kwmeth: TKwmeth
504 readable var _n_methid: AMethid
505 readable var _n_signature: ASignature
506 readable var _n_annotations: nullable AAnnotations = null
507 readable var _n_block: nullable AExpr = null
508 end
509 class AConcreteInitPropdef
510 super APropdef
511 readable var _n_doc: nullable ADoc = null
512 readable var _n_kwredef: nullable TKwredef = null
513 readable var _n_visibility: AVisibility
514 readable var _n_kwinit: TKwinit
515 readable var _n_methid: nullable AMethid = null
516 readable var _n_signature: ASignature
517 readable var _n_annotations: nullable AAnnotations = null
518 readable var _n_block: nullable AExpr = null
519 end
520 class AExternInitPropdef
521 super APropdef
522 readable var _n_doc: nullable ADoc = null
523 readable var _n_kwredef: nullable TKwredef = null
524 readable var _n_visibility: AVisibility
525 readable var _n_kwnew: TKwnew
526 readable var _n_methid: nullable AMethid = null
527 readable var _n_signature: ASignature
528 readable var _n_extern: nullable TString = null
529 readable var _n_extern_calls: nullable AExternCalls = null
530 readable var _n_extern_code_block: nullable AExternCodeBlock = null
531 end
532 class AMainMethPropdef
533 super APropdef
534 readable var _n_kwredef: nullable TKwredef = null
535 readable var _n_block: nullable AExpr = null
536 end
537 class ATypePropdef
538 super APropdef
539 readable var _n_doc: nullable ADoc = null
540 readable var _n_kwredef: nullable TKwredef = null
541 readable var _n_visibility: AVisibility
542 readable var _n_kwtype: TKwtype
543 readable var _n_id: TClassid
544 readable var _n_type: AType
545 readable var _n_annotations: nullable AAnnotations = null
546 end
547 class AReadAble
548 super AAble
549 readable var _n_kwredef: nullable TKwredef = null
550 readable var _n_kwreadable: TKwreadable
551 end
552 class AWriteAble
553 super AAble
554 readable var _n_kwredef: nullable TKwredef = null
555 readable var _n_visibility: nullable AVisibility = null
556 readable var _n_kwwritable: TKwwritable
557 end
558 class AIdMethid
559 super AMethid
560 readable var _n_id: TId
561 end
562 class APlusMethid
563 super AMethid
564 readable var _n_plus: TPlus
565 end
566 class AMinusMethid
567 super AMethid
568 readable var _n_minus: TMinus
569 end
570 class AStarMethid
571 super AMethid
572 readable var _n_star: TStar
573 end
574 class ASlashMethid
575 super AMethid
576 readable var _n_slash: TSlash
577 end
578 class APercentMethid
579 super AMethid
580 readable var _n_percent: TPercent
581 end
582 class AEqMethid
583 super AMethid
584 readable var _n_eq: TEq
585 end
586 class ANeMethid
587 super AMethid
588 readable var _n_ne: TNe
589 end
590 class ALeMethid
591 super AMethid
592 readable var _n_le: TLe
593 end
594 class AGeMethid
595 super AMethid
596 readable var _n_ge: TGe
597 end
598 class ALtMethid
599 super AMethid
600 readable var _n_lt: TLt
601 end
602 class AGtMethid
603 super AMethid
604 readable var _n_gt: TGt
605 end
606 class ALlMethid
607 super AMethid
608 readable var _n_ll: TLl
609 end
610 class AGgMethid
611 super AMethid
612 readable var _n_gg: TGg
613 end
614 class ABraMethid
615 super AMethid
616 readable var _n_obra: TObra
617 readable var _n_cbra: TCbra
618 end
619 class AStarshipMethid
620 super AMethid
621 readable var _n_starship: TStarship
622 end
623 class AAssignMethid
624 super AMethid
625 readable var _n_id: TId
626 readable var _n_assign: TAssign
627 end
628 class ABraassignMethid
629 super AMethid
630 readable var _n_obra: TObra
631 readable var _n_cbra: TCbra
632 readable var _n_assign: TAssign
633 end
634 class ASignature
635 super ASignature
636 readable var _n_opar: nullable TOpar = null
637 readable var _n_params: List[AParam] = new List[AParam]
638 readable var _n_cpar: nullable TCpar = null
639 readable var _n_type: nullable AType = null
640 readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
641 end
642 class AParam
643 super AParam
644 readable var _n_id: TId
645 readable var _n_type: nullable AType = null
646 readable var _n_dotdotdot: nullable TDotdotdot = null
647 readable var _n_annotations: nullable AAnnotations = null
648 end
649 class AClosureDecl
650 super AClosureDecl
651 readable var _n_kwbreak: nullable TKwbreak = null
652 readable var _n_bang: TBang
653 readable var _n_id: TId
654 readable var _n_signature: ASignature
655 readable var _n_expr: nullable AExpr = null
656 end
657 class AType
658 super AType
659 readable var _n_kwnullable: nullable TKwnullable = null
660 readable var _n_id: TClassid
661 readable var _n_types: List[AType] = new List[AType]
662 readable var _n_annotations: nullable AAnnotations = null
663 end
664 class ALabel
665 super ALabel
666 readable var _n_kwlabel: TKwlabel
667 readable var _n_id: TId
668 end
669 class ABlockExpr
670 super AExpr
671 readable var _n_expr: List[AExpr] = new List[AExpr]
672 readable var _n_kwend: nullable TKwend = null
673 end
674 class AVardeclExpr
675 super AExpr
676 readable var _n_kwvar: TKwvar
677 readable var _n_id: TId
678 readable var _n_type: nullable AType = null
679 readable var _n_assign: nullable TAssign = null
680 readable var _n_expr: nullable AExpr = null
681 readable var _n_annotations: nullable AAnnotations = null
682 end
683 class AReturnExpr
684 super AExpr
685 readable var _n_kwreturn: nullable TKwreturn = null
686 readable var _n_expr: nullable AExpr = null
687 end
688 class ABreakExpr
689 super AExpr
690 readable var _n_kwbreak: TKwbreak
691 readable var _n_label: nullable ALabel = null
692 readable var _n_expr: nullable AExpr = null
693 end
694 class AAbortExpr
695 super AExpr
696 readable var _n_kwabort: TKwabort
697 end
698 class AContinueExpr
699 super AExpr
700 readable var _n_kwcontinue: nullable TKwcontinue = null
701 readable var _n_label: nullable ALabel = null
702 readable var _n_expr: nullable AExpr = null
703 end
704 class ADoExpr
705 super AExpr
706 readable var _n_kwdo: TKwdo
707 readable var _n_block: nullable AExpr = null
708 readable var _n_label: nullable ALabel = null
709 end
710 class AIfExpr
711 super AExpr
712 readable var _n_kwif: TKwif
713 readable var _n_expr: AExpr
714 readable var _n_then: nullable AExpr = null
715 readable var _n_else: nullable AExpr = null
716 end
717 class AIfexprExpr
718 super AExpr
719 readable var _n_kwif: TKwif
720 readable var _n_expr: AExpr
721 readable var _n_kwthen: TKwthen
722 readable var _n_then: AExpr
723 readable var _n_kwelse: TKwelse
724 readable var _n_else: AExpr
725 end
726 class AWhileExpr
727 super AExpr
728 readable var _n_kwwhile: TKwwhile
729 readable var _n_expr: AExpr
730 readable var _n_kwdo: TKwdo
731 readable var _n_block: nullable AExpr = null
732 readable var _n_label: nullable ALabel = null
733 end
734 class ALoopExpr
735 super AExpr
736 readable var _n_kwloop: TKwloop
737 readable var _n_block: nullable AExpr = null
738 readable var _n_label: nullable ALabel = null
739 end
740 class AForExpr
741 super AExpr
742 readable var _n_kwfor: TKwfor
743 readable var _n_ids: List[TId] = new List[TId]
744 readable var _n_expr: AExpr
745 readable var _n_kwdo: TKwdo
746 readable var _n_block: nullable AExpr = null
747 readable var _n_label: nullable ALabel = null
748 end
749 class AAssertExpr
750 super AExpr
751 readable var _n_kwassert: TKwassert
752 readable var _n_id: nullable TId = null
753 readable var _n_expr: AExpr
754 readable var _n_else: nullable AExpr = null
755 end
756 class AOnceExpr
757 super AExpr
758 readable var _n_kwonce: TKwonce
759 readable var _n_expr: AExpr
760 end
761 class ASendExpr
762 super AExpr
763 readable var _n_expr: AExpr
764 end
765 class ABinopExpr
766 super AExpr
767 readable var _n_expr: AExpr
768 readable var _n_expr2: AExpr
769 end
770 class AOrExpr
771 super AExpr
772 readable var _n_expr: AExpr
773 readable var _n_expr2: AExpr
774 end
775 class AAndExpr
776 super AExpr
777 readable var _n_expr: AExpr
778 readable var _n_expr2: AExpr
779 end
780 class AOrElseExpr
781 super AExpr
782 readable var _n_expr: AExpr
783 readable var _n_expr2: AExpr
784 end
785 class ANotExpr
786 super AExpr
787 readable var _n_kwnot: TKwnot
788 readable var _n_expr: AExpr
789 end
790 class AEqExpr
791 super AExpr
792 readable var _n_expr: AExpr
793 readable var _n_expr2: AExpr
794 end
795 class AEeExpr
796 super AExpr
797 readable var _n_expr: AExpr
798 readable var _n_expr2: AExpr
799 end
800 class ANeExpr
801 super AExpr
802 readable var _n_expr: AExpr
803 readable var _n_expr2: AExpr
804 end
805 class ALtExpr
806 super AExpr
807 readable var _n_expr: AExpr
808 readable var _n_expr2: AExpr
809 end
810 class ALeExpr
811 super AExpr
812 readable var _n_expr: AExpr
813 readable var _n_expr2: AExpr
814 end
815 class ALlExpr
816 super AExpr
817 readable var _n_expr: AExpr
818 readable var _n_expr2: AExpr
819 end
820 class AGtExpr
821 super AExpr
822 readable var _n_expr: AExpr
823 readable var _n_expr2: AExpr
824 end
825 class AGeExpr
826 super AExpr
827 readable var _n_expr: AExpr
828 readable var _n_expr2: AExpr
829 end
830 class AGgExpr
831 super AExpr
832 readable var _n_expr: AExpr
833 readable var _n_expr2: AExpr
834 end
835 class AIsaExpr
836 super AExpr
837 readable var _n_expr: AExpr
838 readable var _n_type: AType
839 end
840 class APlusExpr
841 super AExpr
842 readable var _n_expr: AExpr
843 readable var _n_expr2: AExpr
844 end
845 class AMinusExpr
846 super AExpr
847 readable var _n_expr: AExpr
848 readable var _n_expr2: AExpr
849 end
850 class AStarshipExpr
851 super AExpr
852 readable var _n_expr: AExpr
853 readable var _n_expr2: AExpr
854 end
855 class AStarExpr
856 super AExpr
857 readable var _n_expr: AExpr
858 readable var _n_expr2: AExpr
859 end
860 class ASlashExpr
861 super AExpr
862 readable var _n_expr: AExpr
863 readable var _n_expr2: AExpr
864 end
865 class APercentExpr
866 super AExpr
867 readable var _n_expr: AExpr
868 readable var _n_expr2: AExpr
869 end
870 class AUminusExpr
871 super AExpr
872 readable var _n_minus: TMinus
873 readable var _n_expr: AExpr
874 end
875 class ANewExpr
876 super AExpr
877 readable var _n_kwnew: TKwnew
878 readable var _n_type: AType
879 readable var _n_id: nullable TId = null
880 readable var _n_args: AExprs
881 end
882 class AAttrExpr
883 super AExpr
884 readable var _n_expr: AExpr
885 readable var _n_id: TAttrid
886 end
887 class AAttrAssignExpr
888 super AExpr
889 readable var _n_expr: AExpr
890 readable var _n_id: TAttrid
891 readable var _n_assign: TAssign
892 readable var _n_value: AExpr
893 end
894 class AAttrReassignExpr
895 super AExpr
896 readable var _n_expr: AExpr
897 readable var _n_id: TAttrid
898 readable var _n_assign_op: AAssignOp
899 readable var _n_value: AExpr
900 end
901 class ACallExpr
902 super AExpr
903 readable var _n_expr: AExpr
904 readable var _n_id: TId
905 readable var _n_args: AExprs
906 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
907 end
908 class ACallAssignExpr
909 super AExpr
910 readable var _n_expr: AExpr
911 readable var _n_id: TId
912 readable var _n_args: AExprs
913 readable var _n_assign: TAssign
914 readable var _n_value: AExpr
915 end
916 class ACallReassignExpr
917 super AExpr
918 readable var _n_expr: AExpr
919 readable var _n_id: TId
920 readable var _n_args: AExprs
921 readable var _n_assign_op: AAssignOp
922 readable var _n_value: AExpr
923 end
924 class ASuperExpr
925 super AExpr
926 readable var _n_qualified: nullable AQualified = null
927 readable var _n_kwsuper: TKwsuper
928 readable var _n_args: AExprs
929 end
930 class AInitExpr
931 super AExpr
932 readable var _n_expr: AExpr
933 readable var _n_kwinit: TKwinit
934 readable var _n_args: AExprs
935 end
936 class ABraExpr
937 super AExpr
938 readable var _n_expr: AExpr
939 readable var _n_args: AExprs
940 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
941 end
942 class ABraAssignExpr
943 super AExpr
944 readable var _n_expr: AExpr
945 readable var _n_args: AExprs
946 readable var _n_assign: TAssign
947 readable var _n_value: AExpr
948 end
949 class ABraReassignExpr
950 super AExpr
951 readable var _n_expr: AExpr
952 readable var _n_args: AExprs
953 readable var _n_assign_op: AAssignOp
954 readable var _n_value: AExpr
955 end
956 class AClosureCallExpr
957 super AExpr
958 readable var _n_id: TId
959 readable var _n_args: AExprs
960 readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
961 end
962 class AVarExpr
963 super AExpr
964 readable var _n_id: TId
965 end
966 class AVarAssignExpr
967 super AExpr
968 readable var _n_id: TId
969 readable var _n_assign: TAssign
970 readable var _n_value: AExpr
971 end
972 class AVarReassignExpr
973 super AExpr
974 readable var _n_id: TId
975 readable var _n_assign_op: AAssignOp
976 readable var _n_value: AExpr
977 end
978 class ARangeExpr
979 super AExpr
980 readable var _n_expr: AExpr
981 readable var _n_expr2: AExpr
982 readable var _n_annotations: nullable AAnnotations = null
983 end
984 class ACrangeExpr
985 super AExpr
986 readable var _n_obra: TObra
987 readable var _n_expr: AExpr
988 readable var _n_expr2: AExpr
989 readable var _n_cbra: TCbra
990 readable var _n_annotations: nullable AAnnotations = null
991 end
992 class AOrangeExpr
993 super AExpr
994 readable var _n_obra: TObra
995 readable var _n_expr: AExpr
996 readable var _n_expr2: AExpr
997 readable var _n_cbra: TObra
998 readable var _n_annotations: nullable AAnnotations = null
999 end
1000 class AArrayExpr
1001 super AExpr
1002 readable var _n_exprs: AExprs
1003 readable var _n_annotations: nullable AAnnotations = null
1004 end
1005 class ASelfExpr
1006 super AExpr
1007 readable var _n_kwself: TKwself
1008 readable var _n_annotations: nullable AAnnotations = null
1009 end
1010 class AImplicitSelfExpr
1011 super AExpr
1012 end
1013 class ATrueExpr
1014 super AExpr
1015 readable var _n_kwtrue: TKwtrue
1016 readable var _n_annotations: nullable AAnnotations = null
1017 end
1018 class AFalseExpr
1019 super AExpr
1020 readable var _n_kwfalse: TKwfalse
1021 readable var _n_annotations: nullable AAnnotations = null
1022 end
1023 class ANullExpr
1024 super AExpr
1025 readable var _n_kwnull: TKwnull
1026 readable var _n_annotations: nullable AAnnotations = null
1027 end
1028 class AIntExpr
1029 super AExpr
1030 readable var _n_number: TNumber
1031 readable var _n_annotations: nullable AAnnotations = null
1032 end
1033 class AFloatExpr
1034 super AExpr
1035 readable var _n_float: TFloat
1036 readable var _n_annotations: nullable AAnnotations = null
1037 end
1038 class ACharExpr
1039 super AExpr
1040 readable var _n_char: TChar
1041 readable var _n_annotations: nullable AAnnotations = null
1042 end
1043 class AStringExpr
1044 super AExpr
1045 readable var _n_string: TString
1046 readable var _n_annotations: nullable AAnnotations = null
1047 end
1048 class AStartStringExpr
1049 super AExpr
1050 readable var _n_string: TStartString
1051 end
1052 class AMidStringExpr
1053 super AExpr
1054 readable var _n_string: TMidString
1055 end
1056 class AEndStringExpr
1057 super AExpr
1058 readable var _n_string: TEndString
1059 end
1060 class ASuperstringExpr
1061 super AExpr
1062 readable var _n_exprs: List[AExpr] = new List[AExpr]
1063 readable var _n_annotations: nullable AAnnotations = null
1064 end
1065 class AParExpr
1066 super AExpr
1067 readable var _n_opar: TOpar
1068 readable var _n_expr: AExpr
1069 readable var _n_cpar: TCpar
1070 readable var _n_annotations: nullable AAnnotations = null
1071 end
1072 class AAsCastExpr
1073 super AExpr
1074 readable var _n_expr: AExpr
1075 readable var _n_kwas: TKwas
1076 readable var _n_opar: TOpar
1077 readable var _n_type: AType
1078 readable var _n_cpar: TCpar
1079 end
1080 class AAsNotnullExpr
1081 super AExpr
1082 readable var _n_expr: AExpr
1083 readable var _n_kwas: TKwas
1084 readable var _n_opar: TOpar
1085 readable var _n_kwnot: TKwnot
1086 readable var _n_kwnull: TKwnull
1087 readable var _n_cpar: TCpar
1088 end
1089 class AIssetAttrExpr
1090 super AExpr
1091 readable var _n_kwisset: TKwisset
1092 readable var _n_expr: AExpr
1093 readable var _n_id: TAttrid
1094 end
1095 class ADebugTypeExpr
1096 super AExpr
1097 readable var _n_kwdebug: TKwdebug
1098 readable var _n_kwtype: TKwtype
1099 readable var _n_expr: AExpr
1100 readable var _n_type: AType
1101 end
1102 class AListExprs
1103 super AExprs
1104 readable var _n_exprs: List[AExpr] = new List[AExpr]
1105 end
1106 class AParExprs
1107 super AExprs
1108 readable var _n_opar: TOpar
1109 readable var _n_exprs: List[AExpr] = new List[AExpr]
1110 readable var _n_cpar: TCpar
1111 end
1112 class ABraExprs
1113 super AExprs
1114 readable var _n_obra: TObra
1115 readable var _n_exprs: List[AExpr] = new List[AExpr]
1116 readable var _n_cbra: TCbra
1117 end
1118 class APlusAssignOp
1119 super AAssignOp
1120 readable var _n_pluseq: TPluseq
1121 end
1122 class AMinusAssignOp
1123 super AAssignOp
1124 readable var _n_minuseq: TMinuseq
1125 end
1126 class AClosureDef
1127 super AClosureDef
1128 readable var _n_bang: TBang
1129 readable var _n_id: AClosureId
1130 readable var _n_ids: List[TId] = new List[TId]
1131 readable var _n_kwdo: nullable TKwdo = null
1132 readable var _n_expr: nullable AExpr = null
1133 readable var _n_label: nullable ALabel = null
1134 end
1135 class ASimpleClosureId
1136 super AClosureId
1137 readable var _n_id: TId
1138 end
1139 class ABreakClosureId
1140 super AClosureId
1141 readable var _n_kwbreak: TKwbreak
1142 end
1143 class AModuleName
1144 super AModuleName
1145 readable var _n_quad: nullable TQuad = null
1146 readable var _n_path: List[TId] = new List[TId]
1147 readable var _n_id: TId
1148 end
1149 class AExternCalls
1150 super AExternCalls
1151 readable var _n_kwimport: TKwimport
1152 readable var _n_extern_calls: List[AExternCall] = new List[AExternCall]
1153 end
1154 class AExternCall
1155 super AExternCall
1156 end
1157 class ASuperExternCall
1158 super AExternCall
1159 readable var _n_kwsuper: TKwsuper
1160 end
1161 class ALocalPropExternCall
1162 super AExternCall
1163 readable var _n_methid: AMethid
1164 end
1165 class AFullPropExternCall
1166 super AExternCall
1167 readable var _n_classid: TClassid
1168 readable var _n_quad: nullable TQuad = null
1169 readable var _n_methid: AMethid
1170 end
1171 class AInitPropExternCall
1172 super AExternCall
1173 readable var _n_classid: TClassid
1174 end
1175 class ACastAsExternCall
1176 super AExternCall
1177 readable var _n_from_type: AType
1178 readable var _n_kwas: TKwas
1179 readable var _n_to_type: AType
1180 end
1181 class AAsNullableExternCall
1182 super AExternCall
1183 readable var _n_type: AType
1184 readable var _n_kwas: TKwas
1185 readable var _n_kwnullable: TKwnullable
1186 end
1187 class AAsNotNullableExternCall
1188 super AExternCall
1189 readable var _n_type: AType
1190 readable var _n_kwas: TKwas
1191 readable var _n_kwnot: TKwnot
1192 readable var _n_kwnullable: TKwnullable
1193 end
1194 class AInLanguage
1195 super AInLanguage
1196 readable var _n_kwin: TKwin
1197 readable var _n_string: TString
1198 end
1199 class AExternCodeBlock
1200 super AExternCodeBlock
1201 readable var _n_in_language: nullable AInLanguage = null
1202 readable var _n_extern_code_segment: TExternCodeSegment
1203 end
1204 class AQualified
1205 super AQualified
1206 readable var _n_id: List[TId] = new List[TId]
1207 readable var _n_classid: nullable TClassid = null
1208 end
1209 class ADoc
1210 super ADoc
1211 readable var _n_comment: List[TComment] = new List[TComment]
1212 end
1213 class AAnnotations
1214 super AAnnotations
1215 readable var _n_at: nullable TAt = null
1216 readable var _n_opar: nullable TOpar = null
1217 readable var _n_items: List[AAnnotation] = new List[AAnnotation]
1218 readable var _n_cpar: nullable TCpar = null
1219 end
1220 class AAnnotation
1221 super AAnnotation
1222 readable var _n_atid: AAtid
1223 readable var _n_opar: nullable TOpar = null
1224 readable var _n_args: List[AAtArg] = new List[AAtArg]
1225 readable var _n_cpar: nullable TCpar = null
1226 readable var _n_annotations: nullable AAnnotations = null
1227 end
1228 class ATypeAtArg
1229 super AAtArg
1230 readable var _n_type: AType
1231 end
1232 class AExprAtArg
1233 super AAtArg
1234 readable var _n_expr: AExpr
1235 end
1236 class AAtAtArg
1237 super AAtArg
1238 readable var _n_annotations: AAnnotations
1239 end
1240 class AIdAtid
1241 super AAtid
1242 readable var _n_id: TId
1243 end
1244 class AKwexternAtid
1245 super AAtid
1246 readable var _n_id: TKwextern
1247 end
1248 class AKwinternAtid
1249 super AAtid
1250 readable var _n_id: TKwintern
1251 end
1252 class AKwreadableAtid
1253 super AAtid
1254 readable var _n_id: TKwreadable
1255 end
1256 class AKwwritableAtid
1257 super AAtid
1258 readable var _n_id: TKwwritable
1259 end
1260 class AKwimportAtid
1261 super AAtid
1262 readable var _n_id: TKwimport
1263 end
1264
1265 class Start
1266 super Prod
1267 readable var _n_base: nullable AModule
1268 readable var _n_eof: EOF
1269 init(
1270 n_base: nullable AModule,
1271 n_eof: EOF)
1272 do
1273 _n_base = n_base
1274 _n_eof = n_eof
1275 end
1276
1277 end