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
304 private init noinit
do end
308 private init noinit
do end
312 private init noinit
do end
316 private init noinit
do end
319 class AModule super Prod end
320 class AModuledecl super Prod end
321 class AImport super Prod end
322 class AVisibility super Prod end
323 class AClassdef super Prod end
324 class AClasskind super Prod end
325 class AFormaldef super Prod end
326 class ASuperclass super Prod end
327 class APropdef super Prod end
328 class AAble super Prod end
329 class AMethid super Prod end
330 class ASignature super Prod end
331 class AParam super Prod end
332 class AClosureDecl super Prod end
333 class AType super Prod end
334 class ALabel super Prod end
335 class AExpr super Prod end
336 class AExprs super Prod end
337 class AAssignOp super Prod end
338 class AClosureDef super Prod end
339 class AClosureId super Prod end
340 class AModuleName super Prod end
341 class AExternCalls super Prod end
342 class AExternCall super Prod end
343 class AInLanguage super Prod end
344 class AExternCodeBlock super Prod end
345 class AQualified super Prod end
346 class ADoc super Prod end
350 readable var _n_moduledecl
: nullable AModuledecl = null
351 readable var _n_imports
: List[AImport] = new List[AImport]
352 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
353 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
357 readable var _n_doc
: nullable ADoc = null
358 readable var _n_kwmodule
: TKwmodule
359 readable var _n_name
: AModuleName
363 readable var _n_visibility
: AVisibility
364 readable var _n_kwimport
: TKwimport
365 readable var _n_name
: AModuleName
369 readable var _n_visibility
: AVisibility
370 readable var _n_kwimport
: TKwimport
371 readable var _n_kwend
: TKwend
373 class APublicVisibility
376 class APrivateVisibility
378 readable var _n_kwprivate
: TKwprivate
380 class AProtectedVisibility
382 readable var _n_kwprotected
: TKwprotected
384 class AIntrudeVisibility
386 readable var _n_kwintrude
: TKwintrude
390 readable var _n_doc
: nullable ADoc = null
391 readable var _n_kwredef
: nullable TKwredef = null
392 readable var _n_visibility
: AVisibility
393 readable var _n_classkind
: AClasskind
394 readable var _n_id
: nullable TClassid = null
395 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
396 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
397 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
398 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
399 readable var _n_kwend
: TKwend
403 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
407 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
409 class AConcreteClasskind
411 readable var _n_kwclass
: TKwclass
413 class AAbstractClasskind
415 readable var _n_kwabstract
: TKwabstract
416 readable var _n_kwclass
: TKwclass
418 class AInterfaceClasskind
420 readable var _n_kwinterface
: TKwinterface
424 readable var _n_kwenum
: TKwenum
426 class AExternClasskind
428 readable var _n_kwextern
: TKwextern
429 readable var _n_kwclass
: nullable TKwclass = null
433 readable var _n_id
: TClassid
434 readable var _n_type
: nullable AType = null
438 readable var _n_kwsuper
: TKwsuper
439 readable var _n_type
: AType
443 readable var _n_doc
: nullable ADoc = null
444 readable var _n_readable
: nullable AAble = null
445 readable var _n_writable
: nullable AAble = null
446 readable var _n_kwredef
: nullable TKwredef = null
447 readable var _n_visibility
: AVisibility
448 readable var _n_kwvar
: TKwvar
449 readable var _n_id
: nullable TAttrid = null
450 readable var _n_id2
: nullable TId = null
451 readable var _n_type
: nullable AType = null
452 readable var _n_expr
: nullable AExpr = null
456 readable var _n_doc
: nullable ADoc = null
457 readable var _n_kwredef
: nullable TKwredef = null
458 readable var _n_visibility
: AVisibility
459 readable var _n_methid
: AMethid
460 readable var _n_signature
: ASignature
462 class ADeferredMethPropdef
464 readable var _n_doc
: nullable ADoc = null
465 readable var _n_kwredef
: nullable TKwredef = null
466 readable var _n_visibility
: AVisibility
467 readable var _n_kwmeth
: TKwmeth
468 readable var _n_methid
: AMethid
469 readable var _n_signature
: ASignature
471 class AInternMethPropdef
473 readable var _n_doc
: nullable ADoc = null
474 readable var _n_kwredef
: nullable TKwredef = null
475 readable var _n_visibility
: AVisibility
476 readable var _n_kwmeth
: TKwmeth
477 readable var _n_methid
: AMethid
478 readable var _n_signature
: ASignature
480 class AExternMethPropdef
482 readable var _n_doc
: nullable ADoc = null
483 readable var _n_kwredef
: nullable TKwredef = null
484 readable var _n_visibility
: AVisibility
485 readable var _n_kwmeth
: TKwmeth
486 readable var _n_methid
: AMethid
487 readable var _n_signature
: ASignature
488 readable var _n_extern
: nullable TString = null
489 readable var _n_extern_calls
: nullable AExternCalls = null
490 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
492 class AConcreteMethPropdef
494 readable var _n_doc
: nullable ADoc = null
495 readable var _n_kwredef
: nullable TKwredef = null
496 readable var _n_visibility
: AVisibility
497 readable var _n_kwmeth
: TKwmeth
498 readable var _n_methid
: AMethid
499 readable var _n_signature
: ASignature
500 readable var _n_block
: nullable AExpr = null
502 class AConcreteInitPropdef
504 readable var _n_doc
: nullable ADoc = null
505 readable var _n_kwredef
: nullable TKwredef = null
506 readable var _n_visibility
: AVisibility
507 readable var _n_kwinit
: TKwinit
508 readable var _n_methid
: nullable AMethid = null
509 readable var _n_signature
: ASignature
510 readable var _n_block
: nullable AExpr = null
512 class AExternInitPropdef
514 readable var _n_doc
: nullable ADoc = null
515 readable var _n_kwredef
: nullable TKwredef = null
516 readable var _n_visibility
: AVisibility
517 readable var _n_kwnew
: TKwnew
518 readable var _n_methid
: nullable AMethid = null
519 readable var _n_signature
: ASignature
520 readable var _n_extern
: nullable TString = null
521 readable var _n_extern_calls
: nullable AExternCalls = null
522 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
524 class AMainMethPropdef
526 readable var _n_kwredef
: nullable TKwredef = null
527 readable var _n_block
: nullable AExpr = null
531 readable var _n_doc
: nullable ADoc = null
532 readable var _n_kwredef
: nullable TKwredef = null
533 readable var _n_visibility
: AVisibility
534 readable var _n_kwtype
: TKwtype
535 readable var _n_id
: TClassid
536 readable var _n_type
: AType
540 readable var _n_kwredef
: nullable TKwredef = null
541 readable var _n_kwreadable
: TKwreadable
545 readable var _n_kwredef
: nullable TKwredef = null
546 readable var _n_visibility
: nullable AVisibility = null
547 readable var _n_kwwritable
: TKwwritable
551 readable var _n_id
: TId
555 readable var _n_plus
: TPlus
559 readable var _n_minus
: TMinus
563 readable var _n_star
: TStar
567 readable var _n_slash
: TSlash
571 readable var _n_percent
: TPercent
575 readable var _n_eq
: TEq
579 readable var _n_ne
: TNe
583 readable var _n_le
: TLe
587 readable var _n_ge
: TGe
591 readable var _n_lt
: TLt
595 readable var _n_gt
: TGt
599 readable var _n_ll
: TLl
603 readable var _n_gg
: TGg
607 readable var _n_obra
: TObra
608 readable var _n_cbra
: TCbra
610 class AStarshipMethid
612 readable var _n_starship
: TStarship
616 readable var _n_id
: TId
617 readable var _n_assign
: TAssign
619 class ABraassignMethid
621 readable var _n_obra
: TObra
622 readable var _n_cbra
: TCbra
623 readable var _n_assign
: TAssign
627 readable var _n_opar
: nullable TOpar = null
628 readable var _n_params
: List[AParam] = new List[AParam]
629 readable var _n_cpar
: nullable TCpar = null
630 readable var _n_type
: nullable AType = null
631 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
635 readable var _n_id
: TId
636 readable var _n_type
: nullable AType = null
637 readable var _n_dotdotdot
: nullable TDotdotdot = null
641 readable var _n_kwbreak
: nullable TKwbreak = null
642 readable var _n_bang
: TBang
643 readable var _n_id
: TId
644 readable var _n_signature
: ASignature
645 readable var _n_expr
: nullable AExpr = null
649 readable var _n_kwnullable
: nullable TKwnullable = null
650 readable var _n_id
: TClassid
651 readable var _n_types
: List[AType] = new List[AType]
655 readable var _n_kwlabel
: TKwlabel
656 readable var _n_id
: TId
660 readable var _n_expr
: List[AExpr] = new List[AExpr]
661 readable var _n_kwend
: nullable TKwend = null
665 readable var _n_kwvar
: TKwvar
666 readable var _n_id
: TId
667 readable var _n_type
: nullable AType = null
668 readable var _n_assign
: nullable TAssign = null
669 readable var _n_expr
: nullable AExpr = null
673 readable var _n_kwreturn
: nullable TKwreturn = null
674 readable var _n_expr
: nullable AExpr = null
678 readable var _n_kwbreak
: TKwbreak
679 readable var _n_label
: nullable ALabel = null
680 readable var _n_expr
: nullable AExpr = null
684 readable var _n_kwabort
: TKwabort
688 readable var _n_kwcontinue
: nullable TKwcontinue = null
689 readable var _n_label
: nullable ALabel = null
690 readable var _n_expr
: nullable AExpr = null
694 readable var _n_kwdo
: TKwdo
695 readable var _n_block
: nullable AExpr = null
696 readable var _n_label
: nullable ALabel = null
700 readable var _n_kwif
: TKwif
701 readable var _n_expr
: AExpr
702 readable var _n_then
: nullable AExpr = null
703 readable var _n_else
: nullable AExpr = null
707 readable var _n_kwif
: TKwif
708 readable var _n_expr
: AExpr
709 readable var _n_kwthen
: TKwthen
710 readable var _n_then
: AExpr
711 readable var _n_kwelse
: TKwelse
712 readable var _n_else
: AExpr
716 readable var _n_kwwhile
: TKwwhile
717 readable var _n_expr
: AExpr
718 readable var _n_kwdo
: TKwdo
719 readable var _n_block
: nullable AExpr = null
720 readable var _n_label
: nullable ALabel = null
724 readable var _n_kwloop
: TKwloop
725 readable var _n_block
: nullable AExpr = null
726 readable var _n_label
: nullable ALabel = null
730 readable var _n_kwfor
: TKwfor
731 readable var _n_ids
: List[TId] = new List[TId]
732 readable var _n_expr
: AExpr
733 readable var _n_kwdo
: TKwdo
734 readable var _n_block
: nullable AExpr = null
735 readable var _n_label
: nullable ALabel = null
739 readable var _n_kwassert
: TKwassert
740 readable var _n_id
: nullable TId = null
741 readable var _n_expr
: AExpr
742 readable var _n_else
: nullable AExpr = null
746 readable var _n_kwonce
: TKwonce
747 readable var _n_expr
: AExpr
751 readable var _n_expr
: AExpr
755 readable var _n_expr
: AExpr
756 readable var _n_expr2
: AExpr
760 readable var _n_expr
: AExpr
761 readable var _n_expr2
: AExpr
765 readable var _n_expr
: AExpr
766 readable var _n_expr2
: AExpr
770 readable var _n_expr
: AExpr
771 readable var _n_expr2
: AExpr
775 readable var _n_kwnot
: TKwnot
776 readable var _n_expr
: AExpr
780 readable var _n_expr
: AExpr
781 readable var _n_expr2
: AExpr
785 readable var _n_expr
: AExpr
786 readable var _n_expr2
: AExpr
790 readable var _n_expr
: AExpr
791 readable var _n_expr2
: AExpr
795 readable var _n_expr
: AExpr
796 readable var _n_expr2
: AExpr
800 readable var _n_expr
: AExpr
801 readable var _n_expr2
: AExpr
805 readable var _n_expr
: AExpr
806 readable var _n_expr2
: AExpr
810 readable var _n_expr
: AExpr
811 readable var _n_expr2
: AExpr
815 readable var _n_expr
: AExpr
816 readable var _n_expr2
: AExpr
820 readable var _n_expr
: AExpr
821 readable var _n_expr2
: AExpr
825 readable var _n_expr
: AExpr
826 readable var _n_type
: AType
830 readable var _n_expr
: AExpr
831 readable var _n_expr2
: AExpr
835 readable var _n_expr
: AExpr
836 readable var _n_expr2
: AExpr
840 readable var _n_expr
: AExpr
841 readable var _n_expr2
: AExpr
845 readable var _n_expr
: AExpr
846 readable var _n_expr2
: AExpr
850 readable var _n_expr
: AExpr
851 readable var _n_expr2
: AExpr
855 readable var _n_expr
: AExpr
856 readable var _n_expr2
: AExpr
860 readable var _n_minus
: TMinus
861 readable var _n_expr
: AExpr
865 readable var _n_kwnew
: TKwnew
866 readable var _n_type
: AType
867 readable var _n_id
: nullable TId = null
868 readable var _n_args
: AExprs
872 readable var _n_expr
: AExpr
873 readable var _n_id
: TAttrid
875 class AAttrAssignExpr
877 readable var _n_expr
: AExpr
878 readable var _n_id
: TAttrid
879 readable var _n_assign
: TAssign
880 readable var _n_value
: AExpr
882 class AAttrReassignExpr
884 readable var _n_expr
: AExpr
885 readable var _n_id
: TAttrid
886 readable var _n_assign_op
: AAssignOp
887 readable var _n_value
: AExpr
891 readable var _n_expr
: AExpr
892 readable var _n_id
: TId
893 readable var _n_args
: AExprs
894 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
896 class ACallAssignExpr
898 readable var _n_expr
: AExpr
899 readable var _n_id
: TId
900 readable var _n_args
: AExprs
901 readable var _n_assign
: TAssign
902 readable var _n_value
: AExpr
904 class ACallReassignExpr
906 readable var _n_expr
: AExpr
907 readable var _n_id
: TId
908 readable var _n_args
: AExprs
909 readable var _n_assign_op
: AAssignOp
910 readable var _n_value
: AExpr
914 readable var _n_qualified
: nullable AQualified = null
915 readable var _n_kwsuper
: TKwsuper
916 readable var _n_args
: AExprs
920 readable var _n_expr
: AExpr
921 readable var _n_kwinit
: TKwinit
922 readable var _n_args
: AExprs
926 readable var _n_expr
: AExpr
927 readable var _n_args
: AExprs
928 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
932 readable var _n_expr
: AExpr
933 readable var _n_args
: AExprs
934 readable var _n_assign
: TAssign
935 readable var _n_value
: AExpr
937 class ABraReassignExpr
939 readable var _n_expr
: AExpr
940 readable var _n_args
: AExprs
941 readable var _n_assign_op
: AAssignOp
942 readable var _n_value
: AExpr
944 class AClosureCallExpr
946 readable var _n_id
: TId
947 readable var _n_args
: AExprs
948 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
952 readable var _n_id
: TId
956 readable var _n_id
: TId
957 readable var _n_assign
: TAssign
958 readable var _n_value
: AExpr
960 class AVarReassignExpr
962 readable var _n_id
: TId
963 readable var _n_assign_op
: AAssignOp
964 readable var _n_value
: AExpr
968 readable var _n_expr
: AExpr
969 readable var _n_expr2
: AExpr
973 readable var _n_obra
: TObra
974 readable var _n_expr
: AExpr
975 readable var _n_expr2
: AExpr
976 readable var _n_cbra
: TCbra
980 readable var _n_obra
: TObra
981 readable var _n_expr
: AExpr
982 readable var _n_expr2
: AExpr
983 readable var _n_cbra
: TObra
987 readable var _n_exprs
: AExprs
991 readable var _n_kwself
: TKwself
993 class AImplicitSelfExpr
998 readable var _n_kwtrue
: TKwtrue
1002 readable var _n_kwfalse
: TKwfalse
1006 readable var _n_kwnull
: TKwnull
1010 readable var _n_number
: TNumber
1014 readable var _n_float
: TFloat
1018 readable var _n_char
: TChar
1022 readable var _n_string
: TString
1024 class AStartStringExpr
1026 readable var _n_string
: TStartString
1028 class AMidStringExpr
1030 readable var _n_string
: TMidString
1032 class AEndStringExpr
1034 readable var _n_string
: TEndString
1036 class ASuperstringExpr
1038 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1042 readable var _n_opar
: TOpar
1043 readable var _n_expr
: AExpr
1044 readable var _n_cpar
: TCpar
1048 readable var _n_expr
: AExpr
1049 readable var _n_kwas
: TKwas
1050 readable var _n_opar
: TOpar
1051 readable var _n_type
: AType
1052 readable var _n_cpar
: TCpar
1054 class AAsNotnullExpr
1056 readable var _n_expr
: AExpr
1057 readable var _n_kwas
: TKwas
1058 readable var _n_opar
: TOpar
1059 readable var _n_kwnot
: TKwnot
1060 readable var _n_kwnull
: TKwnull
1061 readable var _n_cpar
: TCpar
1063 class AIssetAttrExpr
1065 readable var _n_kwisset
: TKwisset
1066 readable var _n_expr
: AExpr
1067 readable var _n_id
: TAttrid
1069 class ADebugTypeExpr
1071 readable var _n_kwdebug
: TKwdebug
1072 readable var _n_kwtype
: TKwtype
1073 readable var _n_expr
: AExpr
1074 readable var _n_type
: AType
1078 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1082 readable var _n_opar
: TOpar
1083 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1084 readable var _n_cpar
: TCpar
1088 readable var _n_obra
: TObra
1089 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1090 readable var _n_cbra
: TCbra
1094 readable var _n_pluseq
: TPluseq
1096 class AMinusAssignOp
1098 readable var _n_minuseq
: TMinuseq
1102 readable var _n_bang
: TBang
1103 readable var _n_id
: AClosureId
1104 readable var _n_ids
: List[TId] = new List[TId]
1105 readable var _n_kwdo
: nullable TKwdo = null
1106 readable var _n_expr
: nullable AExpr = null
1107 readable var _n_label
: nullable ALabel = null
1109 class ASimpleClosureId
1111 readable var _n_id
: TId
1113 class ABreakClosureId
1115 readable var _n_kwbreak
: TKwbreak
1119 readable var _n_quad
: nullable TQuad = null
1120 readable var _n_path
: List[TId] = new List[TId]
1121 readable var _n_id
: TId
1125 readable var _n_kwimport
: TKwimport
1126 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1131 class ASuperExternCall
1133 readable var _n_kwsuper
: TKwsuper
1135 class ALocalPropExternCall
1137 readable var _n_methid
: AMethid
1139 class AFullPropExternCall
1141 readable var _n_classid
: TClassid
1142 readable var _n_quad
: nullable TQuad = null
1143 readable var _n_methid
: AMethid
1145 class AInitPropExternCall
1147 readable var _n_classid
: TClassid
1149 class ACastAsExternCall
1151 readable var _n_from_type
: AType
1152 readable var _n_kwas
: TKwas
1153 readable var _n_to_type
: AType
1155 class AAsNullableExternCall
1157 readable var _n_type
: AType
1158 readable var _n_kwas
: TKwas
1159 readable var _n_kwnullable
: TKwnullable
1161 class AAsNotNullableExternCall
1163 readable var _n_type
: AType
1164 readable var _n_kwas
: TKwas
1165 readable var _n_kwnot
: TKwnot
1166 readable var _n_kwnullable
: TKwnullable
1170 readable var _n_kwin
: TKwin
1171 readable var _n_string
: TString
1173 class AExternCodeBlock
1174 super AExternCodeBlock
1175 readable var _n_in_language
: nullable AInLanguage = null
1176 readable var _n_extern_code_segment
: TExternCodeSegment
1180 readable var _n_id
: List[TId] = new List[TId]
1181 readable var _n_classid
: nullable TClassid = null
1185 readable var _n_comment
: List[TComment] = new List[TComment]
1190 readable var _n_base
: nullable AModule
1191 readable var _n_eof
: EOF
1193 n_base
: nullable AModule,