syntax: new 'assert else' statement
[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 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 TKwinit
79 special Token
80 end
81 class TKwredef
82 special Token
83 end
84 class TKwis
85 special Token
86 end
87 class TKwdo
88 special Token
89 end
90 class TKwreadable
91 special Token
92 end
93 class TKwwritable
94 special Token
95 end
96 class TKwvar
97 special Token
98 end
99 class TKwintern
100 special Token
101 end
102 class TKwextern
103 special Token
104 end
105 class TKwprotected
106 special Token
107 end
108 class TKwprivate
109 special Token
110 end
111 class TKwintrude
112 special Token
113 end
114 class TKwif
115 special Token
116 end
117 class TKwthen
118 special Token
119 end
120 class TKwelse
121 special Token
122 end
123 class TKwwhile
124 special Token
125 end
126 class TKwloop
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 TKwnullable
187 special Token
188 end
189 class TKwisset
190 special Token
191 end
192 class TKwlabel
193 special Token
194 end
195 class TOpar
196 special Token
197 end
198 class TCpar
199 special Token
200 end
201 class TObra
202 special Token
203 end
204 class TCbra
205 special Token
206 end
207 class TComma
208 special Token
209 end
210 class TColumn
211 special Token
212 end
213 class TQuad
214 special Token
215 end
216 class TAssign
217 special Token
218 end
219 class TPluseq
220 special Token
221 end
222 class TMinuseq
223 special Token
224 end
225 class TDotdotdot
226 special Token
227 end
228 class TDotdot
229 special Token
230 end
231 class TDot
232 special Token
233 end
234 class TPlus
235 special Token
236 end
237 class TMinus
238 special Token
239 end
240 class TStar
241 special Token
242 end
243 class TSlash
244 special Token
245 end
246 class TPercent
247 special Token
248 end
249 class TEq
250 special Token
251 end
252 class TNe
253 special Token
254 end
255 class TLt
256 special Token
257 end
258 class TLe
259 special Token
260 end
261 class TGt
262 special Token
263 end
264 class TGe
265 special Token
266 end
267 class TStarship
268 special Token
269 end
270 class TBang
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_kwvar: TKwvar
409 readable writable var _n_id: TAttrid
410 readable writable var _n_type: nullable AType = null
411 readable writable var _n_readable: nullable AAble = null
412 readable writable var _n_writable: nullable AAble = null
413 readable writable var _n_expr: nullable AExpr = null
414 end
415 class AMethPropdef
416 special APropdef
417 readable writable var _n_kwredef: nullable TKwredef = null
418 readable writable var _n_visibility: nullable AVisibility
419 readable writable var _n_methid: nullable AMethid = null
420 readable writable var _n_signature: nullable ASignature
421 end
422 class ADeferredMethPropdef
423 special AMethPropdef
424 readable writable var _n_kwmeth: TKwmeth
425 end
426 class AInternMethPropdef
427 special AMethPropdef
428 readable writable var _n_kwmeth: TKwmeth
429 end
430 class AExternMethPropdef
431 special AMethPropdef
432 readable writable var _n_kwmeth: TKwmeth
433 readable writable var _n_extern: nullable TString = null
434 end
435 class AConcreteMethPropdef
436 special AMethPropdef
437 readable writable var _n_kwmeth: nullable TKwmeth
438 readable writable var _n_block: nullable AExpr = null
439 end
440 class AConcreteInitPropdef
441 special AConcreteMethPropdef
442 readable writable var _n_kwinit: TKwinit
443 end
444 class AMainMethPropdef
445 special AConcreteMethPropdef
446 end
447 class ATypePropdef
448 special APropdef
449 readable writable var _n_kwredef: nullable TKwredef = null
450 readable writable var _n_visibility: AVisibility
451 readable writable var _n_kwtype: TKwtype
452 readable writable var _n_id: TClassid
453 readable writable var _n_type: AType
454 end
455 class AAble special Prod
456 readable writable var _n_kwredef: nullable TKwredef = null
457 end
458 class AReadAble
459 special AAble
460 readable writable var _n_kwreadable: TKwreadable
461 end
462 class AWriteAble
463 special AAble
464 readable writable var _n_kwwritable: TKwwritable
465 end
466 class AMethid special Prod end
467 class AIdMethid
468 special AMethid
469 readable writable var _n_id: TId
470 end
471 class APlusMethid
472 special AMethid
473 readable writable var _n_plus: TPlus
474 end
475 class AMinusMethid
476 special AMethid
477 readable writable var _n_minus: TMinus
478 end
479 class AStarMethid
480 special AMethid
481 readable writable var _n_star: TStar
482 end
483 class ASlashMethid
484 special AMethid
485 readable writable var _n_slash: TSlash
486 end
487 class APercentMethid
488 special AMethid
489 readable writable var _n_percent: TPercent
490 end
491 class AEqMethid
492 special AMethid
493 readable writable var _n_eq: TEq
494 end
495 class ANeMethid
496 special AMethid
497 readable writable var _n_ne: TNe
498 end
499 class ALeMethid
500 special AMethid
501 readable writable var _n_le: TLe
502 end
503 class AGeMethid
504 special AMethid
505 readable writable var _n_ge: TGe
506 end
507 class ALtMethid
508 special AMethid
509 readable writable var _n_lt: TLt
510 end
511 class AGtMethid
512 special AMethid
513 readable writable var _n_gt: TGt
514 end
515 class ABraMethid
516 special AMethid
517 readable writable var _n_obra: TObra
518 readable writable var _n_cbra: TCbra
519 end
520 class AStarshipMethid
521 special AMethid
522 readable writable var _n_starship: TStarship
523 end
524 class AAssignMethid
525 special AMethid
526 readable writable var _n_id: TId
527 readable writable var _n_assign: TAssign
528 end
529 class ABraassignMethid
530 special AMethid
531 readable writable var _n_obra: TObra
532 readable writable var _n_cbra: TCbra
533 readable writable var _n_assign: TAssign
534 end
535 class ASignature
536 special Prod
537 readable writable var _n_params: List[AParam] = new List[AParam]
538 readable writable var _n_type: nullable AType = null
539 readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
540 end
541 class AParam
542 special Prod
543 readable writable var _n_id: TId
544 readable writable var _n_type: nullable AType = null
545 readable writable var _n_dotdotdot: nullable TDotdotdot = null
546 end
547 class AClosureDecl
548 special Prod
549 readable writable var _n_kwbreak: nullable TKwbreak = null
550 readable writable var _n_bang: TBang
551 readable writable var _n_id: TId
552 readable writable var _n_signature: ASignature
553 readable writable var _n_expr: nullable AExpr = null
554 end
555 class AType
556 special Prod
557 readable writable var _n_kwnullable: nullable TKwnullable = null
558 readable writable var _n_id: TClassid
559 readable writable var _n_types: List[AType] = new List[AType]
560 end
561 class ALabel
562 special Prod
563 readable writable var _n_kwlabel: TKwlabel
564 readable writable var _n_id: TId
565 end
566 class AExpr special Prod end
567 class ABlockExpr
568 special AExpr
569 readable writable var _n_expr: List[AExpr] = new List[AExpr]
570 end
571 class AVardeclExpr
572 special AExpr
573 readable writable var _n_kwvar: TKwvar
574 readable writable var _n_id: TId
575 readable writable var _n_type: nullable AType = null
576 readable writable var _n_assign: nullable TAssign = null
577 readable writable var _n_expr: nullable AExpr = null
578 end
579 class AReturnExpr
580 special AExpr
581 readable writable var _n_kwreturn: nullable TKwreturn = null
582 readable writable var _n_expr: nullable AExpr = null
583 end
584 class ALabelable
585 special Prod
586 readable writable var _n_label: nullable ALabel = null
587 end
588 class ABreakExpr
589 special AExpr
590 special ALabelable
591 readable writable var _n_kwbreak: TKwbreak
592 readable writable var _n_expr: nullable AExpr = null
593 end
594 class AAbortExpr
595 special AExpr
596 readable writable var _n_kwabort: TKwabort
597 end
598 class AContinueExpr
599 special AExpr
600 special ALabelable
601 readable writable var _n_kwcontinue: nullable TKwcontinue = null
602 readable writable var _n_expr: nullable AExpr = null
603 end
604 class ADoExpr
605 special AExpr
606 special ALabelable
607 readable writable var _n_kwdo: TKwdo
608 readable writable var _n_block: nullable AExpr = null
609 end
610 class AIfExpr
611 special AExpr
612 readable writable var _n_kwif: TKwif
613 readable writable var _n_expr: AExpr
614 readable writable var _n_then: nullable AExpr = null
615 readable writable var _n_else: nullable AExpr = null
616 end
617 class AIfexprExpr
618 special AExpr
619 readable writable var _n_kwif: TKwif
620 readable writable var _n_expr: AExpr
621 readable writable var _n_kwthen: TKwthen
622 readable writable var _n_then: AExpr
623 readable writable var _n_kwelse: TKwelse
624 readable writable var _n_else: AExpr
625 end
626 class AWhileExpr
627 special AExpr
628 special ALabelable
629 readable writable var _n_kwwhile: TKwwhile
630 readable writable var _n_expr: AExpr
631 readable writable var _n_kwdo: TKwdo
632 readable writable var _n_block: nullable AExpr = null
633 end
634 class ALoopExpr
635 special AExpr
636 special ALabelable
637 readable writable var _n_kwloop: TKwloop
638 readable writable var _n_block: nullable AExpr = null
639 end
640 class AForExpr
641 special AExpr
642 special ALabelable
643 readable writable var _n_kwfor: TKwfor
644 readable writable var _n_id: TId
645 readable writable var _n_expr: AExpr
646 readable writable var _n_kwdo: TKwdo
647 readable writable var _n_block: nullable AExpr = null
648 end
649 class AAssertExpr
650 special AExpr
651 readable writable var _n_kwassert: TKwassert
652 readable writable var _n_id: nullable TId = null
653 readable writable var _n_expr: AExpr
654 readable writable var _n_else: nullable AExpr = null
655 end
656 class AAssignFormExpr
657 special AExpr
658 readable writable var _n_assign: TAssign
659 readable writable var _n_value: AExpr
660 end
661 class AReassignFormExpr
662 special AExpr
663 readable writable var _n_assign_op: AAssignOp
664 readable writable var _n_value: AExpr
665 end
666 class AOnceExpr
667 special AProxyExpr
668 readable writable var _n_kwonce: TKwonce
669 end
670 class ASendExpr
671 special AExpr
672 readable writable var _n_expr: AExpr
673 readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
674 end
675 class ABinopExpr
676 special ASendExpr
677 readable writable var _n_expr2: AExpr
678 end
679 class ABoolExpr
680 special AExpr
681 end
682 class AOrExpr
683 special ABoolExpr
684 readable writable var _n_expr: AExpr
685 readable writable var _n_expr2: AExpr
686 end
687 class AAndExpr
688 special ABoolExpr
689 readable writable var _n_expr: AExpr
690 readable writable var _n_expr2: AExpr
691 end
692 class ANotExpr
693 special ABoolExpr
694 readable writable var _n_kwnot: TKwnot
695 readable writable var _n_expr: AExpr
696 end
697 class AEqExpr
698 special ABinopExpr
699 end
700 class AEeExpr
701 special ABoolExpr
702 readable writable var _n_expr: AExpr
703 readable writable var _n_expr2: AExpr
704 end
705 class ANeExpr
706 special ABinopExpr
707 end
708 class ALtExpr
709 special ABinopExpr
710 end
711 class ALeExpr
712 special ABinopExpr
713 end
714 class AGtExpr
715 special ABinopExpr
716 end
717 class AGeExpr
718 special ABinopExpr
719 end
720 class AIsaExpr
721 special ABoolExpr
722 readable writable var _n_expr: AExpr
723 readable writable var _n_type: AType
724 end
725 class APlusExpr
726 special ABinopExpr
727 end
728 class AMinusExpr
729 special ABinopExpr
730 end
731 class AStarshipExpr
732 special ABinopExpr
733 end
734 class AStarExpr
735 special ABinopExpr
736 end
737 class ASlashExpr
738 special ABinopExpr
739 end
740 class APercentExpr
741 special ABinopExpr
742 end
743 class AUminusExpr
744 special ASendExpr
745 readable writable var _n_minus: TMinus
746 end
747 class ANewExpr
748 special AExpr
749 readable writable var _n_kwnew: TKwnew
750 readable writable var _n_type: AType
751 readable writable var _n_id: nullable TId = null
752 readable writable var _n_args: List[AExpr] = new List[AExpr]
753 end
754 class AAttrFormExpr
755 special AExpr
756 readable writable var _n_expr: AExpr
757 readable writable var _n_id: TAttrid
758 end
759 class AAttrExpr
760 special AAttrFormExpr
761 end
762 class AAttrAssignExpr
763 special AAttrFormExpr
764 special AAssignFormExpr
765 end
766 class ACallFormExpr
767 special ASendExpr
768 readable writable var _n_id: TId
769 readable writable var _n_args: List[AExpr] = new List[AExpr]
770 end
771 class AAttrReassignExpr
772 special AExpr
773 special AAttrFormExpr
774 special AReassignFormExpr
775 end
776 class ACallExpr
777 special ACallFormExpr
778 end
779 class ACallAssignExpr
780 special ACallFormExpr
781 special AAssignFormExpr
782 end
783 class ACallReassignExpr
784 special AExpr
785 special ACallFormExpr
786 special AReassignFormExpr
787 end
788 class ASuperExpr
789 special AExpr
790 readable writable var _n_qualified: nullable AQualified = null
791 readable writable var _n_kwsuper: TKwsuper
792 readable writable var _n_args: List[AExpr] = new List[AExpr]
793 end
794 class AInitExpr
795 special ASendExpr
796 readable writable var _n_kwinit: TKwinit
797 readable writable var _n_args: List[AExpr] = new List[AExpr]
798 end
799 class ABraFormExpr
800 special ASendExpr
801 readable writable var _n_args: List[AExpr] = new List[AExpr]
802 end
803 class ABraExpr
804 special ABraFormExpr
805 end
806 class ABraAssignExpr
807 special ABraFormExpr
808 special AAssignFormExpr
809 end
810 class AVarFormExpr
811 special AExpr
812 readable writable var _n_id: TId
813 end
814 class ABraReassignExpr
815 special ABraFormExpr
816 special AReassignFormExpr
817 end
818 class AClosureCallExpr
819 special AExpr
820 readable writable var _n_id: TId
821 readable writable var _n_args: List[AExpr] = new List[AExpr]
822 readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
823 end
824 class AVarExpr
825 special AVarFormExpr
826 end
827 class AVarAssignExpr
828 special AVarFormExpr
829 special AAssignFormExpr
830 end
831 class AVarReassignExpr
832 special AVarFormExpr
833 special AReassignFormExpr
834 end
835 class ARangeExpr
836 special AExpr
837 readable writable var _n_expr: AExpr
838 readable writable var _n_expr2: AExpr
839 end
840 class ACrangeExpr
841 special ARangeExpr
842 end
843 class AOrangeExpr
844 special ARangeExpr
845 end
846 class AArrayExpr
847 special AExpr
848 readable writable var _n_exprs: List[AExpr] = new List[AExpr]
849 end
850 class ASelfExpr
851 special AExpr
852 readable writable var _n_kwself: nullable TKwself
853 end
854 class AImplicitSelfExpr
855 special ASelfExpr
856 end
857 class ATrueExpr
858 special ABoolExpr
859 readable writable var _n_kwtrue: TKwtrue
860 end
861 class AFalseExpr
862 special ABoolExpr
863 readable writable var _n_kwfalse: TKwfalse
864 end
865 class ANullExpr
866 special AExpr
867 readable writable var _n_kwnull: TKwnull
868 end
869 class AIntExpr
870 special AExpr
871 readable writable var _n_number: TNumber
872 end
873 class AFloatExpr
874 special AExpr
875 readable writable var _n_float: TFloat
876 end
877 class ACharExpr
878 special AExpr
879 readable writable var _n_char: TChar
880 end
881 class AStringFormExpr
882 special AExpr
883 end
884 class AStringExpr
885 special AStringFormExpr
886 readable writable var _n_string: TString
887 end
888 class AStartStringExpr
889 special AStringFormExpr
890 readable writable var _n_string: TStartString
891 end
892 class AMidStringExpr
893 special AStringFormExpr
894 readable writable var _n_string: TMidString
895 end
896 class AEndStringExpr
897 special AStringFormExpr
898 readable writable var _n_string: TEndString
899 end
900 class ASuperstringExpr
901 special AExpr
902 readable writable var _n_exprs: List[AExpr] = new List[AExpr]
903 end
904 class AParExpr
905 special AProxyExpr
906 end
907 class AProxyExpr
908 special AExpr
909 readable writable var _n_expr: AExpr
910 end
911 class AAsCastExpr
912 special AExpr
913 readable writable var _n_expr: AExpr
914 readable writable var _n_kwas: TKwas
915 readable writable var _n_type: AType
916 end
917 class AAsNotnullExpr
918 special AExpr
919 readable writable var _n_expr: AExpr
920 readable writable var _n_kwas: TKwas
921 readable writable var _n_kwnot: TKwnot
922 readable writable var _n_kwnull: TKwnull
923 end
924 class AIssetAttrExpr
925 special AAttrFormExpr
926 readable writable var _n_kwisset: TKwisset
927 end
928 class AAssignOp special Prod end
929 class APlusAssignOp
930 special AAssignOp
931 readable writable var _n_pluseq: TPluseq
932 end
933 class AMinusAssignOp
934 special AAssignOp
935 readable writable var _n_minuseq: TMinuseq
936 end
937 class AClosureDef
938 special ALabelable
939 readable writable var _n_bang: TBang
940 readable writable var _n_id: AClosureId
941 readable writable var _n_ids: List[TId] = new List[TId]
942 readable writable var _n_kwdo: nullable TKwdo = null
943 readable writable var _n_expr: nullable AExpr = null
944 end
945 class AClosureId
946 special Prod
947 end
948 class ASimpleClosureId
949 special AClosureId
950 readable writable var _n_id: TId
951 end
952 class ABreakClosureId
953 special AClosureId
954 readable writable var _n_kwbreak: TKwbreak
955 end
956 class AQualified
957 special Prod
958 readable writable var _n_id: List[TId] = new List[TId]
959 readable writable var _n_classid: nullable TClassid = null
960 end
961 class ADoc
962 special Prod
963 readable writable var _n_comment: List[TComment] = new List[TComment]
964 end
965
966 class Start
967 special Prod
968 readable writable var _n_base: nullable AModule
969 readable writable var _n_eof: EOF
970 end