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
289 private init noinit
do end
293 private init noinit
do end
296 class AModule special Prod end
297 class APackagedecl special Prod end
298 class AImport special Prod end
299 class AVisibility special Prod end
300 class AClassdef special Prod end
301 class AClasskind special Prod end
302 class AFormaldef special Prod end
303 class ASuperclass special Prod end
304 class APropdef special Prod end
305 class AAble special Prod end
306 class AMethid special Prod end
307 class ASignature special Prod end
308 class AParam special Prod end
309 class AClosureDecl special Prod end
310 class AType special Prod end
311 class ALabel special Prod end
312 class AExpr special Prod end
313 class AAssignOp special Prod end
314 class AClosureDef special Prod end
315 class AClosureId special Prod end
316 class AQualified special Prod end
317 class ADoc special Prod end
321 readable writable var _n_packagedecl
: nullable APackagedecl = null
322 readable writable var _n_imports
: List[AImport] = new List[AImport]
323 readable writable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
327 readable writable var _n_doc
: nullable ADoc = null
328 readable writable var _n_kwpackage
: TKwpackage
329 readable writable var _n_id
: TId
333 readable writable var _n_visibility
: AVisibility
334 readable writable var _n_kwimport
: TKwimport
335 readable writable var _n_id
: TId
339 readable writable var _n_visibility
: AVisibility
340 readable writable var _n_kwimport
: TKwimport
341 readable writable var _n_kwend
: TKwend
343 class APublicVisibility
346 class APrivateVisibility
348 readable writable var _n_kwprivate
: TKwprivate
350 class AProtectedVisibility
352 readable writable var _n_kwprotected
: TKwprotected
354 class AIntrudeVisibility
356 readable writable var _n_kwintrude
: TKwintrude
360 readable writable var _n_doc
: nullable ADoc = null
361 readable writable var _n_kwredef
: nullable TKwredef = null
362 readable writable var _n_visibility
: AVisibility
363 readable writable var _n_classkind
: AClasskind
364 readable writable var _n_id
: nullable TClassid = null
365 readable writable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
366 readable writable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
367 readable writable var _n_propdefs
: List[APropdef] = new List[APropdef]
371 readable writable var _n_propdefs
: List[APropdef] = new List[APropdef]
375 readable writable var _n_propdefs
: List[APropdef] = new List[APropdef]
377 class AConcreteClasskind
379 readable writable var _n_kwclass
: TKwclass
381 class AAbstractClasskind
383 readable writable var _n_kwabstract
: TKwabstract
384 readable writable var _n_kwclass
: TKwclass
386 class AInterfaceClasskind
388 readable writable var _n_kwinterface
: TKwinterface
390 class AUniversalClasskind
392 readable writable var _n_kwuniversal
: TKwuniversal
396 readable writable var _n_id
: TClassid
397 readable writable var _n_type
: nullable AType = null
401 readable writable var _n_kwspecial
: TKwspecial
402 readable writable var _n_type
: AType
406 readable writable var _n_doc
: nullable ADoc = null
407 readable writable var _n_readable
: nullable AAble = null
408 readable writable var _n_writable
: nullable AAble = null
409 readable writable var _n_kwredef
: nullable TKwredef = null
410 readable writable var _n_visibility
: AVisibility
411 readable writable var _n_kwvar
: TKwvar
412 readable writable var _n_id
: TAttrid
413 readable writable var _n_type
: nullable AType = null
414 readable writable var _n_expr
: nullable AExpr = null
418 readable writable var _n_doc
: nullable ADoc = null
419 readable writable var _n_kwredef
: nullable TKwredef = null
420 readable writable var _n_visibility
: AVisibility
421 readable writable var _n_methid
: AMethid
422 readable writable var _n_signature
: ASignature
424 class ADeferredMethPropdef
426 readable writable var _n_doc
: nullable ADoc = null
427 readable writable var _n_kwredef
: nullable TKwredef = null
428 readable writable var _n_visibility
: AVisibility
429 readable writable var _n_kwmeth
: TKwmeth
430 readable writable var _n_methid
: AMethid
431 readable writable var _n_signature
: ASignature
433 class AInternMethPropdef
435 readable writable var _n_doc
: nullable ADoc = null
436 readable writable var _n_kwredef
: nullable TKwredef = null
437 readable writable var _n_visibility
: AVisibility
438 readable writable var _n_kwmeth
: TKwmeth
439 readable writable var _n_methid
: AMethid
440 readable writable var _n_signature
: ASignature
442 class AExternMethPropdef
444 readable writable var _n_doc
: nullable ADoc = null
445 readable writable var _n_kwredef
: nullable TKwredef = null
446 readable writable var _n_visibility
: AVisibility
447 readable writable var _n_kwmeth
: TKwmeth
448 readable writable var _n_methid
: AMethid
449 readable writable var _n_signature
: ASignature
450 readable writable var _n_extern
: nullable TString = null
452 class AConcreteMethPropdef
454 readable writable var _n_doc
: nullable ADoc = null
455 readable writable var _n_kwredef
: nullable TKwredef = null
456 readable writable var _n_visibility
: AVisibility
457 readable writable var _n_kwmeth
: TKwmeth
458 readable writable var _n_methid
: AMethid
459 readable writable var _n_signature
: ASignature
460 readable writable var _n_block
: nullable AExpr = null
462 class AConcreteInitPropdef
464 readable writable var _n_doc
: nullable ADoc = null
465 readable writable var _n_kwredef
: nullable TKwredef = null
466 readable writable var _n_visibility
: AVisibility
467 readable writable var _n_kwinit
: TKwinit
468 readable writable var _n_methid
: nullable AMethid = null
469 readable writable var _n_signature
: ASignature
470 readable writable var _n_block
: nullable AExpr = null
472 class AMainMethPropdef
474 readable writable var _n_kwredef
: nullable TKwredef = null
475 readable writable var _n_block
: nullable AExpr = null
479 readable writable var _n_doc
: nullable ADoc = null
480 readable writable var _n_kwredef
: nullable TKwredef = null
481 readable writable var _n_visibility
: AVisibility
482 readable writable var _n_kwtype
: TKwtype
483 readable writable var _n_id
: TClassid
484 readable writable var _n_type
: AType
488 readable writable var _n_kwredef
: nullable TKwredef = null
489 readable writable var _n_kwreadable
: TKwreadable
493 readable writable var _n_kwredef
: nullable TKwredef = null
494 readable writable var _n_kwwritable
: TKwwritable
498 readable writable var _n_id
: TId
502 readable writable var _n_plus
: TPlus
506 readable writable var _n_minus
: TMinus
510 readable writable var _n_star
: TStar
514 readable writable var _n_slash
: TSlash
518 readable writable var _n_percent
: TPercent
522 readable writable var _n_eq
: TEq
526 readable writable var _n_ne
: TNe
530 readable writable var _n_le
: TLe
534 readable writable var _n_ge
: TGe
538 readable writable var _n_lt
: TLt
542 readable writable var _n_gt
: TGt
546 readable writable var _n_obra
: TObra
547 readable writable var _n_cbra
: TCbra
549 class AStarshipMethid
551 readable writable var _n_starship
: TStarship
555 readable writable var _n_id
: TId
556 readable writable var _n_assign
: TAssign
558 class ABraassignMethid
560 readable writable var _n_obra
: TObra
561 readable writable var _n_cbra
: TCbra
562 readable writable var _n_assign
: TAssign
566 readable writable var _n_params
: List[AParam] = new List[AParam]
567 readable writable var _n_type
: nullable AType = null
568 readable writable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
572 readable writable var _n_id
: TId
573 readable writable var _n_type
: nullable AType = null
574 readable writable var _n_dotdotdot
: nullable TDotdotdot = null
578 readable writable var _n_kwbreak
: nullable TKwbreak = null
579 readable writable var _n_bang
: TBang
580 readable writable var _n_id
: TId
581 readable writable var _n_signature
: ASignature
582 readable writable var _n_expr
: nullable AExpr = null
586 readable writable var _n_kwnullable
: nullable TKwnullable = null
587 readable writable var _n_id
: TClassid
588 readable writable var _n_types
: List[AType] = new List[AType]
592 readable writable var _n_kwlabel
: TKwlabel
593 readable writable var _n_id
: TId
597 readable writable var _n_expr
: List[AExpr] = new List[AExpr]
601 readable writable var _n_kwvar
: TKwvar
602 readable writable var _n_id
: TId
603 readable writable var _n_type
: nullable AType = null
604 readable writable var _n_assign
: nullable TAssign = null
605 readable writable var _n_expr
: nullable AExpr = null
609 readable writable var _n_kwreturn
: nullable TKwreturn = null
610 readable writable var _n_expr
: nullable AExpr = null
614 readable writable var _n_kwbreak
: TKwbreak
615 readable writable var _n_label
: nullable ALabel = null
616 readable writable var _n_expr
: nullable AExpr = null
620 readable writable var _n_kwabort
: TKwabort
624 readable writable var _n_kwcontinue
: nullable TKwcontinue = null
625 readable writable var _n_label
: nullable ALabel = null
626 readable writable var _n_expr
: nullable AExpr = null
630 readable writable var _n_kwdo
: TKwdo
631 readable writable var _n_block
: nullable AExpr = null
632 readable writable var _n_label
: nullable ALabel = null
636 readable writable var _n_kwif
: TKwif
637 readable writable var _n_expr
: AExpr
638 readable writable var _n_then
: nullable AExpr = null
639 readable writable var _n_else
: nullable AExpr = null
643 readable writable var _n_kwif
: TKwif
644 readable writable var _n_expr
: AExpr
645 readable writable var _n_kwthen
: TKwthen
646 readable writable var _n_then
: AExpr
647 readable writable var _n_kwelse
: TKwelse
648 readable writable var _n_else
: AExpr
652 readable writable var _n_kwwhile
: TKwwhile
653 readable writable var _n_expr
: AExpr
654 readable writable var _n_kwdo
: TKwdo
655 readable writable var _n_block
: nullable AExpr = null
656 readable writable var _n_label
: nullable ALabel = null
660 readable writable var _n_kwloop
: TKwloop
661 readable writable var _n_block
: nullable AExpr = null
662 readable writable var _n_label
: nullable ALabel = null
666 readable writable var _n_kwfor
: TKwfor
667 readable writable var _n_id
: TId
668 readable writable var _n_expr
: AExpr
669 readable writable var _n_kwdo
: TKwdo
670 readable writable var _n_block
: nullable AExpr = null
671 readable writable var _n_label
: nullable ALabel = null
675 readable writable var _n_kwassert
: TKwassert
676 readable writable var _n_id
: nullable TId = null
677 readable writable var _n_expr
: AExpr
678 readable writable var _n_else
: nullable AExpr = null
682 readable writable var _n_kwonce
: TKwonce
683 readable writable var _n_expr
: AExpr
687 readable writable var _n_expr
: AExpr
691 readable writable var _n_expr
: AExpr
692 readable writable var _n_expr2
: AExpr
696 readable writable var _n_expr
: AExpr
697 readable writable var _n_expr2
: AExpr
701 readable writable var _n_expr
: AExpr
702 readable writable var _n_expr2
: AExpr
706 readable writable var _n_kwnot
: TKwnot
707 readable writable var _n_expr
: AExpr
711 readable writable var _n_expr
: AExpr
712 readable writable var _n_expr2
: AExpr
716 readable writable var _n_expr
: AExpr
717 readable writable var _n_expr2
: AExpr
721 readable writable var _n_expr
: AExpr
722 readable writable var _n_expr2
: AExpr
726 readable writable var _n_expr
: AExpr
727 readable writable var _n_expr2
: AExpr
731 readable writable var _n_expr
: AExpr
732 readable writable var _n_expr2
: AExpr
736 readable writable var _n_expr
: AExpr
737 readable writable var _n_expr2
: AExpr
741 readable writable var _n_expr
: AExpr
742 readable writable var _n_expr2
: AExpr
746 readable writable var _n_expr
: AExpr
747 readable writable var _n_type
: AType
751 readable writable var _n_expr
: AExpr
752 readable writable var _n_expr2
: AExpr
756 readable writable var _n_expr
: AExpr
757 readable writable var _n_expr2
: AExpr
761 readable writable var _n_expr
: AExpr
762 readable writable var _n_expr2
: AExpr
766 readable writable var _n_expr
: AExpr
767 readable writable var _n_expr2
: AExpr
771 readable writable var _n_expr
: AExpr
772 readable writable var _n_expr2
: AExpr
776 readable writable var _n_expr
: AExpr
777 readable writable var _n_expr2
: AExpr
781 readable writable var _n_minus
: TMinus
782 readable writable var _n_expr
: AExpr
786 readable writable var _n_kwnew
: TKwnew
787 readable writable var _n_type
: AType
788 readable writable var _n_id
: nullable TId = null
789 readable writable var _n_args
: List[AExpr] = new List[AExpr]
793 readable writable var _n_expr
: AExpr
794 readable writable var _n_id
: TAttrid
796 class AAttrAssignExpr
798 readable writable var _n_expr
: AExpr
799 readable writable var _n_id
: TAttrid
800 readable writable var _n_assign
: TAssign
801 readable writable var _n_value
: AExpr
803 class AAttrReassignExpr
805 readable writable var _n_expr
: AExpr
806 readable writable var _n_id
: TAttrid
807 readable writable var _n_assign_op
: AAssignOp
808 readable writable var _n_value
: AExpr
812 readable writable var _n_expr
: AExpr
813 readable writable var _n_id
: TId
814 readable writable var _n_args
: List[AExpr] = new List[AExpr]
815 readable writable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
817 class ACallAssignExpr
819 readable writable var _n_expr
: AExpr
820 readable writable var _n_id
: TId
821 readable writable var _n_args
: List[AExpr] = new List[AExpr]
822 readable writable var _n_assign
: TAssign
823 readable writable var _n_value
: AExpr
825 class ACallReassignExpr
827 readable writable var _n_expr
: AExpr
828 readable writable var _n_id
: TId
829 readable writable var _n_args
: List[AExpr] = new List[AExpr]
830 readable writable var _n_assign_op
: AAssignOp
831 readable writable var _n_value
: AExpr
835 readable writable var _n_qualified
: nullable AQualified = null
836 readable writable var _n_kwsuper
: TKwsuper
837 readable writable var _n_args
: List[AExpr] = new List[AExpr]
841 readable writable var _n_expr
: AExpr
842 readable writable var _n_kwinit
: TKwinit
843 readable writable var _n_args
: List[AExpr] = new List[AExpr]
847 readable writable var _n_expr
: AExpr
848 readable writable var _n_args
: List[AExpr] = new List[AExpr]
849 readable writable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
853 readable writable var _n_expr
: AExpr
854 readable writable var _n_args
: List[AExpr] = new List[AExpr]
855 readable writable var _n_assign
: TAssign
856 readable writable var _n_value
: AExpr
858 class ABraReassignExpr
860 readable writable var _n_expr
: AExpr
861 readable writable var _n_args
: List[AExpr] = new List[AExpr]
862 readable writable var _n_assign_op
: AAssignOp
863 readable writable var _n_value
: AExpr
865 class AClosureCallExpr
867 readable writable var _n_id
: TId
868 readable writable var _n_args
: List[AExpr] = new List[AExpr]
869 readable writable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
873 readable writable var _n_id
: TId
877 readable writable var _n_id
: TId
878 readable writable var _n_assign
: TAssign
879 readable writable var _n_value
: AExpr
881 class AVarReassignExpr
883 readable writable var _n_id
: TId
884 readable writable var _n_assign_op
: AAssignOp
885 readable writable var _n_value
: AExpr
889 readable writable var _n_expr
: AExpr
890 readable writable var _n_expr2
: AExpr
894 readable writable var _n_expr
: AExpr
895 readable writable var _n_expr2
: AExpr
899 readable writable var _n_expr
: AExpr
900 readable writable var _n_expr2
: AExpr
904 readable writable var _n_exprs
: List[AExpr] = new List[AExpr]
908 readable writable var _n_kwself
: TKwself
910 class AImplicitSelfExpr
915 readable writable var _n_kwtrue
: TKwtrue
919 readable writable var _n_kwfalse
: TKwfalse
923 readable writable var _n_kwnull
: TKwnull
927 readable writable var _n_number
: TNumber
931 readable writable var _n_float
: TFloat
935 readable writable var _n_char
: TChar
939 readable writable var _n_string
: TString
941 class AStartStringExpr
943 readable writable var _n_string
: TStartString
947 readable writable var _n_string
: TMidString
951 readable writable var _n_string
: TEndString
953 class ASuperstringExpr
955 readable writable var _n_exprs
: List[AExpr] = new List[AExpr]
959 readable writable var _n_expr
: AExpr
963 readable writable var _n_expr
: AExpr
964 readable writable var _n_kwas
: TKwas
965 readable writable var _n_type
: AType
969 readable writable var _n_expr
: AExpr
970 readable writable var _n_kwas
: TKwas
971 readable writable var _n_kwnot
: TKwnot
972 readable writable var _n_kwnull
: TKwnull
976 readable writable var _n_kwisset
: TKwisset
977 readable writable var _n_expr
: AExpr
978 readable writable var _n_id
: TAttrid
982 readable writable var _n_pluseq
: TPluseq
986 readable writable var _n_minuseq
: TMinuseq
990 readable writable var _n_bang
: TBang
991 readable writable var _n_id
: AClosureId
992 readable writable var _n_ids
: List[TId] = new List[TId]
993 readable writable var _n_kwdo
: nullable TKwdo = null
994 readable writable var _n_expr
: nullable AExpr = null
995 readable writable var _n_label
: nullable ALabel = null
997 class ASimpleClosureId
999 readable writable var _n_id
: TId
1001 class ABreakClosureId
1003 readable writable var _n_kwbreak
: TKwbreak
1007 readable writable var _n_id
: List[TId] = new List[TId]
1008 readable writable var _n_classid
: nullable TClassid = null
1012 readable writable var _n_comment
: List[TComment] = new List[TComment]
1017 readable writable var _n_base
: nullable AModule
1018 readable writable var _n_eof
: EOF