X-Git-Url: http://nitlanguage.org diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index 4e664c5..07db08a 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -1,34 +1,18 @@ # Raw AST node hierarchy. # This file was generated by SableCC (http://www.sablecc.org/). -package parser_abs +module parser_abs is generated, 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 - super ANode -end - -# Ancestor of all productions -abstract class Prod - super ANode - fun location=(loc: Location) do _location = loc -end class TEol super Token end class TComment super Token end +class TKwpackage + super Token +end class TKwmodule super Token end @@ -47,6 +31,9 @@ end class TKwenum super Token end +class TKwsubset + super Token +end class TKwend super Token end @@ -68,19 +55,13 @@ end class TKwdo super Token end -class TKwreadable - super Token -end -class TKwwritable - super Token -end class TKwvar super Token end -class TKwintern +class TKwextern super Token end -class TKwextern +class TKwpublic super Token end class TKwprotected @@ -122,6 +103,9 @@ end class TKwnot super Token end +class TKwimplies + super Token +end class TKwreturn super Token end @@ -173,9 +157,18 @@ end class TKwlabel super Token end +class TKwwith + super Token +end class TKwdebug super Token end +class TKwyield + super Token +end +class TKwcatch + super Token +end class TOpar super Token end @@ -206,6 +199,33 @@ end class TMinuseq 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 super Token end @@ -224,12 +244,27 @@ end class TStar super Token end +class TStarstar + super Token +end class TSlash super Token end class TPercent 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 super Token end @@ -260,6 +295,15 @@ end class TBang super Token end +class TQuest + super Token +end +class TAt + super Token +end +class TSemi + super Token +end class TClassid super Token end @@ -269,15 +313,12 @@ end class TAttrid super Token end -class TNumber +class TInteger super Token end class TFloat super Token end -class TChar - super Token -end class TString super Token end @@ -290,22 +331,35 @@ end class TEndString super Token end -class TBadChar +class TChar super Token end class TBadString super Token end +class TBadTString + super Token +end +class TBadChar + super Token +end class TExternCodeSegment super Token end +class TBadExtern + super Token +end class EOF super Token -private init noinit do end end class AError super EOF -private init noinit do end +end +class ALexerError + super AError +end +class AParserError + super AError end class AModule super Prod end @@ -315,20 +369,18 @@ 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 AQid super Prod end +class AQclassid 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 AExprs super Prod end class AAssignOp super Prod end -class AClosureDef super Prod end -class AClosureId super Prod end +class AForGroup super Prod end class AModuleName super Prod end class AExternCalls super Prod end class AExternCall super Prod end @@ -336,856 +388,1040 @@ 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 super AModule - readable var _n_moduledecl: nullable AModuledecl = null - readable var _n_imports: List[AImport] = new List[AImport] - readable var _n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock] - readable var _n_classdefs: List[AClassdef] = new List[AClassdef] + 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 super AModuledecl - readable var _n_doc: nullable ADoc = null - readable var _n_kwmodule: TKwmodule - readable var _n_name: AModuleName + 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 super AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_name: AModuleName + 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 super AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_kwend: TKwend + var n_visibility: AVisibility is writable, noinit + var n_kwimport: TKwimport is writable, noinit + var n_kwend: TKwend is writable, noinit end class APublicVisibility super AVisibility + var n_kwpublic: nullable TKwpublic = null is writable end class APrivateVisibility super AVisibility - readable var _n_kwprivate: TKwprivate + var n_kwprivate: TKwprivate is writable, noinit end class AProtectedVisibility super AVisibility - readable var _n_kwprotected: TKwprotected + var n_kwprotected: TKwprotected is writable, noinit end class AIntrudeVisibility super AVisibility - readable var _n_kwintrude: TKwintrude + var n_kwintrude: TKwintrude is writable, noinit 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_extern_code_block: nullable AExternCodeBlock = null - readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass] - readable var _n_propdefs: List[APropdef] = new List[APropdef] - readable var _n_kwend: TKwend + 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_qid: nullable AQclassid = 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 super AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + var n_propdefs: List[APropdef] = new List[APropdef] end class AMainClassdef super AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + var n_propdefs: List[APropdef] = new List[APropdef] end class AConcreteClasskind super AClasskind - readable var _n_kwclass: TKwclass + var n_kwclass: TKwclass is writable, noinit end class AAbstractClasskind super AClasskind - readable var _n_kwabstract: TKwabstract - readable var _n_kwclass: TKwclass + var n_kwabstract: TKwabstract is writable, noinit + var n_kwclass: TKwclass is writable, noinit end class AInterfaceClasskind super AClasskind - readable var _n_kwinterface: TKwinterface + var n_kwinterface: TKwinterface is writable, noinit end class AEnumClasskind super AClasskind - readable var _n_kwenum: TKwenum + var n_kwenum: TKwenum is writable, noinit end class AExternClasskind super AClasskind - readable var _n_kwextern: TKwextern + var n_kwextern: TKwextern is writable, noinit + var n_kwclass: nullable TKwclass = null is writable +end +class ASubsetClasskind + super AClasskind + var n_kwsubset: TKwsubset is writable, noinit end class AFormaldef super AFormaldef - readable var _n_id: TClassid - readable var _n_type: nullable AType = null -end -class ASuperclass - super ASuperclass - readable var _n_kwsuper: TKwsuper - readable var _n_type: AType + 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 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 + 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 AMethPropdef +class AMainMethPropdef 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 + var n_kwredef: nullable TKwredef = null is writable + var n_block: nullable AExpr = null is writable end -class ADeferredMethPropdef - 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 - 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 - 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 - readable var _n_extern_calls: nullable AExternCalls = null - readable var _n_extern_code_block: nullable AExternCodeBlock = null -end -class AConcreteMethPropdef - 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 - 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 AExternInitPropdef +class ATypePropdef super APropdef - readable var _n_doc: nullable ADoc = null - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: AVisibility - readable var _n_kwnew: TKwnew - readable var _n_methid: nullable AMethid = null - readable var _n_signature: ASignature - readable var _n_extern: nullable TString = null - readable var _n_extern_calls: nullable AExternCalls = null - readable var _n_extern_code_block: nullable AExternCodeBlock = null + 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_qid: AQclassid is writable, noinit + var n_type: AType is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end -class AMainMethPropdef +class AMethPropdef super APropdef - readable var _n_kwredef: nullable TKwredef = null - readable var _n_block: nullable AExpr = null -end -class ATypePropdef + 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_kwisa: nullable TKwisa = 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 - 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 - super AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_kwreadable: TKwreadable -end -class AWriteAble - super AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: nullable AVisibility = null - readable var _n_kwwritable: TKwwritable + 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 super AMethid - readable var _n_id: TId + var n_id: TId is writable, noinit end class APlusMethid super AMethid - readable var _n_plus: TPlus + var n_op: TPlus is writable, noinit end class AMinusMethid super AMethid - readable var _n_minus: TMinus + var n_op: TMinus is writable, noinit end class AStarMethid super AMethid - readable var _n_star: TStar + var n_op: TStar is writable, noinit +end +class AStarstarMethid + super AMethid + var n_op: TStarstar is writable, noinit end class ASlashMethid super AMethid - readable var _n_slash: TSlash + var n_op: TSlash is writable, noinit end class APercentMethid super AMethid - readable var _n_percent: TPercent + var n_op: TPercent is writable, noinit end class AEqMethid super AMethid - readable var _n_eq: TEq + var n_op: TEq is writable, noinit end class ANeMethid super AMethid - readable var _n_ne: TNe + var n_op: TNe is writable, noinit end class ALeMethid super AMethid - readable var _n_le: TLe + var n_op: TLe is writable, noinit end class AGeMethid super AMethid - readable var _n_ge: TGe + var n_op: TGe is writable, noinit end class ALtMethid super AMethid - readable var _n_lt: TLt + var n_op: TLt is writable, noinit end class AGtMethid super AMethid - readable var _n_gt: TGt + var n_op: TGt is writable, noinit end class ALlMethid super AMethid - readable var _n_ll: TLl + var n_op: TLl is writable, noinit end class AGgMethid super AMethid - readable var _n_gg: TGg + var n_op: TGg is writable, noinit end -class ABraMethid +class AStarshipMethid super AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra + var n_op: TStarship is writable, noinit end -class AStarshipMethid +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 - readable var _n_starship: TStarship + var n_obra: TObra is writable, noinit + var n_cbra: TCbra is writable, noinit end class AAssignMethid super AMethid - readable var _n_id: TId - readable var _n_assign: TAssign + var n_id: TId is writable, noinit + var n_assign: TAssign is writable, noinit end class ABraassignMethid super AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra - readable var _n_assign: TAssign + 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 AQclassid + super AQclassid + var n_qualified: nullable AQualified = null is writable + var n_id: TClassid is writable, noinit end class ASignature super ASignature - readable var _n_opar: nullable TOpar = null - readable var _n_params: List[AParam] = new List[AParam] - readable var _n_cpar: nullable TCpar = null - readable var _n_type: nullable AType = null - readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl] + 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 super AParam - readable var _n_id: TId - readable var _n_type: nullable AType = null - readable var _n_dotdotdot: nullable TDotdotdot = null -end -class AClosureDecl - 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 + 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 super AType - readable var _n_kwnullable: nullable TKwnullable = null - readable var _n_id: TClassid - readable var _n_types: List[AType] = new List[AType] + var n_kwnullable: nullable TKwnullable = null is writable + var n_qid: AQclassid 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 super ALabel - readable var _n_kwlabel: TKwlabel - readable var _n_id: TId + var n_kwlabel: TKwlabel is writable, noinit + var n_id: nullable TId = null is writable end class ABlockExpr super AExpr - readable var _n_expr: List[AExpr] = new List[AExpr] - readable var _n_kwend: nullable TKwend = null + var n_expr: List[AExpr] = new List[AExpr] + var n_kwend: nullable TKwend = null is writable end class AVardeclExpr 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 + 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 super AExpr - readable var _n_kwreturn: nullable TKwreturn = null - readable var _n_expr: nullable AExpr = null + var n_kwreturn: nullable TKwreturn = null is writable + var n_expr: nullable AExpr = null is writable +end +class AYieldExpr + super AExpr + var n_kwyield: TKwyield is writable, noinit + var n_expr: AExpr is writable, noinit end class ABreakExpr super AExpr - readable var _n_kwbreak: TKwbreak - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + var n_kwbreak: TKwbreak is writable, noinit + var n_label: nullable ALabel = null is writable end class AAbortExpr super AExpr - readable var _n_kwabort: TKwabort + var n_kwabort: TKwabort is writable, noinit end class AContinueExpr super AExpr - readable var _n_kwcontinue: nullable TKwcontinue = null - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + var n_kwcontinue: nullable TKwcontinue = null is writable + var n_label: nullable ALabel = null is writable end class ADoExpr super AExpr - readable var _n_kwdo: TKwdo - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + var n_kwdo: TKwdo is writable, noinit + var n_block: nullable AExpr = null is writable + var n_kwcatch: nullable TKwcatch = null is writable + var n_catch: nullable AExpr = null is writable + var n_label: nullable ALabel = null is writable end class AIfExpr 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 + 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 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 + 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 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 + 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 super AExpr - readable var _n_kwloop: TKwloop - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + 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 super AExpr - readable var _n_kwfor: TKwfor - readable var _n_ids: List[TId] = new List[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 + 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 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 + 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 super AExpr - readable var _n_kwonce: TKwonce - readable var _n_expr: AExpr + var n_kwonce: TKwonce is writable, noinit + var n_expr: AExpr is writable, noinit end class ASendExpr super AExpr - readable var _n_expr: AExpr + var n_expr: AExpr is writable, noinit end class ABinopExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var n_expr: AExpr is writable, noinit + var n_expr2: AExpr is writable, noinit end class AOrExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 ANotExpr +class AImpliesExpr super AExpr - readable var _n_kwnot: TKwnot - readable var _n_expr: AExpr + var n_expr: AExpr is writable, noinit + var n_op: TKwimplies is writable, noinit + var n_expr2: AExpr is writable, noinit end -class AEqExpr +class ANotExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var n_kwnot: TKwnot is writable, noinit + var n_expr: AExpr is writable, noinit end -class AEeExpr +class AEqExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_type: AType + var n_expr: AExpr is writable, noinit + var n_kwisa: TKwisa is writable, noinit + var n_type: AType is writable, noinit end class APlusExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_minus: TMinus - readable var _n_expr: 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 super AExpr - readable var _n_kwnew: TKwnew - readable var _n_type: AType - readable var _n_id: nullable TId = null - readable var _n_args: AExprs + 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 super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid + var n_expr: AExpr is writable, noinit + var n_id: TAttrid is writable, noinit end class AAttrAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign: TAssign - readable var _n_value: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign_op: AAssignOp - readable var _n_value: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] + var n_expr: AExpr is writable, noinit + var n_qid: AQid is writable, noinit + var n_args: AExprs is writable, noinit +end +class ACallrefExpr + super AExpr + var n_amp: TAmp is writable, noinit + var n_expr: AExpr is writable, noinit + var n_qid: AQid is writable, noinit + var n_args: AExprs is writable, noinit end class ACallAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_assign: TAssign - readable var _n_value: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_assign_op: AAssignOp - readable var _n_value: 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 super AExpr - readable var _n_qualified: nullable AQualified = null - readable var _n_kwsuper: TKwsuper - readable var _n_args: AExprs + 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 super AExpr - readable var _n_expr: AExpr - readable var _n_kwinit: TKwinit - readable var _n_args: AExprs + var n_expr: AExpr is writable, noinit + var n_kwinit: TKwinit is writable, noinit + var n_args: AExprs is writable, noinit end class ABraExpr super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs - readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] + var n_expr: AExpr is writable, noinit + var n_args: AExprs is writable, noinit end class ABraAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs - readable var _n_assign: TAssign - readable var _n_value: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr -end -class AClosureCallExpr - super AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef] + 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 super AExpr - readable var _n_id: TId + var n_id: TId is writable, noinit end class AVarAssignExpr super AExpr - readable var _n_id: TId - readable var _n_assign: TAssign - readable var _n_value: 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 super AExpr - readable var _n_id: TId - readable var _n_assign_op: AAssignOp - readable var _n_value: 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 super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: 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 super AExpr - readable var _n_obra: TObra - readable var _n_expr: AExpr - readable var _n_expr2: AExpr - readable var _n_cbra: TCbra + 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 super AExpr - readable var _n_obra: TObra - readable var _n_expr: AExpr - readable var _n_expr2: AExpr - readable var _n_cbra: TObra + 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 super AExpr - readable var _n_exprs: AExprs + 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 super AExpr - readable var _n_kwself: TKwself + var n_kwself: TKwself is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AImplicitSelfExpr super AExpr end class ATrueExpr super AExpr - readable var _n_kwtrue: TKwtrue + var n_kwtrue: TKwtrue is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AFalseExpr super AExpr - readable var _n_kwfalse: TKwfalse + var n_kwfalse: TKwfalse is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ANullExpr super AExpr - readable var _n_kwnull: TKwnull + var n_kwnull: TKwnull is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end -class AIntExpr +class AIntegerExpr super AExpr - readable var _n_number: TNumber + var n_integer: TInteger is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AFloatExpr super AExpr - readable var _n_float: TFloat + var n_float: TFloat is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class ACharExpr super AExpr - readable var _n_char: TChar + var n_char: TChar is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AStringExpr super AExpr - readable var _n_string: TString + var n_string: TString is writable, noinit + var n_annotations: nullable AAnnotations = null is writable end class AStartStringExpr super AExpr - readable var _n_string: TStartString + var n_string: TStartString is writable, noinit end class AMidStringExpr super AExpr - readable var _n_string: TMidString + var n_string: TMidString is writable, noinit end class AEndStringExpr super AExpr - readable var _n_string: TEndString + var n_string: TEndString is writable, noinit end class ASuperstringExpr super AExpr - readable var _n_exprs: List[AExpr] = new List[AExpr] + var n_exprs: List[AExpr] = new List[AExpr] + var n_annotations: nullable AAnnotations = null is writable +end +class ALambdaExpr + super AExpr + var n_kwmeth: TKwmeth is writable, noinit + var n_signature: ASignature is writable, noinit + var n_kwdo: TKwdo is writable, noinit + var n_expr: AExpr is writable, noinit end class AParExpr super AExpr - readable var _n_opar: TOpar - readable var _n_expr: AExpr - readable var _n_cpar: TCpar + 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 super AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_opar: TOpar - readable var _n_type: AType - readable var _n_cpar: TCpar + 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 super AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_opar: TOpar - readable var _n_kwnot: TKwnot - readable var _n_kwnull: TKwnull - readable var _n_cpar: TCpar + 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 super AExpr - readable var _n_kwisset: TKwisset - readable var _n_expr: AExpr - readable var _n_id: TAttrid + 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 - readable var _n_kwdebug: TKwdebug - readable var _n_kwtype: TKwtype - readable var _n_expr: AExpr - readable var _n_type: AType + 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 ASafeExpr + super AExpr + var n_expr: AExpr is writable, noinit + var n_quest: TQuest 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 - readable var _n_exprs: List[AExpr] = new List[AExpr] + var n_exprs: List[AExpr] = new List[AExpr] end class AParExprs super AExprs - readable var _n_opar: TOpar - readable var _n_exprs: List[AExpr] = new List[AExpr] - readable var _n_cpar: TCpar + 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 - readable var _n_obra: TObra - readable var _n_exprs: List[AExpr] = new List[AExpr] - readable var _n_cbra: TCbra + 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 super AAssignOp - readable var _n_pluseq: TPluseq + var n_op: TPluseq is writable, noinit end class AMinusAssignOp super AAssignOp - readable var _n_minuseq: TMinuseq + 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 AClosureDef - 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 +class AAmpAssignOp + super AAssignOp + var n_op: TAmpeq is writable, noinit end -class ASimpleClosureId - super AClosureId - readable var _n_id: TId +class ALlAssignOp + super AAssignOp + var n_op: TLleq is writable, noinit end -class ABreakClosureId - super AClosureId - readable var _n_kwbreak: TKwbreak +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 - readable var _n_quad: nullable TQuad = null - readable var _n_path: List[TId] = new List[TId] - readable var _n_id: TId + 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 - readable var _n_kwimport: TKwimport - readable var _n_extern_calls: List[AExternCall] = new List[AExternCall] + 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 - readable var _n_kwsuper: TKwsuper + var n_kwsuper: TKwsuper is writable, noinit end class ALocalPropExternCall super AExternCall - readable var _n_methid: AMethid + var n_methid: AMethid is writable, noinit end class AFullPropExternCall super AExternCall - readable var _n_classid: TClassid - readable var _n_quad: nullable TQuad = null - readable var _n_methid: AMethid + 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 - readable var _n_classid: TClassid + var n_type: AType is writable, noinit end class ACastAsExternCall super AExternCall - readable var _n_from_type: AType - readable var _n_kwas: TKwas - readable var _n_to_type: AType + 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 - readable var _n_type: AType - readable var _n_kwas: TKwas - readable var _n_kwnullable: TKwnullable + 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 - readable var _n_type: AType - readable var _n_kwas: TKwas - readable var _n_kwnot: TKwnot - readable var _n_kwnullable: TKwnullable + 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 - readable var _n_kwin: TKwin - readable var _n_string: TString + var n_kwin: TKwin is writable, noinit + var n_string: TString is writable, noinit end class AExternCodeBlock super AExternCodeBlock - readable var _n_in_language: nullable AInLanguage = null - readable var _n_extern_code_segment: TExternCodeSegment + var n_in_language: nullable AInLanguage = null is writable + var n_extern_code_segment: TExternCodeSegment is writable, noinit end class AQualified super AQualified - readable var _n_id: List[TId] = new List[TId] - readable var _n_classid: nullable TClassid = null + var n_id: List[TId] = new List[TId] + var n_classid: nullable TClassid = null is writable end class ADoc super ADoc - readable var _n_comment: List[TComment] = new List[TComment] + 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 super Prod - readable var _n_base: nullable AModule - readable var _n_eof: EOF - init( - n_base: nullable AModule, - n_eof: EOF) - do - _n_base = n_base - _n_eof = n_eof - end - + 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