# Raw AST node hierarchy. # This file was generated by SableCC (http://www.sablecc.org/). package parser_nodes # Root of the AST hierarchy abstract class PNode end # Ancestor of all tokens abstract class Token special PNode end # Ancestor of all productions abstract class Prod special PNode end class TEol special Token end class TComment special Token end class TKwpackage special Token end class TKwimport special Token end class TKwclass special Token end class TKwabstract special Token end class TKwinterface special Token end class TKwuniversal special Token end class TKwspecial special Token end class TKwend special Token end class TKwmeth special Token end class TKwtype special Token end class TKwattr special Token end class TKwinit special Token end class TKwredef special Token end class TKwis special Token end class TKwdo special Token end class TKwreadable special Token end class TKwwritable special Token end class TKwvar special Token end class TKwintern special Token end class TKwextern special Token end class TKwprotected special Token end class TKwprivate special Token end class TKwintrude special Token end class TKwif special Token end class TKwthen special Token end class TKwelse special Token end class TKwwhile special Token end class TKwfor special Token end class TKwin special Token end class TKwand special Token end class TKwor special Token end class TKwnot special Token end class TKwreturn special Token end class TKwcontinue special Token end class TKwbreak special Token end class TKwabort special Token end class TKwassert special Token end class TKwnew special Token end class TKwisa special Token end class TKwonce special Token end class TKwsuper special Token end class TKwself special Token end class TKwtrue special Token end class TKwfalse special Token end class TKwnull special Token end class TKwas special Token end class TKwwith special Token end class TKwnullable special Token end class TKwisset special Token end class TOpar special Token end class TCpar special Token end class TObra special Token end class TCbra special Token end class TComma special Token end class TColumn special Token end class TQuad special Token end class TAssign special Token end class TPluseq special Token end class TMinuseq special Token end class TDotdotdot special Token end class TDotdot special Token end class TDot special Token end class TPlus special Token end class TMinus special Token end class TStar special Token end class TSlash special Token end class TPercent special Token end class TEq special Token end class TNe special Token end class TLt special Token end class TLe special Token end class TGt special Token end class TGe special Token end class TStarship special Token end class TClassid special Token end class TId special Token end class TAttrid special Token end class TNumber special Token end class TFloat special Token end class TChar special Token end class TString special Token end class TStartString special Token end class TMidString special Token end class TEndString special Token end class EOF special Token private init noinit do end end class PError special EOF private init noinit do end end class PModule special Prod end class PPackagedecl special Prod end class PImport special Prod end class PVisibility special Prod end class PClassdef special Prod end class PClasskind special Prod end class PFormaldef special Prod end class PSuperclass special Prod end class PPropdef special Prod readable writable var _n_doc: nullable PDoc = null end class PAble special Prod readable writable var _n_kwredef: nullable TKwredef = null end class PMethid special Prod end class PSignature special Prod end class PParam special Prod readable writable var _n_id: TId readable writable var _n_type: nullable PType = null end class PClosureDecl special Prod end class PType special Prod end class PExpr special Prod end class PAssignOp special Prod end class PClosureDef special Prod end class PQualified special Prod end class PDoc special Prod end class AModule special PModule readable writable var _n_packagedecl: nullable PPackagedecl = null readable writable var _n_imports: List[PImport] = new List[PImport] readable writable var _n_classdefs: List[PClassdef] = new List[PClassdef] end class APackagedecl special PPackagedecl readable writable var _n_doc: nullable PDoc = null readable writable var _n_kwpackage: TKwpackage readable writable var _n_id: TId end class AImport special PImport readable writable var _n_visibility: PVisibility readable writable var _n_kwimport: TKwimport readable writable var _n_id: TId end class ANoImport special PImport readable writable var _n_visibility: PVisibility readable writable var _n_kwimport: TKwimport readable writable var _n_kwend: TKwend end class APublicVisibility special PVisibility end class APrivateVisibility special PVisibility readable writable var _n_kwprivate: TKwprivate end class AProtectedVisibility special PVisibility readable writable var _n_kwprotected: TKwprotected end class AIntrudeVisibility special PVisibility readable writable var _n_kwintrude: TKwintrude end class AClassdef special PClassdef readable writable var _n_doc: nullable PDoc = null readable writable var _n_kwredef: nullable TKwredef = null readable writable var _n_visibility: PVisibility readable writable var _n_classkind: PClasskind readable writable var _n_id: nullable TClassid = null readable writable var _n_formaldefs: List[PFormaldef] = new List[PFormaldef] readable writable var _n_superclasses: List[PSuperclass] = new List[PSuperclass] readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef] end class ATopClassdef special PClassdef readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef] end class AMainClassdef special PClassdef readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef] end class AConcreteClasskind special PClasskind readable writable var _n_kwclass: TKwclass end class AAbstractClasskind special PClasskind readable writable var _n_kwabstract: TKwabstract readable writable var _n_kwclass: TKwclass end class AInterfaceClasskind special PClasskind readable writable var _n_kwinterface: TKwinterface end class AUniversalClasskind special PClasskind readable writable var _n_kwuniversal: TKwuniversal end class AFormaldef special PFormaldef readable writable var _n_id: TClassid readable writable var _n_type: nullable PType = null end class ASuperclass special PSuperclass readable writable var _n_kwspecial: TKwspecial readable writable var _n_type: PType end class AAttrPropdef special PPropdef readable writable var _n_kwredef: nullable TKwredef = null readable writable var _n_visibility: PVisibility readable writable var _n_kwattr: nullable TKwattr = null readable writable var _n_kwvar: nullable TKwvar = null readable writable var _n_id: TAttrid readable writable var _n_type: nullable PType = null readable writable var _n_readable: nullable PAble = null readable writable var _n_writable: nullable PAble = null readable writable var _n_expr: nullable PExpr = null end class AMethPropdef special PPropdef readable writable var _n_kwredef: nullable TKwredef = null readable writable var _n_visibility: nullable PVisibility readable writable var _n_methid: nullable PMethid = null readable writable var _n_signature: nullable PSignature end class ADeferredMethPropdef special AMethPropdef readable writable var _n_kwmeth: TKwmeth end class AInternMethPropdef special AMethPropdef readable writable var _n_kwmeth: TKwmeth end class AExternMethPropdef special AMethPropdef readable writable var _n_kwmeth: TKwmeth readable writable var _n_extern: nullable TString = null end class AConcreteMethPropdef special AMethPropdef readable writable var _n_kwmeth: nullable TKwmeth readable writable var _n_block: nullable PExpr = null end class AConcreteInitPropdef special AConcreteMethPropdef readable writable var _n_kwinit: TKwinit end class AMainMethPropdef special AConcreteMethPropdef end class ATypePropdef special PPropdef readable writable var _n_kwredef: nullable TKwredef = null readable writable var _n_visibility: PVisibility readable writable var _n_kwtype: TKwtype readable writable var _n_id: TClassid readable writable var _n_type: PType end class AReadAble special PAble readable writable var _n_kwreadable: TKwreadable end class AWriteAble special PAble readable writable var _n_kwwritable: TKwwritable end class AIdMethid special PMethid readable writable var _n_id: TId end class APlusMethid special PMethid readable writable var _n_plus: TPlus end class AMinusMethid special PMethid readable writable var _n_minus: TMinus end class AStarMethid special PMethid readable writable var _n_star: TStar end class ASlashMethid special PMethid readable writable var _n_slash: TSlash end class APercentMethid special PMethid readable writable var _n_percent: TPercent end class AEqMethid special PMethid readable writable var _n_eq: TEq end class ANeMethid special PMethid readable writable var _n_ne: TNe end class ALeMethid special PMethid readable writable var _n_le: TLe end class AGeMethid special PMethid readable writable var _n_ge: TGe end class ALtMethid special PMethid readable writable var _n_lt: TLt end class AGtMethid special PMethid readable writable var _n_gt: TGt end class ABraMethid special PMethid readable writable var _n_obra: TObra readable writable var _n_cbra: TCbra end class AStarshipMethid special PMethid readable writable var _n_starship: TStarship end class AAssignMethid special PMethid readable writable var _n_id: TId readable writable var _n_assign: TAssign end class ABraassignMethid special PMethid readable writable var _n_obra: TObra readable writable var _n_cbra: TCbra readable writable var _n_assign: TAssign end class ASignature special PSignature readable writable var _n_params: List[PParam] = new List[PParam] readable writable var _n_type: nullable PType = null readable writable var _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl] end class AParam special PParam readable writable var _n_dotdotdot: nullable TDotdotdot = null end class AClosureDecl special PClosureDecl readable writable var _n_kwwith: TKwwith readable writable var _n_kwbreak: nullable TKwbreak = null readable writable var _n_id: TId readable writable var _n_signature: PSignature readable writable var _n_expr: nullable PExpr = null end class AType special PType readable writable var _n_kwnullable: nullable TKwnullable = null readable writable var _n_id: TClassid readable writable var _n_types: List[PType] = new List[PType] end class ABlockExpr special PExpr readable writable var _n_expr: List[PExpr] = new List[PExpr] end class AVardeclExpr special PExpr readable writable var _n_kwvar: TKwvar readable writable var _n_id: TId readable writable var _n_type: nullable PType = null readable writable var _n_assign: nullable TAssign = null readable writable var _n_expr: nullable PExpr = null end class AReturnExpr special PExpr readable writable var _n_kwreturn: TKwreturn readable writable var _n_expr: nullable PExpr = null end class ABreakExpr special PExpr readable writable var _n_kwbreak: TKwbreak readable writable var _n_expr: nullable PExpr = null end class AAbortExpr special PExpr readable writable var _n_kwabort: TKwabort end class AContinueExpr special PExpr readable writable var _n_kwcontinue: TKwcontinue readable writable var _n_expr: nullable PExpr = null end class ADoExpr special PExpr readable writable var _n_kwdo: TKwdo readable writable var _n_block: nullable PExpr = null end class AIfExpr special PExpr readable writable var _n_kwif: TKwif readable writable var _n_expr: PExpr readable writable var _n_then: nullable PExpr = null readable writable var _n_else: nullable PExpr = null end class AIfexprExpr special PExpr readable writable var _n_kwif: TKwif readable writable var _n_expr: PExpr readable writable var _n_kwthen: TKwthen readable writable var _n_then: PExpr readable writable var _n_kwelse: TKwelse readable writable var _n_else: PExpr end class AWhileExpr special PExpr readable writable var _n_kwwhile: TKwwhile readable writable var _n_expr: PExpr readable writable var _n_kwdo: TKwdo readable writable var _n_block: nullable PExpr = null end class AForExpr special PExpr readable writable var _n_kwfor: TKwfor readable writable var _n_id: TId readable writable var _n_expr: PExpr readable writable var _n_kwdo: TKwdo readable writable var _n_block: nullable PExpr = null end class AAssertExpr special PExpr readable writable var _n_kwassert: TKwassert readable writable var _n_id: nullable TId = null readable writable var _n_expr: PExpr end class AAssignFormExpr special PExpr readable writable var _n_assign: TAssign readable writable var _n_value: PExpr end class AReassignFormExpr special PExpr readable writable var _n_assign_op: PAssignOp readable writable var _n_value: PExpr end class AOnceExpr special AProxyExpr readable writable var _n_kwonce: TKwonce end class ASendExpr special PExpr readable writable var _n_expr: PExpr readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class ABinopExpr special ASendExpr readable writable var _n_expr2: PExpr end class ABoolExpr special PExpr end class AOrExpr special ABoolExpr readable writable var _n_expr: PExpr readable writable var _n_expr2: PExpr end class AAndExpr special ABoolExpr readable writable var _n_expr: PExpr readable writable var _n_expr2: PExpr end class ANotExpr special ABoolExpr readable writable var _n_kwnot: TKwnot readable writable var _n_expr: PExpr end class AEqExpr special ABinopExpr end class AEeExpr special ABoolExpr readable writable var _n_expr: PExpr readable writable var _n_expr2: PExpr end class ANeExpr special ABinopExpr end class ALtExpr special ABinopExpr end class ALeExpr special ABinopExpr end class AGtExpr special ABinopExpr end class AGeExpr special ABinopExpr end class AIsaExpr special ABoolExpr readable writable var _n_expr: PExpr readable writable var _n_type: PType end class APlusExpr special ABinopExpr end class AMinusExpr special ABinopExpr end class AStarshipExpr special ABinopExpr end class AStarExpr special ABinopExpr end class ASlashExpr special ABinopExpr end class APercentExpr special ABinopExpr end class AUminusExpr special ASendExpr readable writable var _n_minus: TMinus end class ANewExpr special PExpr readable writable var _n_kwnew: TKwnew readable writable var _n_type: PType readable writable var _n_id: nullable TId = null readable writable var _n_args: List[PExpr] = new List[PExpr] end class AAttrFormExpr special PExpr readable writable var _n_expr: PExpr readable writable var _n_id: TAttrid end class AAttrExpr special AAttrFormExpr end class AAttrAssignExpr special AAttrFormExpr special AAssignFormExpr end class ACallFormExpr special ASendExpr readable writable var _n_id: TId readable writable var _n_args: List[PExpr] = new List[PExpr] end class AAttrReassignExpr special PExpr special AAttrFormExpr special AReassignFormExpr end class ACallExpr special ACallFormExpr end class ACallAssignExpr special ACallFormExpr special AAssignFormExpr end class ACallReassignExpr special PExpr special ACallFormExpr special AReassignFormExpr end class ASuperExpr special PExpr readable writable var _n_qualified: nullable PQualified = null readable writable var _n_kwsuper: TKwsuper readable writable var _n_args: List[PExpr] = new List[PExpr] end class AInitExpr special ASendExpr readable writable var _n_kwinit: TKwinit readable writable var _n_args: List[PExpr] = new List[PExpr] end class ABraFormExpr special ASendExpr readable writable var _n_args: List[PExpr] = new List[PExpr] end class ABraExpr special ABraFormExpr end class ABraAssignExpr special ABraFormExpr special AAssignFormExpr end class AVarFormExpr special PExpr readable writable var _n_id: TId end class ABraReassignExpr special ABraFormExpr special AReassignFormExpr end class AClosureCallExpr special PExpr readable writable var _n_id: TId readable writable var _n_args: List[PExpr] = new List[PExpr] readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class AVarExpr special AVarFormExpr end class AVarAssignExpr special AVarFormExpr special AAssignFormExpr end class AVarReassignExpr special AVarFormExpr special AReassignFormExpr end class ARangeExpr special PExpr readable writable var _n_expr: PExpr readable writable var _n_expr2: PExpr end class ACrangeExpr special ARangeExpr end class AOrangeExpr special ARangeExpr end class AArrayExpr special PExpr readable writable var _n_exprs: List[PExpr] = new List[PExpr] end class ASelfExpr special PExpr readable writable var _n_kwself: nullable TKwself end class AImplicitSelfExpr special ASelfExpr end class ATrueExpr special ABoolExpr readable writable var _n_kwtrue: TKwtrue end class AFalseExpr special ABoolExpr readable writable var _n_kwfalse: TKwfalse end class ANullExpr special PExpr readable writable var _n_kwnull: TKwnull end class AIntExpr special PExpr readable writable var _n_number: TNumber end class AFloatExpr special PExpr readable writable var _n_float: TFloat end class ACharExpr special PExpr readable writable var _n_char: TChar end class AStringFormExpr special PExpr end class AStringExpr special AStringFormExpr readable writable var _n_string: TString end class AStartStringExpr special AStringFormExpr readable writable var _n_string: TStartString end class AMidStringExpr special AStringFormExpr readable writable var _n_string: TMidString end class AEndStringExpr special AStringFormExpr readable writable var _n_string: TEndString end class ASuperstringExpr special PExpr readable writable var _n_exprs: List[PExpr] = new List[PExpr] end class AParExpr special AProxyExpr end class AProxyExpr special PExpr readable writable var _n_expr: PExpr end class AAsCastExpr special PExpr readable writable var _n_expr: PExpr readable writable var _n_kwas: TKwas readable writable var _n_type: PType end class AAsNotnullExpr special PExpr readable writable var _n_expr: PExpr readable writable var _n_kwas: TKwas readable writable var _n_kwnot: TKwnot readable writable var _n_kwnull: TKwnull end class AIssetAttrExpr special AAttrFormExpr readable writable var _n_kwisset: TKwisset end class APlusAssignOp special PAssignOp readable writable var _n_pluseq: TPluseq end class AMinusAssignOp special PAssignOp readable writable var _n_minuseq: TMinuseq end class AClosureDef special PClosureDef readable writable var _n_kwwith: TKwwith readable writable var _n_id: List[TId] = new List[TId] readable writable var _n_kwdo: TKwdo readable writable var _n_expr: nullable PExpr = null end class AQualified special PQualified readable writable var _n_id: List[TId] = new List[TId] readable writable var _n_classid: nullable TClassid = null end class ADoc special PDoc readable writable var _n_comment: List[TComment] = new List[TComment] end class Start special Prod readable writable var _n_base: nullable PModule readable writable var _n_eof: EOF end