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