X-Git-Url: http://nitlanguage.org diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index e152ead..6f6e76b 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -1,1051 +1,1372 @@ # Raw AST node hierarchy. # This file was generated by SableCC (http://www.sablecc.org/). -package parser_abs +module parser_abs is no_warning("missing-doc") import location -# Root of the AST hierarchy -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 ANode -end - -# Ancestor of all productions -abstract class Prod -special 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 + super Token end class TKwmodule -special Token + 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 -end -class TKwuniversal -special Token + super Token end -class TKwspecial -special Token +class TKwenum + super Token end class TKwend -special Token + super Token end class TKwmeth -special Token + super Token end class TKwtype -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 -end -class TKwreadable -special Token -end -class TKwwritable -special Token + super Token end class TKwvar -special Token -end -class TKwintern -special Token + super Token end class TKwextern -special Token + super Token +end +class TKwpublic + 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 -special Token + 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 TKwimplies + 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 + super Token end class TKwnullable -special Token + super Token end class TKwisset -special Token + super Token end class TKwlabel -special Token + super Token +end +class TKwwith + super Token +end +class TKwdebug + 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 TStareq + super Token +end +class TSlasheq + super Token +end +class TPercenteq + super Token +end +class TStarstareq + super Token +end +class TPipeeq + super Token +end +class TCareteq + super Token +end +class TAmpeq + super Token +end +class TLleq + super Token +end +class TGgeq + 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 TStarstar + super Token end class TSlash -special Token + super Token end class TPercent -special Token + super Token +end +class TPipe + super Token +end +class TCaret + super Token +end +class TAmp + super Token +end +class TTilde + 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 -special Token + super Token end class TGt -special Token + super Token end class TGe -special Token + super Token end class TGg -special Token + super Token end class TStarship -special Token + super Token end class TBang -special Token + super Token +end +class TAt + super Token +end +class TSemi + 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 +class TInteger + super Token end class TFloat -special 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 TChar + super Token +end +class TBadString + super Token +end +class TBadChar + super Token +end +class TExternCodeSegment + super Token end class EOF -special Token -private init noinit do end + super Token end class AError -special EOF -private init noinit do end + super EOF +end +class ALexerError + super AError +end +class AParserError + super AError end -class AModule special Prod end -class AModuledecl special Prod end -class AImport special Prod end -class AVisibility special Prod end -class AClassdef special Prod end -class AClasskind special Prod end -class AFormaldef special Prod end -class ASuperclass special Prod end -class APropdef special Prod end -class AAble special Prod end -class AMethid special Prod end -class ASignature special Prod end -class AParam special Prod end -class AClosureDecl special Prod end -class AType special Prod end -class ALabel special Prod end -class AExpr special Prod end -class AAssignOp special Prod end -class AClosureDef special Prod end -class AClosureId special Prod end -class AQualified special Prod end -class ADoc 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 APropdef super Prod end +class AMethid super Prod end +class AQid super Prod end +class ASignature super Prod end +class AParam super Prod end +class AType super Prod end +class ALabel super Prod end +class AExpr super Prod end +class AExprs super Prod end +class AAssignOp super Prod end +class AForGroup super Prod end +class AModuleName super Prod end +class AExternCalls super Prod end +class AExternCall super Prod end +class AInLanguage super Prod end +class AExternCodeBlock super Prod end +class AQualified super Prod end +class ADoc super Prod end +class AAnnotations super Prod end +class AAnnotation super Prod end +class AAtid super Prod end class AModule -special 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] + super AModule + var n_moduledecl: nullable AModuledecl = null is writable + var n_imports: List[AImport] = new List[AImport] + var n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock] + var n_classdefs: List[AClassdef] = new List[AClassdef] end class AModuledecl -special AModuledecl - readable var _n_doc: nullable ADoc = null - readable var _n_kwmodule: TKwmodule - readable var _n_id: TId + super AModuledecl + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_kwmodule: TKwmodule is writable, noinit + var n_name: AModuleName is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AStdImport -special AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_id: TId + super AImport + var n_visibility: AVisibility is writable, noinit + var n_kwimport: TKwimport is writable, noinit + var n_name: AModuleName is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ANoImport -special AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_kwend: TKwend + super AImport + var n_visibility: AVisibility is writable, noinit + var n_kwimport: TKwimport is writable, noinit + var n_kwend: TKwend is writable, noinit end class APublicVisibility -special AVisibility + super AVisibility + var n_kwpublic: nullable TKwpublic = null is writable end class APrivateVisibility -special AVisibility - readable var _n_kwprivate: TKwprivate + super AVisibility + var n_kwprivate: TKwprivate is writable, noinit end class AProtectedVisibility -special AVisibility - readable var _n_kwprotected: TKwprotected + super AVisibility + var n_kwprotected: TKwprotected is writable, noinit end class AIntrudeVisibility -special AVisibility - readable var _n_kwintrude: TKwintrude + super AVisibility + var n_kwintrude: TKwintrude is writable, noinit end class AStdClassdef -special 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] + super AClassdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_classkind: AClasskind is writable, noinit + var n_id: nullable TClassid = null is writable + var n_obra: nullable TObra = null is writable + var n_formaldefs: List[AFormaldef] = new List[AFormaldef] + var n_cbra: nullable TCbra = null is writable + var n_extern_code_block: nullable AExternCodeBlock = null is writable + var n_propdefs: List[APropdef] = new List[APropdef] + var n_kwend: TKwend is writable, noinit end class ATopClassdef -special AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + super AClassdef + var n_propdefs: List[APropdef] = new List[APropdef] end class AMainClassdef -special AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + super AClassdef + var n_propdefs: List[APropdef] = new List[APropdef] end class AConcreteClasskind -special AClasskind - readable var _n_kwclass: TKwclass + super AClasskind + var n_kwclass: TKwclass is writable, noinit end class AAbstractClasskind -special AClasskind - readable var _n_kwabstract: TKwabstract - readable var _n_kwclass: TKwclass + super AClasskind + var n_kwabstract: TKwabstract is writable, noinit + var n_kwclass: TKwclass is writable, noinit end class AInterfaceClasskind -special AClasskind - readable var _n_kwinterface: TKwinterface + super AClasskind + var n_kwinterface: TKwinterface is writable, noinit end -class AUniversalClasskind -special AClasskind - readable var _n_kwuniversal: TKwuniversal +class AEnumClasskind + super AClasskind + var n_kwenum: TKwenum is writable, noinit end -class AFormaldef -special AFormaldef - readable var _n_id: TClassid - readable var _n_type: nullable AType = null +class AExternClasskind + super AClasskind + var n_kwextern: TKwextern is writable, noinit + var n_kwclass: nullable TKwclass = null is writable end -class ASuperclass -special ASuperclass - readable var _n_kwspecial: nullable TKwspecial = null - readable var _n_kwsuper: nullable TKwsuper = null - readable var _n_type: AType +class AFormaldef + super AFormaldef + var n_id: TClassid is writable, noinit + var n_type: nullable AType = null is writable + var n_annotations: nullable AAnnotations = null is writable end class AAttrPropdef -special 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 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 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 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 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 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 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 + super APropdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_kwvar: TKwvar is writable, noinit + var n_id2: TId is writable, noinit + var n_type: nullable AType = null is writable + var n_assign: nullable TAssign = null is writable + var n_expr: nullable AExpr = null is writable + var n_annotations: nullable AAnnotations = null is writable + var n_kwdo: nullable TKwdo = null is writable + var n_block: nullable AExpr = null is writable + var n_kwend: nullable TKwend = null is writable end class AMainMethPropdef -special APropdef - readable var _n_kwredef: nullable TKwredef = null - readable var _n_block: nullable AExpr = null + super APropdef + var n_kwredef: nullable TKwredef = null is writable + var n_block: nullable AExpr = null is writable end class ATypePropdef -special 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 AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_kwreadable: TKwreadable -end -class AWriteAble -special AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: nullable AVisibility = null - readable var _n_kwwritable: TKwwritable + super APropdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_kwtype: TKwtype is writable, noinit + var n_id: TClassid is writable, noinit + var n_type: AType is writable, noinit + var n_annotations: nullable AAnnotations = null is writable +end +class AMethPropdef + super APropdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_kwmeth: nullable TKwmeth = null is writable + var n_kwinit: nullable TKwinit = null is writable + var n_kwnew: nullable TKwnew = null is writable + var n_methid: nullable AMethid = null is writable + var n_signature: ASignature is writable, noinit + var n_annotations: nullable AAnnotations = null is writable + var n_extern_calls: nullable AExternCalls = null is writable + var n_extern_code_block: nullable AExternCodeBlock = null is writable + var n_kwdo: nullable TKwdo = null is writable + var n_block: nullable AExpr = null is writable + var n_kwend: nullable TKwend = null is writable +end +class ASuperPropdef + super APropdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: AVisibility is writable, noinit + var n_kwsuper: TKwsuper is writable, noinit + var n_type: AType is writable, noinit + var n_annotations: nullable AAnnotations = null is writable +end +class AAnnotPropdef + super APropdef + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: nullable AVisibility = null is writable + var n_atid: AAtid is writable, noinit + var n_opar: nullable TOpar = null is writable + var n_args: List[AExpr] = new List[AExpr] + var n_cpar: nullable TCpar = null is writable + var n_annotations: nullable AAnnotations = null is writable end class AIdMethid -special AMethid - readable var _n_id: TId + super AMethid + var n_id: TId is writable, noinit end class APlusMethid -special AMethid - readable var _n_plus: TPlus + super AMethid + var n_op: TPlus is writable, noinit end class AMinusMethid -special AMethid - readable var _n_minus: TMinus + super AMethid + var n_op: TMinus is writable, noinit end class AStarMethid -special AMethid - readable var _n_star: TStar + super AMethid + var n_op: TStar is writable, noinit +end +class AStarstarMethid + super AMethid + var n_op: TStarstar is writable, noinit end class ASlashMethid -special AMethid - readable var _n_slash: TSlash + super AMethid + var n_op: TSlash is writable, noinit end class APercentMethid -special AMethid - readable var _n_percent: TPercent + super AMethid + var n_op: TPercent is writable, noinit end class AEqMethid -special AMethid - readable var _n_eq: TEq + super AMethid + var n_op: TEq is writable, noinit end class ANeMethid -special AMethid - readable var _n_ne: TNe + super AMethid + var n_op: TNe is writable, noinit end class ALeMethid -special AMethid - readable var _n_le: TLe + super AMethid + var n_op: TLe is writable, noinit end class AGeMethid -special AMethid - readable var _n_ge: TGe + super AMethid + var n_op: TGe is writable, noinit end class ALtMethid -special AMethid - readable var _n_lt: TLt + super AMethid + var n_op: TLt is writable, noinit end class AGtMethid -special AMethid - readable var _n_gt: TGt + super AMethid + var n_op: TGt is writable, noinit end class ALlMethid -special AMethid - readable var _n_ll: TLl + super AMethid + var n_op: TLl is writable, noinit end class AGgMethid -special AMethid - readable var _n_gg: TGg -end -class ABraMethid -special AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra + super AMethid + var n_op: TGg is writable, noinit end class AStarshipMethid -special AMethid - readable var _n_starship: TStarship + super AMethid + var n_op: TStarship is writable, noinit +end +class APipeMethid + super AMethid + var n_op: TPipe is writable, noinit +end +class ACaretMethid + super AMethid + var n_op: TCaret is writable, noinit +end +class AAmpMethid + super AMethid + var n_op: TAmp is writable, noinit +end +class ATildeMethid + super AMethid + var n_op: TTilde is writable, noinit +end +class ABraMethid + super AMethid + var n_obra: TObra is writable, noinit + var n_cbra: TCbra is writable, noinit end class AAssignMethid -special AMethid - readable var _n_id: TId - readable var _n_assign: TAssign + super AMethid + var n_id: TId is writable, noinit + var n_assign: TAssign is writable, noinit end class ABraassignMethid -special AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra - readable var _n_assign: TAssign + super AMethid + var n_obra: TObra is writable, noinit + var n_cbra: TCbra is writable, noinit + var n_assign: TAssign is writable, noinit +end +class AQid + super AQid + var n_qualified: nullable AQualified = null is writable + var n_id: TId is writable, noinit end class ASignature -special 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] + super ASignature + var n_opar: nullable TOpar = null is writable + var n_params: List[AParam] = new List[AParam] + var n_cpar: nullable TCpar = null is writable + var n_type: nullable AType = null is writable end class AParam -special AParam - readable var _n_id: TId - readable var _n_type: nullable AType = null - readable var _n_dotdotdot: nullable TDotdotdot = null -end -class AClosureDecl -special 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 + super AParam + var n_id: TId is writable, noinit + var n_type: nullable AType = null is writable + var n_dotdotdot: nullable TDotdotdot = null is writable + var n_annotations: nullable AAnnotations = null is writable end class AType -special AType - readable var _n_kwnullable: nullable TKwnullable = null - readable var _n_id: TClassid - readable var _n_types: List[AType] = new List[AType] + super AType + var n_kwnullable: nullable TKwnullable = null is writable + var n_id: TClassid is writable, noinit + var n_obra: nullable TObra = null is writable + var n_types: List[AType] = new List[AType] + var n_cbra: nullable TCbra = null is writable + var n_annotations: nullable AAnnotations = null is writable end class ALabel -special ALabel - readable var _n_kwlabel: TKwlabel - readable var _n_id: TId + super ALabel + var n_kwlabel: TKwlabel is writable, noinit + var n_id: nullable TId = null is writable end class ABlockExpr -special AExpr - readable var _n_expr: List[AExpr] = new List[AExpr] + super AExpr + var n_expr: List[AExpr] = new List[AExpr] + var n_kwend: nullable TKwend = null is writable end class AVardeclExpr -special 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 + super AExpr + var n_kwvar: nullable TKwvar = null is writable + var n_id: TId is writable, noinit + var n_type: nullable AType = null is writable + var n_assign: nullable TAssign = null is writable + var n_expr: nullable AExpr = null is writable + var n_annotations: nullable AAnnotations = null is writable end class AReturnExpr -special AExpr - readable var _n_kwreturn: nullable TKwreturn = null - readable var _n_expr: nullable AExpr = null + super AExpr + var n_kwreturn: nullable TKwreturn = null is writable + var n_expr: nullable AExpr = null is writable end class ABreakExpr -special AExpr - readable var _n_kwbreak: TKwbreak - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + super AExpr + var n_kwbreak: TKwbreak is writable, noinit + var n_label: nullable ALabel = null is writable end class AAbortExpr -special AExpr - readable var _n_kwabort: TKwabort + super AExpr + var n_kwabort: TKwabort is writable, noinit end class AContinueExpr -special AExpr - readable var _n_kwcontinue: nullable TKwcontinue = null - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + super AExpr + var n_kwcontinue: nullable TKwcontinue = null is writable + var n_label: nullable ALabel = null is writable end class ADoExpr -special AExpr - readable var _n_kwdo: TKwdo - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + super AExpr + var n_kwdo: TKwdo is writable, noinit + var n_block: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable end class AIfExpr -special 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 + super AExpr + var n_kwif: TKwif is writable, noinit + var n_expr: AExpr is writable, noinit + var n_kwthen: TKwthen is writable, noinit + var n_then: nullable AExpr = null is writable + var n_kwelse: nullable TKwelse = null is writable + var n_else: nullable AExpr = null is writable end class AIfexprExpr -special 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 + super AExpr + var n_kwif: TKwif is writable, noinit + var n_expr: AExpr is writable, noinit + var n_kwthen: TKwthen is writable, noinit + var n_then: AExpr is writable, noinit + var n_kwelse: TKwelse is writable, noinit + var n_else: AExpr is writable, noinit end class AWhileExpr -special 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 + super AExpr + var n_kwwhile: TKwwhile is writable, noinit + var n_expr: AExpr is writable, noinit + var n_kwdo: TKwdo is writable, noinit + var n_block: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable end class ALoopExpr -special AExpr - readable var _n_kwloop: TKwloop - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + super AExpr + var n_kwloop: TKwloop is writable, noinit + var n_block: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable end class AForExpr -special 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 + super AExpr + var n_kwfor: TKwfor is writable, noinit + var n_groups: List[AForGroup] = new List[AForGroup] + var n_kwdo: TKwdo is writable, noinit + var n_block: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable +end +class AWithExpr + super AExpr + var n_kwwith: TKwwith is writable, noinit + var n_expr: AExpr is writable, noinit + var n_kwdo: TKwdo is writable, noinit + var n_block: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable end class AAssertExpr -special 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 + super AExpr + var n_kwassert: TKwassert is writable, noinit + var n_id: nullable TId = null is writable + var n_expr: AExpr is writable, noinit + var n_kwelse: nullable TKwelse = null is writable + var n_else: nullable AExpr = null is writable end class AOnceExpr -special AExpr - readable var _n_kwonce: TKwonce - readable var _n_expr: AExpr + super AExpr + var n_kwonce: TKwonce is writable, noinit + var n_expr: AExpr is writable, noinit end class ASendExpr -special AExpr - readable var _n_expr: AExpr + super AExpr + var n_expr: AExpr is writable, noinit end class ABinopExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_expr2: AExpr is writable, noinit end class AOrExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TKwor is writable, noinit + var n_expr2: AExpr is writable, noinit end class AAndExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TKwand is writable, noinit + var n_expr2: AExpr is writable, noinit end class AOrElseExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TKwor is writable, noinit + var n_kwelse: TKwelse is writable, noinit + var n_expr2: AExpr is writable, noinit +end +class AImpliesExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TKwimplies is writable, noinit + var n_expr2: AExpr is writable, noinit end class ANotExpr -special AExpr - readable var _n_kwnot: TKwnot - readable var _n_expr: AExpr + super AExpr + var n_kwnot: TKwnot is writable, noinit + var n_expr: AExpr is writable, noinit end class AEqExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr -end -class AEeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TEq is writable, noinit + var n_expr2: AExpr is writable, noinit end class ANeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TNe is writable, noinit + var n_expr2: AExpr is writable, noinit end class ALtExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TLt is writable, noinit + var n_expr2: AExpr is writable, noinit end class ALeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TLe is writable, noinit + var n_expr2: AExpr is writable, noinit end class ALlExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TLl is writable, noinit + var n_expr2: AExpr is writable, noinit end class AGtExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TGt is writable, noinit + var n_expr2: AExpr is writable, noinit end class AGeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TGe is writable, noinit + var n_expr2: AExpr is writable, noinit end class AGgExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TGg is writable, noinit + var n_expr2: AExpr is writable, noinit end class AIsaExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_type: AType + super AExpr + var n_expr: AExpr is writable, noinit + var n_kwisa: TKwisa is writable, noinit + var n_type: AType is writable, noinit end class APlusExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TPlus is writable, noinit + var n_expr2: AExpr is writable, noinit end class AMinusExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TMinus is writable, noinit + var n_expr2: AExpr is writable, noinit end class AStarshipExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TStarship is writable, noinit + var n_expr2: AExpr is writable, noinit end class AStarExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TStar is writable, noinit + var n_expr2: AExpr is writable, noinit +end +class AStarstarExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TStarstar is writable, noinit + var n_expr2: AExpr is writable, noinit end class ASlashExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TSlash is writable, noinit + var n_expr2: AExpr is writable, noinit end class APercentExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TPercent is writable, noinit + var n_expr2: AExpr is writable, noinit +end +class APipeExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TPipe is writable, noinit + var n_expr2: AExpr is writable, noinit +end +class ACaretExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TCaret is writable, noinit + var n_expr2: AExpr is writable, noinit +end +class AAmpExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_op: TAmp is writable, noinit + var n_expr2: AExpr is writable, noinit end class AUminusExpr -special AExpr - readable var _n_minus: TMinus - readable var _n_expr: AExpr + super AExpr + var n_op: TMinus is writable, noinit + var n_expr: AExpr is writable, noinit +end +class AUplusExpr + super AExpr + var n_op: TPlus is writable, noinit + var n_expr: AExpr is writable, noinit +end +class AUtildeExpr + super AExpr + var n_op: TTilde is writable, noinit + var n_expr: AExpr is writable, noinit end class ANewExpr -special 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] + super AExpr + var n_kwnew: TKwnew is writable, noinit + var n_type: AType is writable, noinit + var n_qid: nullable AQid = null is writable + var n_args: AExprs is writable, noinit end class AAttrExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid + super AExpr + var n_expr: AExpr is writable, noinit + var n_id: TAttrid is writable, noinit end class AAttrAssignExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign: TAssign - readable var _n_value: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_id: TAttrid is writable, noinit + var n_assign: TAssign is writable, noinit + var n_value: AExpr is writable, noinit end class AAttrReassignExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_id: TAttrid is writable, noinit + var n_assign_op: AAssignOp is writable, noinit + var n_value: AExpr is writable, noinit end class ACallExpr -special 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] + super AExpr + var n_expr: AExpr is writable, noinit + var n_qid: AQid is writable, noinit + var n_args: AExprs is writable, noinit end class ACallAssignExpr -special 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 + super AExpr + var n_expr: AExpr is writable, noinit + var n_qid: AQid is writable, noinit + var n_args: AExprs is writable, noinit + var n_assign: TAssign is writable, noinit + var n_value: AExpr is writable, noinit end class ACallReassignExpr -special 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 + super AExpr + var n_expr: AExpr is writable, noinit + var n_qid: AQid is writable, noinit + var n_args: AExprs is writable, noinit + var n_assign_op: AAssignOp is writable, noinit + var n_value: AExpr is writable, noinit end class ASuperExpr -special AExpr - readable var _n_qualified: nullable AQualified = null - readable var _n_kwsuper: TKwsuper - readable var _n_args: List[AExpr] = new List[AExpr] + super AExpr + var n_qualified: nullable AQualified = null is writable + var n_kwsuper: TKwsuper is writable, noinit + var n_args: AExprs is writable, noinit end class AInitExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_kwinit: TKwinit - readable var _n_args: List[AExpr] = new List[AExpr] + super AExpr + var n_expr: AExpr is writable, noinit + var n_kwinit: TKwinit is writable, noinit + var n_args: AExprs is writable, noinit end class ABraExpr -special 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] + super AExpr + var n_expr: AExpr is writable, noinit + var n_args: AExprs is writable, noinit end class ABraAssignExpr -special 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 + super AExpr + var n_expr: AExpr is writable, noinit + var n_args: AExprs is writable, noinit + var n_assign: TAssign is writable, noinit + var n_value: AExpr is writable, noinit end class ABraReassignExpr -special 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 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] + super AExpr + var n_expr: AExpr is writable, noinit + var n_args: AExprs is writable, noinit + var n_assign_op: AAssignOp is writable, noinit + var n_value: AExpr is writable, noinit end class AVarExpr -special AExpr - readable var _n_id: TId + super AExpr + var n_id: TId is writable, noinit end class AVarAssignExpr -special AExpr - readable var _n_id: TId - readable var _n_assign: TAssign - readable var _n_value: AExpr + super AExpr + var n_id: TId is writable, noinit + var n_assign: TAssign is writable, noinit + var n_value: AExpr is writable, noinit end class AVarReassignExpr -special AExpr - readable var _n_id: TId - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + super AExpr + var n_id: TId is writable, noinit + var n_assign_op: AAssignOp is writable, noinit + var n_value: AExpr is writable, noinit end class ARangeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_expr2: AExpr is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ACrangeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_obra: TObra is writable, noinit + var n_expr: AExpr is writable, noinit + var n_dotdot: TDotdot is writable, noinit + var n_expr2: AExpr is writable, noinit + var n_cbra: TCbra is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AOrangeExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + super AExpr + var n_obra: TObra is writable, noinit + var n_expr: AExpr is writable, noinit + var n_dotdot: TDotdot is writable, noinit + var n_expr2: AExpr is writable, noinit + var n_cbra: TObra is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AArrayExpr -special AExpr - readable var _n_exprs: List[AExpr] = new List[AExpr] + super AExpr + var n_obra: TObra is writable, noinit + var n_exprs: List[AExpr] = new List[AExpr] + var n_type: nullable AType = null is writable + var n_cbra: TCbra is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ASelfExpr -special AExpr - readable var _n_kwself: TKwself + super AExpr + var n_kwself: TKwself is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AImplicitSelfExpr -special AExpr + super AExpr end class ATrueExpr -special AExpr - readable var _n_kwtrue: TKwtrue + super AExpr + var n_kwtrue: TKwtrue is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AFalseExpr -special AExpr - readable var _n_kwfalse: TKwfalse + super AExpr + var n_kwfalse: TKwfalse is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ANullExpr -special AExpr - readable var _n_kwnull: TKwnull + super AExpr + var n_kwnull: TKwnull is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end -class AIntExpr -special AExpr - readable var _n_number: TNumber +class AIntegerExpr + super AExpr + var n_integer: TInteger is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AFloatExpr -special AExpr - readable var _n_float: TFloat + super AExpr + var n_float: TFloat is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ACharExpr -special AExpr - readable var _n_char: TChar + super AExpr + var n_char: TChar is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AStringExpr -special AExpr - readable var _n_string: TString + super AExpr + var n_string: TString is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AStartStringExpr -special AExpr - readable var _n_string: TStartString + super AExpr + var n_string: TStartString is writable, noinit end class AMidStringExpr -special AExpr - readable var _n_string: TMidString + super AExpr + var n_string: TMidString is writable, noinit end class AEndStringExpr -special AExpr - readable var _n_string: TEndString + super AExpr + var n_string: TEndString is writable, noinit end class ASuperstringExpr -special AExpr - readable var _n_exprs: List[AExpr] = new List[AExpr] + super AExpr + var n_exprs: List[AExpr] = new List[AExpr] + var n_annotations: nullable AAnnotations = null is writable end class AParExpr -special AExpr - readable var _n_expr: AExpr + super AExpr + var n_opar: TOpar is writable, noinit + var n_expr: AExpr is writable, noinit + var n_cpar: TCpar is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AAsCastExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_type: AType + super AExpr + var n_expr: AExpr is writable, noinit + var n_kwas: TKwas is writable, noinit + var n_opar: nullable TOpar = null is writable + var n_type: AType is writable, noinit + var n_cpar: nullable TCpar = null is writable end class AAsNotnullExpr -special AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_kwnot: TKwnot - readable var _n_kwnull: TKwnull + super AExpr + var n_expr: AExpr is writable, noinit + var n_kwas: TKwas is writable, noinit + var n_opar: nullable TOpar = null is writable + var n_kwnot: TKwnot is writable, noinit + var n_kwnull: TKwnull is writable, noinit + var n_cpar: nullable TCpar = null is writable end class AIssetAttrExpr -special AExpr - readable var _n_kwisset: TKwisset - readable var _n_expr: AExpr - readable var _n_id: TAttrid + super AExpr + var n_kwisset: TKwisset is writable, noinit + var n_expr: AExpr is writable, noinit + var n_id: TAttrid is writable, noinit +end +class ADebugTypeExpr + super AExpr + var n_kwdebug: TKwdebug is writable, noinit + var n_kwtype: TKwtype is writable, noinit + var n_expr: AExpr is writable, noinit + var n_type: AType is writable, noinit +end +class AVarargExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_dotdotdot: TDotdotdot is writable, noinit +end +class ANamedargExpr + super AExpr + var n_id: TId is writable, noinit + var n_assign: TAssign is writable, noinit + var n_expr: AExpr is writable, noinit +end +class ATypeExpr + super AExpr + var n_type: AType is writable, noinit +end +class AMethidExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_id: AMethid is writable, noinit +end +class AAtExpr + super AExpr + var n_annotations: AAnnotations is writable, noinit +end +class AManyExpr + super AExpr + var n_exprs: List[AExpr] = new List[AExpr] +end +class AListExprs + super AExprs + var n_exprs: List[AExpr] = new List[AExpr] +end +class AParExprs + super AExprs + var n_opar: TOpar is writable, noinit + var n_exprs: List[AExpr] = new List[AExpr] + var n_cpar: TCpar is writable, noinit +end +class ABraExprs + super AExprs + var n_obra: TObra is writable, noinit + var n_exprs: List[AExpr] = new List[AExpr] + var n_cbra: TCbra is writable, noinit end class APlusAssignOp -special AAssignOp - readable var _n_pluseq: TPluseq + super AAssignOp + var n_op: TPluseq is writable, noinit end class AMinusAssignOp -special AAssignOp - readable var _n_minuseq: TMinuseq -end -class AClosureDef -special 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 -special AClosureId - readable var _n_id: TId -end -class ABreakClosureId -special AClosureId - readable var _n_kwbreak: TKwbreak + super AAssignOp + var n_op: TMinuseq is writable, noinit +end +class AStarAssignOp + super AAssignOp + var n_op: TStareq is writable, noinit +end +class ASlashAssignOp + super AAssignOp + var n_op: TSlasheq is writable, noinit +end +class APercentAssignOp + super AAssignOp + var n_op: TPercenteq is writable, noinit +end +class AStarstarAssignOp + super AAssignOp + var n_op: TStarstareq is writable, noinit +end +class APipeAssignOp + super AAssignOp + var n_op: TPipeeq is writable, noinit +end +class ACaretAssignOp + super AAssignOp + var n_op: TCareteq is writable, noinit +end +class AAmpAssignOp + super AAssignOp + var n_op: TAmpeq is writable, noinit +end +class ALlAssignOp + super AAssignOp + var n_op: TLleq is writable, noinit +end +class AGgAssignOp + super AAssignOp + var n_op: TGgeq is writable, noinit +end +class AForGroup + super AForGroup + var n_ids: List[TId] = new List[TId] + var n_kwin: TKwin is writable, noinit + var n_expr: AExpr is writable, noinit +end +class AModuleName + super AModuleName + var n_quad: nullable TQuad = null is writable + var n_path: List[TId] = new List[TId] + var n_id: TId is writable, noinit +end +class AExternCalls + super AExternCalls + var n_kwimport: TKwimport is writable, noinit + var n_extern_calls: List[AExternCall] = new List[AExternCall] +end +class AExternCall + super AExternCall +end +class ASuperExternCall + super AExternCall + var n_kwsuper: TKwsuper is writable, noinit +end +class ALocalPropExternCall + super AExternCall + var n_methid: AMethid is writable, noinit +end +class AFullPropExternCall + super AExternCall + var n_type: AType is writable, noinit + var n_dot: nullable TDot = null is writable + var n_methid: AMethid is writable, noinit +end +class AInitPropExternCall + super AExternCall + var n_type: AType is writable, noinit +end +class ACastAsExternCall + super AExternCall + var n_from_type: AType is writable, noinit + var n_dot: nullable TDot = null is writable + var n_kwas: TKwas is writable, noinit + var n_to_type: AType is writable, noinit +end +class AAsNullableExternCall + super AExternCall + var n_type: AType is writable, noinit + var n_kwas: TKwas is writable, noinit + var n_kwnullable: TKwnullable is writable, noinit +end +class AAsNotNullableExternCall + super AExternCall + var n_type: AType is writable, noinit + var n_kwas: TKwas is writable, noinit + var n_kwnot: TKwnot is writable, noinit + var n_kwnullable: TKwnullable is writable, noinit +end +class AInLanguage + super AInLanguage + var n_kwin: TKwin is writable, noinit + var n_string: TString is writable, noinit +end +class AExternCodeBlock + super AExternCodeBlock + var n_in_language: nullable AInLanguage = null is writable + var n_extern_code_segment: TExternCodeSegment is writable, noinit end class AQualified -special AQualified - readable var _n_id: List[TId] = new List[TId] - readable var _n_classid: nullable TClassid = null + super AQualified + var n_id: List[TId] = new List[TId] + var n_classid: nullable TClassid = null is writable end class ADoc -special ADoc - readable var _n_comment: List[TComment] = new List[TComment] + super ADoc + var n_comment: List[TComment] = new List[TComment] +end +class AAnnotations + super AAnnotations + var n_kwis: nullable TKwis = null is writable + var n_at: nullable TAt = null is writable + var n_opar: nullable TOpar = null is writable + var n_items: List[AAnnotation] = new List[AAnnotation] + var n_cpar: nullable TCpar = null is writable + var n_kwend: nullable TKwend = null is writable +end +class AAnnotation + super AAnnotation + var n_doc: nullable ADoc = null is writable + var n_kwredef: nullable TKwredef = null is writable + var n_visibility: nullable AVisibility = null is writable + var n_atid: AAtid is writable, noinit + var n_opar: nullable TOpar = null is writable + var n_args: List[AExpr] = new List[AExpr] + var n_cpar: nullable TCpar = null is writable + var n_annotations: nullable AAnnotations = null is writable +end +class AIdAtid + super AAtid + var n_id: TId is writable, noinit +end +class AKwexternAtid + super AAtid + var n_id: TKwextern is writable, noinit +end +class AKwabstractAtid + super AAtid + var n_id: TKwabstract is writable, noinit +end +class AKwimportAtid + super AAtid + var n_id: TKwimport is writable, noinit end class Start -special Prod - readable var _n_base: nullable AModule - readable var _n_eof: EOF + super Prod + var n_base: nullable AModule is writable, noinit + var n_eof: EOF is writable, noinit + init( + n_base: nullable AModule, + n_eof: EOF) + do + _n_base = n_base + _n_eof = n_eof + end end