1 # Raw AST node hierarchy.
2 # This file was generated by SableCC (http://www.sablecc.org/).
7 # Root of the AST hierarchy
9 var _location
: nullable Location
11 # Location is set during AST building. Once built, location cannon be null
12 # However, manual instanciated nodes may need mode care
13 fun location
: Location do return _location
.as(not null)
16 # Ancestor of all tokens
21 # Ancestor of all productions
24 fun location
=(loc
: Location) do _location
= loc
299 class TExternCodeSegment
315 class AModule super Prod end
316 class AModuledecl super Prod end
317 class AImport super Prod end
318 class AVisibility super Prod end
319 class AClassdef super Prod end
320 class AClasskind super Prod end
321 class AFormaldef super Prod end
322 class ASuperclass super Prod end
323 class APropdef super Prod end
324 class AAble super Prod end
325 class AMethid super Prod end
326 class ASignature super Prod end
327 class AParam super Prod end
328 class AClosureDecl super Prod end
329 class AType super Prod end
330 class ALabel super Prod end
331 class AExpr super Prod end
332 class AExprs super Prod end
333 class AAssignOp super Prod end
334 class AClosureDef super Prod end
335 class AClosureId super Prod end
336 class AModuleName super Prod end
337 class AExternCalls super Prod end
338 class AExternCall super Prod end
339 class AInLanguage super Prod end
340 class AExternCodeBlock super Prod end
341 class AQualified super Prod end
342 class ADoc super Prod end
346 readable var _n_moduledecl
: nullable AModuledecl = null
347 readable var _n_imports
: List[AImport] = new List[AImport]
348 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
349 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
353 readable var _n_doc
: nullable ADoc = null
354 readable var _n_kwmodule
: TKwmodule
355 readable var _n_name
: AModuleName
359 readable var _n_visibility
: AVisibility
360 readable var _n_kwimport
: TKwimport
361 readable var _n_name
: AModuleName
365 readable var _n_visibility
: AVisibility
366 readable var _n_kwimport
: TKwimport
367 readable var _n_kwend
: TKwend
369 class APublicVisibility
372 class APrivateVisibility
374 readable var _n_kwprivate
: TKwprivate
376 class AProtectedVisibility
378 readable var _n_kwprotected
: TKwprotected
380 class AIntrudeVisibility
382 readable var _n_kwintrude
: TKwintrude
386 readable var _n_doc
: nullable ADoc = null
387 readable var _n_kwredef
: nullable TKwredef = null
388 readable var _n_visibility
: AVisibility
389 readable var _n_classkind
: AClasskind
390 readable var _n_id
: nullable TClassid = null
391 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
392 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
393 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
394 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
395 readable var _n_kwend
: TKwend
399 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
403 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
405 class AConcreteClasskind
407 readable var _n_kwclass
: TKwclass
409 class AAbstractClasskind
411 readable var _n_kwabstract
: TKwabstract
412 readable var _n_kwclass
: TKwclass
414 class AInterfaceClasskind
416 readable var _n_kwinterface
: TKwinterface
420 readable var _n_kwenum
: TKwenum
422 class AExternClasskind
424 readable var _n_kwextern
: TKwextern
425 readable var _n_kwclass
: nullable TKwclass = null
429 readable var _n_id
: TClassid
430 readable var _n_type
: nullable AType = null
434 readable var _n_kwsuper
: TKwsuper
435 readable var _n_type
: AType
439 readable var _n_doc
: nullable ADoc = null
440 readable var _n_readable
: nullable AAble = null
441 readable var _n_writable
: nullable AAble = null
442 readable var _n_kwredef
: nullable TKwredef = null
443 readable var _n_visibility
: AVisibility
444 readable var _n_kwvar
: TKwvar
445 readable var _n_id
: nullable TAttrid = null
446 readable var _n_id2
: nullable TId = null
447 readable var _n_type
: nullable AType = null
448 readable var _n_expr
: nullable AExpr = null
452 readable var _n_doc
: nullable ADoc = null
453 readable var _n_kwredef
: nullable TKwredef = null
454 readable var _n_visibility
: AVisibility
455 readable var _n_methid
: AMethid
456 readable var _n_signature
: ASignature
458 class ADeferredMethPropdef
460 readable var _n_doc
: nullable ADoc = null
461 readable var _n_kwredef
: nullable TKwredef = null
462 readable var _n_visibility
: AVisibility
463 readable var _n_kwmeth
: TKwmeth
464 readable var _n_methid
: AMethid
465 readable var _n_signature
: ASignature
467 class AInternMethPropdef
469 readable var _n_doc
: nullable ADoc = null
470 readable var _n_kwredef
: nullable TKwredef = null
471 readable var _n_visibility
: AVisibility
472 readable var _n_kwmeth
: TKwmeth
473 readable var _n_methid
: AMethid
474 readable var _n_signature
: ASignature
476 class AExternMethPropdef
478 readable var _n_doc
: nullable ADoc = null
479 readable var _n_kwredef
: nullable TKwredef = null
480 readable var _n_visibility
: AVisibility
481 readable var _n_kwmeth
: TKwmeth
482 readable var _n_methid
: AMethid
483 readable var _n_signature
: ASignature
484 readable var _n_extern
: nullable TString = null
485 readable var _n_extern_calls
: nullable AExternCalls = null
486 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
488 class AConcreteMethPropdef
490 readable var _n_doc
: nullable ADoc = null
491 readable var _n_kwredef
: nullable TKwredef = null
492 readable var _n_visibility
: AVisibility
493 readable var _n_kwmeth
: TKwmeth
494 readable var _n_methid
: AMethid
495 readable var _n_signature
: ASignature
496 readable var _n_block
: nullable AExpr = null
498 class AConcreteInitPropdef
500 readable var _n_doc
: nullable ADoc = null
501 readable var _n_kwredef
: nullable TKwredef = null
502 readable var _n_visibility
: AVisibility
503 readable var _n_kwinit
: TKwinit
504 readable var _n_methid
: nullable AMethid = null
505 readable var _n_signature
: ASignature
506 readable var _n_block
: nullable AExpr = null
508 class AExternInitPropdef
510 readable var _n_doc
: nullable ADoc = null
511 readable var _n_kwredef
: nullable TKwredef = null
512 readable var _n_visibility
: AVisibility
513 readable var _n_kwnew
: TKwnew
514 readable var _n_methid
: nullable AMethid = null
515 readable var _n_signature
: ASignature
516 readable var _n_extern
: nullable TString = null
517 readable var _n_extern_calls
: nullable AExternCalls = null
518 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
520 class AMainMethPropdef
522 readable var _n_kwredef
: nullable TKwredef = null
523 readable var _n_block
: nullable AExpr = null
527 readable var _n_doc
: nullable ADoc = null
528 readable var _n_kwredef
: nullable TKwredef = null
529 readable var _n_visibility
: AVisibility
530 readable var _n_kwtype
: TKwtype
531 readable var _n_id
: TClassid
532 readable var _n_type
: AType
536 readable var _n_kwredef
: nullable TKwredef = null
537 readable var _n_kwreadable
: TKwreadable
541 readable var _n_kwredef
: nullable TKwredef = null
542 readable var _n_visibility
: nullable AVisibility = null
543 readable var _n_kwwritable
: TKwwritable
547 readable var _n_id
: TId
551 readable var _n_plus
: TPlus
555 readable var _n_minus
: TMinus
559 readable var _n_star
: TStar
563 readable var _n_slash
: TSlash
567 readable var _n_percent
: TPercent
571 readable var _n_eq
: TEq
575 readable var _n_ne
: TNe
579 readable var _n_le
: TLe
583 readable var _n_ge
: TGe
587 readable var _n_lt
: TLt
591 readable var _n_gt
: TGt
595 readable var _n_ll
: TLl
599 readable var _n_gg
: TGg
603 readable var _n_obra
: TObra
604 readable var _n_cbra
: TCbra
606 class AStarshipMethid
608 readable var _n_starship
: TStarship
612 readable var _n_id
: TId
613 readable var _n_assign
: TAssign
615 class ABraassignMethid
617 readable var _n_obra
: TObra
618 readable var _n_cbra
: TCbra
619 readable var _n_assign
: TAssign
623 readable var _n_opar
: nullable TOpar = null
624 readable var _n_params
: List[AParam] = new List[AParam]
625 readable var _n_cpar
: nullable TCpar = null
626 readable var _n_type
: nullable AType = null
627 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
631 readable var _n_id
: TId
632 readable var _n_type
: nullable AType = null
633 readable var _n_dotdotdot
: nullable TDotdotdot = null
637 readable var _n_kwbreak
: nullable TKwbreak = null
638 readable var _n_bang
: TBang
639 readable var _n_id
: TId
640 readable var _n_signature
: ASignature
641 readable var _n_expr
: nullable AExpr = null
645 readable var _n_kwnullable
: nullable TKwnullable = null
646 readable var _n_id
: TClassid
647 readable var _n_types
: List[AType] = new List[AType]
651 readable var _n_kwlabel
: TKwlabel
652 readable var _n_id
: TId
656 readable var _n_expr
: List[AExpr] = new List[AExpr]
657 readable var _n_kwend
: nullable TKwend = null
661 readable var _n_kwvar
: TKwvar
662 readable var _n_id
: TId
663 readable var _n_type
: nullable AType = null
664 readable var _n_assign
: nullable TAssign = null
665 readable var _n_expr
: nullable AExpr = null
669 readable var _n_kwreturn
: nullable TKwreturn = null
670 readable var _n_expr
: nullable AExpr = null
674 readable var _n_kwbreak
: TKwbreak
675 readable var _n_label
: nullable ALabel = null
676 readable var _n_expr
: nullable AExpr = null
680 readable var _n_kwabort
: TKwabort
684 readable var _n_kwcontinue
: nullable TKwcontinue = null
685 readable var _n_label
: nullable ALabel = null
686 readable var _n_expr
: nullable AExpr = null
690 readable var _n_kwdo
: TKwdo
691 readable var _n_block
: nullable AExpr = null
692 readable var _n_label
: nullable ALabel = null
696 readable var _n_kwif
: TKwif
697 readable var _n_expr
: AExpr
698 readable var _n_then
: nullable AExpr = null
699 readable var _n_else
: nullable AExpr = null
703 readable var _n_kwif
: TKwif
704 readable var _n_expr
: AExpr
705 readable var _n_kwthen
: TKwthen
706 readable var _n_then
: AExpr
707 readable var _n_kwelse
: TKwelse
708 readable var _n_else
: AExpr
712 readable var _n_kwwhile
: TKwwhile
713 readable var _n_expr
: AExpr
714 readable var _n_kwdo
: TKwdo
715 readable var _n_block
: nullable AExpr = null
716 readable var _n_label
: nullable ALabel = null
720 readable var _n_kwloop
: TKwloop
721 readable var _n_block
: nullable AExpr = null
722 readable var _n_label
: nullable ALabel = null
726 readable var _n_kwfor
: TKwfor
727 readable var _n_ids
: List[TId] = new List[TId]
728 readable var _n_expr
: AExpr
729 readable var _n_kwdo
: TKwdo
730 readable var _n_block
: nullable AExpr = null
731 readable var _n_label
: nullable ALabel = null
735 readable var _n_kwassert
: TKwassert
736 readable var _n_id
: nullable TId = null
737 readable var _n_expr
: AExpr
738 readable var _n_else
: nullable AExpr = null
742 readable var _n_kwonce
: TKwonce
743 readable var _n_expr
: AExpr
747 readable var _n_expr
: AExpr
751 readable var _n_expr
: AExpr
752 readable var _n_expr2
: AExpr
756 readable var _n_expr
: AExpr
757 readable var _n_expr2
: AExpr
761 readable var _n_expr
: AExpr
762 readable var _n_expr2
: AExpr
766 readable var _n_expr
: AExpr
767 readable var _n_expr2
: AExpr
771 readable var _n_kwnot
: TKwnot
772 readable var _n_expr
: AExpr
776 readable var _n_expr
: AExpr
777 readable var _n_expr2
: AExpr
781 readable var _n_expr
: AExpr
782 readable var _n_expr2
: AExpr
786 readable var _n_expr
: AExpr
787 readable var _n_expr2
: AExpr
791 readable var _n_expr
: AExpr
792 readable var _n_expr2
: AExpr
796 readable var _n_expr
: AExpr
797 readable var _n_expr2
: AExpr
801 readable var _n_expr
: AExpr
802 readable var _n_expr2
: AExpr
806 readable var _n_expr
: AExpr
807 readable var _n_expr2
: AExpr
811 readable var _n_expr
: AExpr
812 readable var _n_expr2
: AExpr
816 readable var _n_expr
: AExpr
817 readable var _n_expr2
: AExpr
821 readable var _n_expr
: AExpr
822 readable var _n_type
: AType
826 readable var _n_expr
: AExpr
827 readable var _n_expr2
: AExpr
831 readable var _n_expr
: AExpr
832 readable var _n_expr2
: AExpr
836 readable var _n_expr
: AExpr
837 readable var _n_expr2
: AExpr
841 readable var _n_expr
: AExpr
842 readable var _n_expr2
: AExpr
846 readable var _n_expr
: AExpr
847 readable var _n_expr2
: AExpr
851 readable var _n_expr
: AExpr
852 readable var _n_expr2
: AExpr
856 readable var _n_minus
: TMinus
857 readable var _n_expr
: AExpr
861 readable var _n_kwnew
: TKwnew
862 readable var _n_type
: AType
863 readable var _n_id
: nullable TId = null
864 readable var _n_args
: AExprs
868 readable var _n_expr
: AExpr
869 readable var _n_id
: TAttrid
871 class AAttrAssignExpr
873 readable var _n_expr
: AExpr
874 readable var _n_id
: TAttrid
875 readable var _n_assign
: TAssign
876 readable var _n_value
: AExpr
878 class AAttrReassignExpr
880 readable var _n_expr
: AExpr
881 readable var _n_id
: TAttrid
882 readable var _n_assign_op
: AAssignOp
883 readable var _n_value
: AExpr
887 readable var _n_expr
: AExpr
888 readable var _n_id
: TId
889 readable var _n_args
: AExprs
890 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
892 class ACallAssignExpr
894 readable var _n_expr
: AExpr
895 readable var _n_id
: TId
896 readable var _n_args
: AExprs
897 readable var _n_assign
: TAssign
898 readable var _n_value
: AExpr
900 class ACallReassignExpr
902 readable var _n_expr
: AExpr
903 readable var _n_id
: TId
904 readable var _n_args
: AExprs
905 readable var _n_assign_op
: AAssignOp
906 readable var _n_value
: AExpr
910 readable var _n_qualified
: nullable AQualified = null
911 readable var _n_kwsuper
: TKwsuper
912 readable var _n_args
: AExprs
916 readable var _n_expr
: AExpr
917 readable var _n_kwinit
: TKwinit
918 readable var _n_args
: AExprs
922 readable var _n_expr
: AExpr
923 readable var _n_args
: AExprs
924 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
928 readable var _n_expr
: AExpr
929 readable var _n_args
: AExprs
930 readable var _n_assign
: TAssign
931 readable var _n_value
: AExpr
933 class ABraReassignExpr
935 readable var _n_expr
: AExpr
936 readable var _n_args
: AExprs
937 readable var _n_assign_op
: AAssignOp
938 readable var _n_value
: AExpr
940 class AClosureCallExpr
942 readable var _n_id
: TId
943 readable var _n_args
: AExprs
944 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
948 readable var _n_id
: TId
952 readable var _n_id
: TId
953 readable var _n_assign
: TAssign
954 readable var _n_value
: AExpr
956 class AVarReassignExpr
958 readable var _n_id
: TId
959 readable var _n_assign_op
: AAssignOp
960 readable var _n_value
: AExpr
964 readable var _n_expr
: AExpr
965 readable var _n_expr2
: AExpr
969 readable var _n_obra
: TObra
970 readable var _n_expr
: AExpr
971 readable var _n_expr2
: AExpr
972 readable var _n_cbra
: TCbra
976 readable var _n_obra
: TObra
977 readable var _n_expr
: AExpr
978 readable var _n_expr2
: AExpr
979 readable var _n_cbra
: TObra
983 readable var _n_exprs
: AExprs
987 readable var _n_kwself
: TKwself
989 class AImplicitSelfExpr
994 readable var _n_kwtrue
: TKwtrue
998 readable var _n_kwfalse
: TKwfalse
1002 readable var _n_kwnull
: TKwnull
1006 readable var _n_number
: TNumber
1010 readable var _n_float
: TFloat
1014 readable var _n_char
: TChar
1018 readable var _n_string
: TString
1020 class AStartStringExpr
1022 readable var _n_string
: TStartString
1024 class AMidStringExpr
1026 readable var _n_string
: TMidString
1028 class AEndStringExpr
1030 readable var _n_string
: TEndString
1032 class ASuperstringExpr
1034 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1038 readable var _n_opar
: TOpar
1039 readable var _n_expr
: AExpr
1040 readable var _n_cpar
: TCpar
1044 readable var _n_expr
: AExpr
1045 readable var _n_kwas
: TKwas
1046 readable var _n_opar
: TOpar
1047 readable var _n_type
: AType
1048 readable var _n_cpar
: TCpar
1050 class AAsNotnullExpr
1052 readable var _n_expr
: AExpr
1053 readable var _n_kwas
: TKwas
1054 readable var _n_opar
: TOpar
1055 readable var _n_kwnot
: TKwnot
1056 readable var _n_kwnull
: TKwnull
1057 readable var _n_cpar
: TCpar
1059 class AIssetAttrExpr
1061 readable var _n_kwisset
: TKwisset
1062 readable var _n_expr
: AExpr
1063 readable var _n_id
: TAttrid
1065 class ADebugTypeExpr
1067 readable var _n_kwdebug
: TKwdebug
1068 readable var _n_kwtype
: TKwtype
1069 readable var _n_expr
: AExpr
1070 readable var _n_type
: AType
1074 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1078 readable var _n_opar
: TOpar
1079 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1080 readable var _n_cpar
: TCpar
1084 readable var _n_obra
: TObra
1085 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1086 readable var _n_cbra
: TCbra
1090 readable var _n_pluseq
: TPluseq
1092 class AMinusAssignOp
1094 readable var _n_minuseq
: TMinuseq
1098 readable var _n_bang
: TBang
1099 readable var _n_id
: AClosureId
1100 readable var _n_ids
: List[TId] = new List[TId]
1101 readable var _n_kwdo
: nullable TKwdo = null
1102 readable var _n_expr
: nullable AExpr = null
1103 readable var _n_label
: nullable ALabel = null
1105 class ASimpleClosureId
1107 readable var _n_id
: TId
1109 class ABreakClosureId
1111 readable var _n_kwbreak
: TKwbreak
1115 readable var _n_quad
: nullable TQuad = null
1116 readable var _n_path
: List[TId] = new List[TId]
1117 readable var _n_id
: TId
1121 readable var _n_kwimport
: TKwimport
1122 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1127 class ASuperExternCall
1129 readable var _n_kwsuper
: TKwsuper
1131 class ALocalPropExternCall
1133 readable var _n_methid
: AMethid
1135 class AFullPropExternCall
1137 readable var _n_classid
: TClassid
1138 readable var _n_quad
: nullable TQuad = null
1139 readable var _n_methid
: AMethid
1141 class AInitPropExternCall
1143 readable var _n_classid
: TClassid
1145 class ACastAsExternCall
1147 readable var _n_from_type
: AType
1148 readable var _n_kwas
: TKwas
1149 readable var _n_to_type
: AType
1151 class AAsNullableExternCall
1153 readable var _n_type
: AType
1154 readable var _n_kwas
: TKwas
1155 readable var _n_kwnullable
: TKwnullable
1157 class AAsNotNullableExternCall
1159 readable var _n_type
: AType
1160 readable var _n_kwas
: TKwas
1161 readable var _n_kwnot
: TKwnot
1162 readable var _n_kwnullable
: TKwnullable
1166 readable var _n_kwin
: TKwin
1167 readable var _n_string
: TString
1169 class AExternCodeBlock
1170 super AExternCodeBlock
1171 readable var _n_in_language
: nullable AInLanguage = null
1172 readable var _n_extern_code_segment
: TExternCodeSegment
1176 readable var _n_id
: List[TId] = new List[TId]
1177 readable var _n_classid
: nullable TClassid = null
1181 readable var _n_comment
: List[TComment] = new List[TComment]
1186 readable var _n_base
: nullable AModule
1187 readable var _n_eof
: EOF
1189 n_base
: nullable AModule,