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