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