X-Git-Url: http://nitlanguage.org diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index 95e93fa..977ddd2 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -1,980 +1,1051 @@ # Raw AST node hierarchy. -# This file was generated by SableCC (http://www.sablecc.org/). +# This file was generated by SableCC (http://www.sablecc.org/). package parser_abs +import location + # Root of the AST hierarchy -abstract class PNode +abstract class ANode + var _location: nullable Location + + # Location is set during AST building. Once built, location cannon be null + # However, manual instanciated nodes may need mode care + fun location: Location do return _location.as(not null) end # Ancestor of all tokens abstract class Token -special PNode + super ANode end # Ancestor of all productions abstract class Prod -special PNode + super ANode + fun location=(loc: Location) do _location = loc end class TEol -special Token + super Token end class TComment -special Token + super Token end -class TKwpackage -special Token +class TKwmodule + super Token end class TKwimport -special Token + super Token end class TKwclass -special Token + super Token end class TKwabstract -special Token + super Token end class TKwinterface -special Token + super Token end -class TKwuniversal -special Token +class TKwenum + super Token end class TKwspecial -special Token + super Token end class TKwend -special Token + super Token end class TKwmeth -special Token + super Token end class TKwtype -special Token -end -class TKwattr -special Token + super Token end class TKwinit -special Token + super Token end class TKwredef -special Token + super Token end class TKwis -special Token + super Token end class TKwdo -special Token + super Token end class TKwreadable -special Token + super Token end class TKwwritable -special Token + super Token end class TKwvar -special Token + super Token end class TKwintern -special Token + super Token end class TKwextern -special Token + super Token end class TKwprotected -special Token + super Token end class TKwprivate -special Token + super Token end class TKwintrude -special Token + super Token end class TKwif -special Token + super Token end class TKwthen -special Token + super Token end class TKwelse -special Token + super Token end class TKwwhile -special Token + super Token +end +class TKwloop + super Token end class TKwfor -special Token + super Token end class TKwin -special Token + super Token end class TKwand -special Token + super Token end class TKwor -special Token + super Token end class TKwnot -special Token + super Token end class TKwreturn -special Token + super Token end class TKwcontinue -special Token + super Token end class TKwbreak -special Token + super Token end class TKwabort -special Token + super Token end class TKwassert -special Token + super Token end class TKwnew -special Token + super Token end class TKwisa -special Token + super Token end class TKwonce -special Token + super Token end class TKwsuper -special Token + super Token end class TKwself -special Token + super Token end class TKwtrue -special Token + super Token end class TKwfalse -special Token + super Token end class TKwnull -special Token + super Token end class TKwas -special Token -end -class TKwwith -special Token + super Token end class TKwnullable -special Token + super Token end class TKwisset -special Token + super Token +end +class TKwlabel + super Token end class TOpar -special Token + super Token end class TCpar -special Token + super Token end class TObra -special Token + super Token end class TCbra -special Token + super Token end class TComma -special Token + super Token end class TColumn -special Token + super Token end class TQuad -special Token + super Token end class TAssign -special Token + super Token end class TPluseq -special Token + super Token end class TMinuseq -special Token + super Token end class TDotdotdot -special Token + super Token end class TDotdot -special Token + super Token end class TDot -special Token + super Token end class TPlus -special Token + super Token end class TMinus -special Token + super Token end class TStar -special Token + super Token end class TSlash -special Token + super Token end class TPercent -special Token + super Token end class TEq -special Token + super Token end class TNe -special Token + super Token end class TLt -special Token + super Token end class TLe -special Token + super Token +end +class TLl + super Token end class TGt -special Token + super Token end class TGe -special Token + super Token +end +class TGg + super Token end class TStarship -special Token + super Token +end +class TBang + super Token end class TClassid -special Token + super Token end class TId -special Token + super Token end class TAttrid -special Token + super Token end class TNumber -special Token + super Token end class TFloat -special Token + super Token end class TChar -special Token + super Token end class TString -special Token + super Token end class TStartString -special Token + super Token end class TMidString -special Token + super Token end class TEndString -special Token + super Token end -class EOF -special Token +class EOF + super Token private init noinit do end end -class PError -special EOF +class AError + super 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 end -class PAble special Prod end -class PMethid special Prod end -class PSignature special Prod end -class PParam special Prod 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 super Prod end +class AModuledecl super Prod end +class AImport super Prod end +class AVisibility super Prod end +class AClassdef super Prod end +class AClasskind super Prod end +class AFormaldef super Prod end +class ASuperclass super Prod end +class APropdef super Prod end +class AAble super Prod end +class AMethid super Prod end +class ASignature super Prod end +class AParam super Prod end +class AClosureDecl super Prod end +class AType super Prod end +class ALabel super Prod end +class AExpr super Prod end +class AAssignOp super Prod end +class AClosureDef super Prod end +class AClosureId super Prod end +class AQualified super Prod end +class ADoc super 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 + super AModule + readable var _n_moduledecl: nullable AModuledecl = null + readable var _n_imports: List[AImport] = new List[AImport] + readable var _n_classdefs: List[AClassdef] = new List[AClassdef] +end +class AModuledecl + super AModuledecl + readable var _n_doc: nullable ADoc = null + readable var _n_kwmodule: TKwmodule + readable var _n_id: TId +end +class AStdImport + super AImport + readable var _n_visibility: AVisibility + readable var _n_kwimport: TKwimport + readable 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 + super AImport + readable var _n_visibility: AVisibility + readable var _n_kwimport: TKwimport + readable var _n_kwend: TKwend end class APublicVisibility -special PVisibility + super AVisibility end class APrivateVisibility -special PVisibility - readable writable var _n_kwprivate: TKwprivate + super AVisibility + readable var _n_kwprivate: TKwprivate end class AProtectedVisibility -special PVisibility - readable writable var _n_kwprotected: TKwprotected + super AVisibility + readable 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] + super AVisibility + readable var _n_kwintrude: TKwintrude +end +class AStdClassdef + super AClassdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_classkind: AClasskind + readable var _n_id: nullable TClassid = null + readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef] + readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass] + readable var _n_propdefs: List[APropdef] = new List[APropdef] end class ATopClassdef -special PClassdef - readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef] + super AClassdef + readable var _n_propdefs: List[APropdef] = new List[APropdef] end class AMainClassdef -special PClassdef - readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef] + super AClassdef + readable var _n_propdefs: List[APropdef] = new List[APropdef] end class AConcreteClasskind -special PClasskind - readable writable var _n_kwclass: TKwclass + super AClasskind + readable var _n_kwclass: TKwclass end class AAbstractClasskind -special PClasskind - readable writable var _n_kwabstract: TKwabstract - readable writable var _n_kwclass: TKwclass + super AClasskind + readable var _n_kwabstract: TKwabstract + readable var _n_kwclass: TKwclass end class AInterfaceClasskind -special PClasskind - readable writable var _n_kwinterface: TKwinterface + super AClasskind + readable var _n_kwinterface: TKwinterface end -class AUniversalClasskind -special PClasskind - readable writable var _n_kwuniversal: TKwuniversal +class AEnumClasskind + super AClasskind + readable var _n_kwenum: TKwenum end class AFormaldef -special PFormaldef - readable writable var _n_id: TClassid - readable writable var _n_type: nullable PType = null + super AFormaldef + readable var _n_id: TClassid + readable var _n_type: nullable AType = null end class ASuperclass -special PSuperclass - readable writable var _n_kwspecial: TKwspecial - readable writable var _n_type: PType + super ASuperclass + readable var _n_kwspecial: nullable TKwspecial = null + readable var _n_kwsuper: nullable TKwsuper = null + readable var _n_type: AType end class AAttrPropdef -special PPropdef - readable writable var _n_doc: nullable PDoc = null - readable writable var _n_readable: nullable PAble = null - readable writable var _n_writable: nullable PAble = null - 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_expr: nullable PExpr = null + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_readable: nullable AAble = null + readable var _n_writable: nullable AAble = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwvar: TKwvar + readable var _n_id: nullable TAttrid = null + readable var _n_id2: nullable TId = null + readable var _n_type: nullable AType = null + readable var _n_expr: nullable AExpr = null end class AMethPropdef -special PPropdef - 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_methid: PMethid - readable writable var _n_signature: PSignature + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_methid: AMethid + readable var _n_signature: ASignature end class ADeferredMethPropdef -special PPropdef - 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_kwmeth: TKwmeth - readable writable var _n_methid: PMethid - readable writable var _n_signature: PSignature + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwmeth: TKwmeth + readable var _n_methid: AMethid + readable var _n_signature: ASignature end class AInternMethPropdef -special PPropdef - 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_kwmeth: TKwmeth - readable writable var _n_methid: PMethid - readable writable var _n_signature: PSignature + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwmeth: TKwmeth + readable var _n_methid: AMethid + readable var _n_signature: ASignature end class AExternMethPropdef -special PPropdef - 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_kwmeth: TKwmeth - readable writable var _n_methid: PMethid - readable writable var _n_signature: PSignature - readable writable var _n_extern: nullable TString = null + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwmeth: TKwmeth + readable var _n_methid: AMethid + readable var _n_signature: ASignature + readable var _n_extern: nullable TString = null end class AConcreteMethPropdef -special PPropdef - 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_kwmeth: TKwmeth - readable writable var _n_methid: PMethid - readable writable var _n_signature: PSignature - readable writable var _n_block: nullable PExpr = null + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwmeth: TKwmeth + readable var _n_methid: AMethid + readable var _n_signature: ASignature + readable var _n_block: nullable AExpr = null end class AConcreteInitPropdef -special PPropdef - 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_kwinit: TKwinit - readable writable var _n_methid: nullable PMethid = null - readable writable var _n_signature: PSignature - readable writable var _n_block: nullable PExpr = null + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwinit: TKwinit + readable var _n_methid: nullable AMethid = null + readable var _n_signature: ASignature + readable var _n_block: nullable AExpr = null end class AMainMethPropdef -special PPropdef - readable writable var _n_kwredef: nullable TKwredef = null - readable writable var _n_block: nullable PExpr = null + super APropdef + readable var _n_kwredef: nullable TKwredef = null + readable var _n_block: nullable AExpr = null end class ATypePropdef -special PPropdef - 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_kwtype: TKwtype - readable writable var _n_id: TClassid - readable writable var _n_type: PType + super APropdef + readable var _n_doc: nullable ADoc = null + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: AVisibility + readable var _n_kwtype: TKwtype + readable var _n_id: TClassid + readable var _n_type: AType end class AReadAble -special PAble - readable writable var _n_kwredef: nullable TKwredef = null - readable writable var _n_kwreadable: TKwreadable + super AAble + readable var _n_kwredef: nullable TKwredef = null + readable var _n_kwreadable: TKwreadable end class AWriteAble -special PAble - readable writable var _n_kwredef: nullable TKwredef = null - readable writable var _n_kwwritable: TKwwritable + super AAble + readable var _n_kwredef: nullable TKwredef = null + readable var _n_visibility: nullable AVisibility = null + readable var _n_kwwritable: TKwwritable end class AIdMethid -special PMethid - readable writable var _n_id: TId + super AMethid + readable var _n_id: TId end class APlusMethid -special PMethid - readable writable var _n_plus: TPlus + super AMethid + readable var _n_plus: TPlus end class AMinusMethid -special PMethid - readable writable var _n_minus: TMinus + super AMethid + readable var _n_minus: TMinus end class AStarMethid -special PMethid - readable writable var _n_star: TStar + super AMethid + readable var _n_star: TStar end class ASlashMethid -special PMethid - readable writable var _n_slash: TSlash + super AMethid + readable var _n_slash: TSlash end class APercentMethid -special PMethid - readable writable var _n_percent: TPercent + super AMethid + readable var _n_percent: TPercent end class AEqMethid -special PMethid - readable writable var _n_eq: TEq + super AMethid + readable var _n_eq: TEq end class ANeMethid -special PMethid - readable writable var _n_ne: TNe + super AMethid + readable var _n_ne: TNe end class ALeMethid -special PMethid - readable writable var _n_le: TLe + super AMethid + readable var _n_le: TLe end class AGeMethid -special PMethid - readable writable var _n_ge: TGe + super AMethid + readable var _n_ge: TGe end class ALtMethid -special PMethid - readable writable var _n_lt: TLt + super AMethid + readable var _n_lt: TLt end class AGtMethid -special PMethid - readable writable var _n_gt: TGt + super AMethid + readable var _n_gt: TGt +end +class ALlMethid + super AMethid + readable var _n_ll: TLl +end +class AGgMethid + super AMethid + readable var _n_gg: TGg end class ABraMethid -special PMethid - readable writable var _n_obra: TObra - readable writable var _n_cbra: TCbra + super AMethid + readable var _n_obra: TObra + readable var _n_cbra: TCbra end class AStarshipMethid -special PMethid - readable writable var _n_starship: TStarship + super AMethid + readable var _n_starship: TStarship end class AAssignMethid -special PMethid - readable writable var _n_id: TId - readable writable var _n_assign: TAssign + super AMethid + readable var _n_id: TId + readable 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 + super AMethid + readable var _n_obra: TObra + readable var _n_cbra: TCbra + readable 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] + super ASignature + readable var _n_params: List[AParam] = new List[AParam] + readable var _n_type: nullable AType = null + readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl] end class AParam -special PParam - readable writable var _n_id: TId - readable writable var _n_type: nullable PType = null - readable writable var _n_dotdotdot: nullable TDotdotdot = null + super AParam + readable var _n_id: TId + readable var _n_type: nullable AType = null + readable 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 + super AClosureDecl + readable var _n_kwbreak: nullable TKwbreak = null + readable var _n_bang: TBang + readable var _n_id: TId + readable var _n_signature: ASignature + readable var _n_expr: nullable AExpr = 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] + super AType + readable var _n_kwnullable: nullable TKwnullable = null + readable var _n_id: TClassid + readable var _n_types: List[AType] = new List[AType] +end +class ALabel + super ALabel + readable var _n_kwlabel: TKwlabel + readable var _n_id: TId end class ABlockExpr -special PExpr - readable writable var _n_expr: List[PExpr] = new List[PExpr] + super AExpr + readable var _n_expr: List[AExpr] = new List[AExpr] 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 + super AExpr + readable var _n_kwvar: TKwvar + readable var _n_id: TId + readable var _n_type: nullable AType = null + readable var _n_assign: nullable TAssign = null + readable var _n_expr: nullable AExpr = null end class AReturnExpr -special PExpr - readable writable var _n_kwreturn: TKwreturn - readable writable var _n_expr: nullable PExpr = null + super AExpr + readable var _n_kwreturn: nullable TKwreturn = null + readable var _n_expr: nullable AExpr = null end class ABreakExpr -special PExpr - readable writable var _n_kwbreak: TKwbreak - readable writable var _n_expr: nullable PExpr = null + super AExpr + readable var _n_kwbreak: TKwbreak + readable var _n_label: nullable ALabel = null + readable var _n_expr: nullable AExpr = null end class AAbortExpr -special PExpr - readable writable var _n_kwabort: TKwabort + super AExpr + readable var _n_kwabort: TKwabort end class AContinueExpr -special PExpr - readable writable var _n_kwcontinue: TKwcontinue - readable writable var _n_expr: nullable PExpr = null + super AExpr + readable var _n_kwcontinue: nullable TKwcontinue = null + readable var _n_label: nullable ALabel = null + readable var _n_expr: nullable AExpr = null end class ADoExpr -special PExpr - readable writable var _n_kwdo: TKwdo - readable writable var _n_block: nullable PExpr = null + super AExpr + readable var _n_kwdo: TKwdo + readable var _n_block: nullable AExpr = null + readable var _n_label: nullable ALabel = 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 + super AExpr + readable var _n_kwif: TKwif + readable var _n_expr: AExpr + readable var _n_then: nullable AExpr = null + readable var _n_else: nullable AExpr = 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 + super AExpr + readable var _n_kwif: TKwif + readable var _n_expr: AExpr + readable var _n_kwthen: TKwthen + readable var _n_then: AExpr + readable var _n_kwelse: TKwelse + readable var _n_else: AExpr 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 + super AExpr + readable var _n_kwwhile: TKwwhile + readable var _n_expr: AExpr + readable var _n_kwdo: TKwdo + readable var _n_block: nullable AExpr = null + readable var _n_label: nullable ALabel = null +end +class ALoopExpr + super AExpr + readable var _n_kwloop: TKwloop + readable var _n_block: nullable AExpr = null + readable var _n_label: nullable ALabel = 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 + super AExpr + readable var _n_kwfor: TKwfor + readable var _n_id: TId + readable var _n_expr: AExpr + readable var _n_kwdo: TKwdo + readable var _n_block: nullable AExpr = null + readable var _n_label: nullable ALabel = 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 + super AExpr + readable var _n_kwassert: TKwassert + readable var _n_id: nullable TId = null + readable var _n_expr: AExpr + readable var _n_else: nullable AExpr = null end class AOnceExpr -special PExpr - readable writable var _n_kwonce: TKwonce - readable writable var _n_expr: PExpr + super AExpr + readable var _n_kwonce: TKwonce + readable var _n_expr: AExpr end class ASendExpr -special PExpr - readable writable var _n_expr: PExpr + super AExpr + readable var _n_expr: AExpr end class ABinopExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AOrExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AAndExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr +end +class AOrElseExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ANotExpr -special PExpr - readable writable var _n_kwnot: TKwnot - readable writable var _n_expr: PExpr + super AExpr + readable var _n_kwnot: TKwnot + readable var _n_expr: AExpr end class AEqExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AEeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ANeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ALtExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ALeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr +end +class ALlExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AGtExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AGeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr +end +class AGgExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AIsaExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_type: PType + super AExpr + readable var _n_expr: AExpr + readable var _n_type: AType end class APlusExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AMinusExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AStarshipExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AStarExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ASlashExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class APercentExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AUminusExpr -special PExpr - readable writable var _n_minus: TMinus - readable writable var _n_expr: PExpr + super AExpr + readable var _n_minus: TMinus + readable var _n_expr: AExpr 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] + super AExpr + readable var _n_kwnew: TKwnew + readable var _n_type: AType + readable var _n_id: nullable TId = null + readable var _n_args: List[AExpr] = new List[AExpr] end class AAttrExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_id: TAttrid + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TAttrid end class AAttrAssignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_id: TAttrid - readable writable var _n_assign: TAssign - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TAttrid + readable var _n_assign: TAssign + readable var _n_value: AExpr end class AAttrReassignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_id: TAttrid - readable writable var _n_assign_op: PAssignOp - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TAttrid + readable var _n_assign_op: AAssignOp + readable var _n_value: AExpr end class ACallExpr -special PExpr - readable writable var _n_expr: 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] + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TId + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] end class ACallAssignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_id: TId - readable writable var _n_args: List[PExpr] = new List[PExpr] - readable writable var _n_assign: TAssign - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TId + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_assign: TAssign + readable var _n_value: AExpr end class ACallReassignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_id: TId - readable writable var _n_args: List[PExpr] = new List[PExpr] - readable writable var _n_assign_op: PAssignOp - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_id: TId + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_assign_op: AAssignOp + readable var _n_value: AExpr 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] + super AExpr + readable var _n_qualified: nullable AQualified = null + readable var _n_kwsuper: TKwsuper + readable var _n_args: List[AExpr] = new List[AExpr] end class AInitExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_kwinit: TKwinit - readable writable var _n_args: List[PExpr] = new List[PExpr] + super AExpr + readable var _n_expr: AExpr + readable var _n_kwinit: TKwinit + readable var _n_args: List[AExpr] = new List[AExpr] end class ABraExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_args: List[PExpr] = new List[PExpr] - readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef] + super AExpr + readable var _n_expr: AExpr + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] end class ABraAssignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_args: List[PExpr] = new List[PExpr] - readable writable var _n_assign: TAssign - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_assign: TAssign + readable var _n_value: AExpr end class ABraReassignExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_args: List[PExpr] = new List[PExpr] - readable writable var _n_assign_op: PAssignOp - readable writable var _n_value: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_assign_op: AAssignOp + readable var _n_value: AExpr 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] + super AExpr + readable var _n_id: TId + readable var _n_args: List[AExpr] = new List[AExpr] + readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] end class AVarExpr -special PExpr - readable writable var _n_id: TId + super AExpr + readable var _n_id: TId end class AVarAssignExpr -special PExpr - readable writable var _n_id: TId - readable writable var _n_assign: TAssign - readable writable var _n_value: PExpr + super AExpr + readable var _n_id: TId + readable var _n_assign: TAssign + readable var _n_value: AExpr end class AVarReassignExpr -special PExpr - readable writable var _n_id: TId - readable writable var _n_assign_op: PAssignOp - readable writable var _n_value: PExpr + super AExpr + readable var _n_id: TId + readable var _n_assign_op: AAssignOp + readable var _n_value: AExpr end class ARangeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class ACrangeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AOrangeExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_expr2: PExpr + super AExpr + readable var _n_expr: AExpr + readable var _n_expr2: AExpr end class AArrayExpr -special PExpr - readable writable var _n_exprs: List[PExpr] = new List[PExpr] + super AExpr + readable var _n_exprs: List[AExpr] = new List[AExpr] end class ASelfExpr -special PExpr - readable writable var _n_kwself: TKwself + super AExpr + readable var _n_kwself: TKwself end class AImplicitSelfExpr -special PExpr + super AExpr end class ATrueExpr -special PExpr - readable writable var _n_kwtrue: TKwtrue + super AExpr + readable var _n_kwtrue: TKwtrue end class AFalseExpr -special PExpr - readable writable var _n_kwfalse: TKwfalse + super AExpr + readable var _n_kwfalse: TKwfalse end class ANullExpr -special PExpr - readable writable var _n_kwnull: TKwnull + super AExpr + readable var _n_kwnull: TKwnull end class AIntExpr -special PExpr - readable writable var _n_number: TNumber + super AExpr + readable var _n_number: TNumber end class AFloatExpr -special PExpr - readable writable var _n_float: TFloat + super AExpr + readable var _n_float: TFloat end class ACharExpr -special PExpr - readable writable var _n_char: TChar + super AExpr + readable var _n_char: TChar end class AStringExpr -special PExpr - readable writable var _n_string: TString + super AExpr + readable var _n_string: TString end class AStartStringExpr -special PExpr - readable writable var _n_string: TStartString + super AExpr + readable var _n_string: TStartString end class AMidStringExpr -special PExpr - readable writable var _n_string: TMidString + super AExpr + readable var _n_string: TMidString end class AEndStringExpr -special PExpr - readable writable var _n_string: TEndString + super AExpr + readable var _n_string: TEndString end class ASuperstringExpr -special PExpr - readable writable var _n_exprs: List[PExpr] = new List[PExpr] + super AExpr + readable var _n_exprs: List[AExpr] = new List[AExpr] end class AParExpr -special PExpr - readable writable var _n_expr: PExpr + super AExpr + readable var _n_expr: AExpr end class AAsCastExpr -special PExpr - readable writable var _n_expr: PExpr - readable writable var _n_kwas: TKwas - readable writable var _n_type: PType + super AExpr + readable var _n_expr: AExpr + readable var _n_kwas: TKwas + readable var _n_type: AType 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 + super AExpr + readable var _n_expr: AExpr + readable var _n_kwas: TKwas + readable var _n_kwnot: TKwnot + readable var _n_kwnull: TKwnull end class AIssetAttrExpr -special PExpr - readable writable var _n_kwisset: TKwisset - readable writable var _n_expr: PExpr - readable writable var _n_id: TAttrid + super AExpr + readable var _n_kwisset: TKwisset + readable var _n_expr: AExpr + readable var _n_id: TAttrid end class APlusAssignOp -special PAssignOp - readable writable var _n_pluseq: TPluseq + super AAssignOp + readable var _n_pluseq: TPluseq end class AMinusAssignOp -special PAssignOp - readable writable var _n_minuseq: TMinuseq + super AAssignOp + readable 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 + super AClosureDef + readable var _n_bang: TBang + readable var _n_id: AClosureId + readable var _n_ids: List[TId] = new List[TId] + readable var _n_kwdo: nullable TKwdo = null + readable var _n_expr: nullable AExpr = null + readable var _n_label: nullable ALabel = null +end +class ASimpleClosureId + super AClosureId + readable var _n_id: TId +end +class ABreakClosureId + super AClosureId + readable var _n_kwbreak: TKwbreak end class AQualified -special PQualified - readable writable var _n_id: List[TId] = new List[TId] - readable writable var _n_classid: nullable TClassid = null + super AQualified + readable var _n_id: List[TId] = new List[TId] + readable var _n_classid: nullable TClassid = null end class ADoc -special PDoc - readable writable var _n_comment: List[TComment] = new List[TComment] + super ADoc + readable 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 + super Prod + readable var _n_base: nullable AModule + readable var _n_eof: EOF end