-# Raw AST node hierarchy.
-# This file was generated by SableCC (http://www.sablecc.org/).
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2008-2009 Jean Privat <jean@pryen.org>
+# Copyright 2009 Jean-Sebastien Gelinas <calestar@gmail.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# AST nodes of the Nit language
+# Was previously based on parser_abs.nit.
package parser_nodes
-import mmloader
+import location
# Root of the AST hierarchy
-abstract class PNode
- readable var _location: nullable Location
+abstract class ANode
+ var _location: nullable Location
+ # Location is set during AST building. Once built, location cannon be null
+ # However, manual instanciated nodes may need mode care
+ fun location: Location do return _location.as(not null)
end
# Ancestor of all tokens
abstract class Token
-special PNode
+special ANode
end
# Ancestor of all productions
abstract class Prod
-special PNode
- fun location=(loc: nullable Location) do _location = loc
+special ANode
+ fun location=(l: Location) do _location = l
end
class TEol
special Token
class TKwtype
special Token
end
-class TKwattr
-special Token
-end
class TKwinit
special Token
end
class TKwwhile
special Token
end
+class TKwloop
+special Token
+end
class TKwfor
special Token
end
class TKwas
special Token
end
-class TKwwith
-special Token
-end
class TKwnullable
special Token
end
class TKwisset
special Token
end
+class TKwlabel
+special Token
+end
class TOpar
special Token
end
class TStarship
special Token
end
+class TBang
+special Token
+end
class TClassid
special Token
end
class TEndString
special Token
end
-class EOF
+class EOF
special Token
private init noinit do end
end
-class PError
+class AError
special EOF
private init noinit do end
end
-class PModule special Prod end
-class PPackagedecl special Prod end
-class PImport special Prod end
-class PVisibility special Prod end
-class PClassdef special Prod end
-class PClasskind special Prod end
-class PFormaldef special Prod end
-class PSuperclass special Prod end
-class PPropdef special Prod
- readable writable var _n_doc: nullable PDoc = null
-end
-class PAble special Prod
- readable writable var _n_kwredef: nullable TKwredef = null
-end
-class PMethid special Prod end
-class PSignature special Prod end
-class PParam
-special Prod
- readable writable var _n_id: TId
- readable writable var _n_type: nullable PType = null
-end
-class PClosureDecl special Prod end
-class PType special Prod end
-class PExpr special Prod end
-class PAssignOp special Prod end
-class PClosureDef special Prod end
-class PQualified special Prod end
-class PDoc special Prod end
-
class AModule
-special PModule
- readable writable var _n_packagedecl: nullable PPackagedecl = null
- readable writable var _n_imports: List[PImport] = new List[PImport]
- readable writable var _n_classdefs: List[PClassdef] = new List[PClassdef]
+special Prod
+ readable writable var _n_packagedecl: nullable APackagedecl = null
+ readable writable var _n_imports: List[AImport] = new List[AImport]
+ readable writable var _n_classdefs: List[AClassdef] = new List[AClassdef]
end
class APackagedecl
-special PPackagedecl
- readable writable var _n_doc: nullable PDoc = null
+special Prod
+ readable writable var _n_doc: nullable ADoc = null
readable writable var _n_kwpackage: TKwpackage
readable writable var _n_id: TId
end
+class AImport special Prod end
class AStdImport
-special PImport
- readable writable var _n_visibility: PVisibility
+special AImport
+ readable writable var _n_visibility: AVisibility
readable writable var _n_kwimport: TKwimport
readable writable var _n_id: TId
end
class ANoImport
-special PImport
- readable writable var _n_visibility: PVisibility
+special AImport
+ readable writable var _n_visibility: AVisibility
readable writable var _n_kwimport: TKwimport
readable writable var _n_kwend: TKwend
end
+class AVisibility special Prod end
class APublicVisibility
-special PVisibility
+special AVisibility
end
class APrivateVisibility
-special PVisibility
+special AVisibility
readable writable var _n_kwprivate: TKwprivate
end
class AProtectedVisibility
-special PVisibility
+special AVisibility
readable writable var _n_kwprotected: TKwprotected
end
class AIntrudeVisibility
-special PVisibility
+special AVisibility
readable writable var _n_kwintrude: TKwintrude
end
+class AClassdef special Prod end
class AStdClassdef
-special PClassdef
- readable writable var _n_doc: nullable PDoc = null
+special AClassdef
+ readable writable var _n_doc: nullable ADoc = null
readable writable var _n_kwredef: nullable TKwredef = null
- readable writable var _n_visibility: PVisibility
- readable writable var _n_classkind: PClasskind
+ readable writable var _n_visibility: AVisibility
+ readable writable var _n_classkind: AClasskind
readable writable var _n_id: nullable TClassid = null
- readable writable var _n_formaldefs: List[PFormaldef] = new List[PFormaldef]
- readable writable var _n_superclasses: List[PSuperclass] = new List[PSuperclass]
- readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+ readable writable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+ readable writable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
+ readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
end
class ATopClassdef
-special PClassdef
- readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+ readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
end
class AMainClassdef
-special PClassdef
- readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+ readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
end
+class AClasskind special Prod end
class AConcreteClasskind
-special PClasskind
+special AClasskind
readable writable var _n_kwclass: TKwclass
end
class AAbstractClasskind
-special PClasskind
+special AClasskind
readable writable var _n_kwabstract: TKwabstract
readable writable var _n_kwclass: TKwclass
end
class AInterfaceClasskind
-special PClasskind
+special AClasskind
readable writable var _n_kwinterface: TKwinterface
end
class AUniversalClasskind
-special PClasskind
+special AClasskind
readable writable var _n_kwuniversal: TKwuniversal
end
class AFormaldef
-special PFormaldef
+special Prod
readable writable var _n_id: TClassid
- readable writable var _n_type: nullable PType = null
+ readable writable var _n_type: nullable AType = null
end
class ASuperclass
-special PSuperclass
+special Prod
readable writable var _n_kwspecial: TKwspecial
- readable writable var _n_type: PType
+ readable writable var _n_type: AType
+end
+class APropdef special Prod
+ readable writable var _n_doc: nullable ADoc = null
end
class AAttrPropdef
-special PPropdef
+special APropdef
readable writable var _n_kwredef: nullable TKwredef = null
- readable writable var _n_visibility: PVisibility
- readable writable var _n_kwattr: nullable TKwattr = null
- readable writable var _n_kwvar: nullable TKwvar = null
+ readable writable var _n_visibility: AVisibility
+ readable writable var _n_kwvar: TKwvar
readable writable var _n_id: TAttrid
- readable writable var _n_type: nullable PType = null
- readable writable var _n_readable: nullable PAble = null
- readable writable var _n_writable: nullable PAble = null
- readable writable var _n_expr: nullable PExpr = null
+ readable writable var _n_type: nullable AType = null
+ readable writable var _n_readable: nullable AAble = null
+ readable writable var _n_writable: nullable AAble = null
+ readable writable var _n_expr: nullable AExpr = null
end
class AMethPropdef
-special PPropdef
+special APropdef
readable writable var _n_kwredef: nullable TKwredef = null
- readable writable var _n_visibility: nullable PVisibility
- readable writable var _n_methid: nullable PMethid = null
- readable writable var _n_signature: nullable PSignature
+ readable writable var _n_visibility: nullable AVisibility
+ readable writable var _n_methid: nullable AMethid = null
+ readable writable var _n_signature: nullable ASignature
end
class ADeferredMethPropdef
special AMethPropdef
class AConcreteMethPropdef
special AMethPropdef
readable writable var _n_kwmeth: nullable TKwmeth
- readable writable var _n_block: nullable PExpr = null
+ readable writable var _n_block: nullable AExpr = null
end
class AConcreteInitPropdef
special AConcreteMethPropdef
special AConcreteMethPropdef
end
class ATypePropdef
-special PPropdef
+special APropdef
readable writable var _n_kwredef: nullable TKwredef = null
- readable writable var _n_visibility: PVisibility
+ readable writable var _n_visibility: AVisibility
readable writable var _n_kwtype: TKwtype
readable writable var _n_id: TClassid
- readable writable var _n_type: PType
+ readable writable var _n_type: AType
+end
+class AAble special Prod
+ readable writable var _n_kwredef: nullable TKwredef = null
end
class AReadAble
-special PAble
+special AAble
readable writable var _n_kwreadable: TKwreadable
end
class AWriteAble
-special PAble
+special AAble
readable writable var _n_kwwritable: TKwwritable
end
+class AMethid special Prod end
class AIdMethid
-special PMethid
+special AMethid
readable writable var _n_id: TId
end
class APlusMethid
-special PMethid
+special AMethid
readable writable var _n_plus: TPlus
end
class AMinusMethid
-special PMethid
+special AMethid
readable writable var _n_minus: TMinus
end
class AStarMethid
-special PMethid
+special AMethid
readable writable var _n_star: TStar
end
class ASlashMethid
-special PMethid
+special AMethid
readable writable var _n_slash: TSlash
end
class APercentMethid
-special PMethid
+special AMethid
readable writable var _n_percent: TPercent
end
class AEqMethid
-special PMethid
+special AMethid
readable writable var _n_eq: TEq
end
class ANeMethid
-special PMethid
+special AMethid
readable writable var _n_ne: TNe
end
class ALeMethid
-special PMethid
+special AMethid
readable writable var _n_le: TLe
end
class AGeMethid
-special PMethid
+special AMethid
readable writable var _n_ge: TGe
end
class ALtMethid
-special PMethid
+special AMethid
readable writable var _n_lt: TLt
end
class AGtMethid
-special PMethid
+special AMethid
readable writable var _n_gt: TGt
end
class ABraMethid
-special PMethid
+special AMethid
readable writable var _n_obra: TObra
readable writable var _n_cbra: TCbra
end
class AStarshipMethid
-special PMethid
+special AMethid
readable writable var _n_starship: TStarship
end
class AAssignMethid
-special PMethid
+special AMethid
readable writable var _n_id: TId
readable writable var _n_assign: TAssign
end
class ABraassignMethid
-special PMethid
+special AMethid
readable writable var _n_obra: TObra
readable writable var _n_cbra: TCbra
readable writable var _n_assign: TAssign
end
class ASignature
-special PSignature
- readable writable var _n_params: List[PParam] = new List[PParam]
- readable writable var _n_type: nullable PType = null
- readable writable var _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl]
+special Prod
+ readable writable var _n_params: List[AParam] = new List[AParam]
+ readable writable var _n_type: nullable AType = null
+ readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
end
class AParam
-special PParam
+special Prod
+ readable writable var _n_id: TId
+ readable writable var _n_type: nullable AType = null
readable writable var _n_dotdotdot: nullable TDotdotdot = null
end
class AClosureDecl
-special PClosureDecl
- readable writable var _n_kwwith: TKwwith
+special Prod
readable writable var _n_kwbreak: nullable TKwbreak = null
+ readable writable var _n_bang: TBang
readable writable var _n_id: TId
- readable writable var _n_signature: PSignature
- readable writable var _n_expr: nullable PExpr = null
+ readable writable var _n_signature: ASignature
+ readable writable var _n_expr: nullable AExpr = null
end
class AType
-special PType
+special Prod
readable writable var _n_kwnullable: nullable TKwnullable = null
readable writable var _n_id: TClassid
- readable writable var _n_types: List[PType] = new List[PType]
+ readable writable var _n_types: List[AType] = new List[AType]
end
-
-
-
+class ALabel
+special Prod
+ readable writable var _n_kwlabel: TKwlabel
+ readable writable var _n_id: TId
+end
+class AExpr special Prod end
class ABlockExpr
-special PExpr
- readable writable var _n_expr: List[PExpr] = new List[PExpr]
+special AExpr
+ readable writable var _n_expr: List[AExpr] = new List[AExpr]
end
class AVardeclExpr
-special PExpr
+special AExpr
readable writable var _n_kwvar: TKwvar
readable writable var _n_id: TId
- readable writable var _n_type: nullable PType = null
+ readable writable var _n_type: nullable AType = null
readable writable var _n_assign: nullable TAssign = null
- readable writable var _n_expr: nullable PExpr = null
+ readable writable var _n_expr: nullable AExpr = null
end
class AReturnExpr
-special PExpr
- readable writable var _n_kwreturn: TKwreturn
- readable writable var _n_expr: nullable PExpr = null
+special AExpr
+ readable writable var _n_kwreturn: nullable TKwreturn = null
+ readable writable var _n_expr: nullable AExpr = null
+end
+class ALabelable
+special Prod
+ readable writable var _n_label: nullable ALabel = null
end
class ABreakExpr
-special PExpr
+special AExpr
+special ALabelable
readable writable var _n_kwbreak: TKwbreak
- readable writable var _n_expr: nullable PExpr = null
+ readable writable var _n_expr: nullable AExpr = null
end
class AAbortExpr
-special PExpr
+special AExpr
readable writable var _n_kwabort: TKwabort
end
class AContinueExpr
-special PExpr
- readable writable var _n_kwcontinue: TKwcontinue
- readable writable var _n_expr: nullable PExpr = null
+special AExpr
+special ALabelable
+ readable writable var _n_kwcontinue: nullable TKwcontinue = null
+ readable writable var _n_expr: nullable AExpr = null
end
class ADoExpr
-special PExpr
+special AExpr
+special ALabelable
readable writable var _n_kwdo: TKwdo
- readable writable var _n_block: nullable PExpr = null
+ readable writable var _n_block: nullable AExpr = null
end
class AIfExpr
-special PExpr
+special AExpr
readable writable var _n_kwif: TKwif
- readable writable var _n_expr: PExpr
- readable writable var _n_then: nullable PExpr = null
- readable writable var _n_else: nullable PExpr = null
+ readable writable var _n_expr: AExpr
+ readable writable var _n_then: nullable AExpr = null
+ readable writable var _n_else: nullable AExpr = null
end
class AIfexprExpr
-special PExpr
+special AExpr
readable writable var _n_kwif: TKwif
- readable writable var _n_expr: PExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_kwthen: TKwthen
- readable writable var _n_then: PExpr
+ readable writable var _n_then: AExpr
readable writable var _n_kwelse: TKwelse
- readable writable var _n_else: PExpr
+ readable writable var _n_else: AExpr
end
class AWhileExpr
-special PExpr
+special AExpr
+special ALabelable
readable writable var _n_kwwhile: TKwwhile
- readable writable var _n_expr: PExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_kwdo: TKwdo
- readable writable var _n_block: nullable PExpr = null
+ readable writable var _n_block: nullable AExpr = null
+end
+class ALoopExpr
+special AExpr
+special ALabelable
+ readable writable var _n_kwloop: TKwloop
+ readable writable var _n_block: nullable AExpr = null
end
class AForExpr
-special PExpr
+special AExpr
+special ALabelable
readable writable var _n_kwfor: TKwfor
readable writable var _n_id: TId
- readable writable var _n_expr: PExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_kwdo: TKwdo
- readable writable var _n_block: nullable PExpr = null
+ readable writable var _n_block: nullable AExpr = null
end
class AAssertExpr
-special PExpr
+special AExpr
readable writable var _n_kwassert: TKwassert
readable writable var _n_id: nullable TId = null
- readable writable var _n_expr: PExpr
+ readable writable var _n_expr: AExpr
end
class AAssignFormExpr
-special PExpr
+special AExpr
readable writable var _n_assign: TAssign
- readable writable var _n_value: PExpr
+ readable writable var _n_value: AExpr
end
class AReassignFormExpr
-special PExpr
- readable writable var _n_assign_op: PAssignOp
- readable writable var _n_value: PExpr
+special AExpr
+ readable writable var _n_assign_op: AAssignOp
+ readable writable var _n_value: AExpr
end
class AOnceExpr
special AProxyExpr
readable writable var _n_kwonce: TKwonce
end
class ASendExpr
-special PExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+special AExpr
+ readable writable var _n_expr: AExpr
+ readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
end
class ABinopExpr
special ASendExpr
- readable writable var _n_expr2: PExpr
+ readable writable var _n_expr2: AExpr
end
class ABoolExpr
-special PExpr
+special AExpr
end
class AOrExpr
special ABoolExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_expr2: PExpr
+ readable writable var _n_expr: AExpr
+ readable writable var _n_expr2: AExpr
end
class AAndExpr
special ABoolExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_expr2: PExpr
+ readable writable var _n_expr: AExpr
+ readable writable var _n_expr2: AExpr
end
class ANotExpr
special ABoolExpr
readable writable var _n_kwnot: TKwnot
- readable writable var _n_expr: PExpr
+ readable writable var _n_expr: AExpr
end
class AEqExpr
special ABinopExpr
end
class AEeExpr
special ABoolExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_expr2: PExpr
+ readable writable var _n_expr: AExpr
+ readable writable var _n_expr2: AExpr
end
class ANeExpr
special ABinopExpr
end
class AIsaExpr
special ABoolExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_type: PType
+ readable writable var _n_expr: AExpr
+ readable writable var _n_type: AType
end
class APlusExpr
special ABinopExpr
readable writable var _n_minus: TMinus
end
class ANewExpr
-special PExpr
+special AExpr
readable writable var _n_kwnew: TKwnew
- readable writable var _n_type: PType
+ readable writable var _n_type: AType
readable writable var _n_id: nullable TId = null
- readable writable var _n_args: List[PExpr] = new List[PExpr]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
end
class AAttrFormExpr
-special PExpr
- readable writable var _n_expr: PExpr
+special AExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_id: TAttrid
end
class AAttrExpr
class ACallFormExpr
special ASendExpr
readable writable var _n_id: TId
- readable writable var _n_args: List[PExpr] = new List[PExpr]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
end
class AAttrReassignExpr
-special PExpr
-special AAttrFormExpr
-special AReassignFormExpr
+special AExpr
+special AAttrFormExpr
+special AReassignFormExpr
end
class ACallExpr
special ACallFormExpr
end
class ACallAssignExpr
special ACallFormExpr
-special AAssignFormExpr
+special AAssignFormExpr
end
class ACallReassignExpr
-special PExpr
+special AExpr
special ACallFormExpr
-special AReassignFormExpr
+special AReassignFormExpr
end
class ASuperExpr
-special PExpr
- readable writable var _n_qualified: nullable PQualified = null
+special AExpr
+ readable writable var _n_qualified: nullable AQualified = null
readable writable var _n_kwsuper: TKwsuper
- readable writable var _n_args: List[PExpr] = new List[PExpr]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
end
class AInitExpr
special ASendExpr
readable writable var _n_kwinit: TKwinit
- readable writable var _n_args: List[PExpr] = new List[PExpr]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
end
class ABraFormExpr
special ASendExpr
- readable writable var _n_args: List[PExpr] = new List[PExpr]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
end
class ABraExpr
special ABraFormExpr
end
class ABraAssignExpr
special ABraFormExpr
-special AAssignFormExpr
+special AAssignFormExpr
end
class AVarFormExpr
-special PExpr
+special AExpr
readable writable var _n_id: TId
end
class ABraReassignExpr
special ABraFormExpr
-special AReassignFormExpr
+special AReassignFormExpr
end
class AClosureCallExpr
-special PExpr
+special AExpr
readable writable var _n_id: TId
- readable writable var _n_args: List[PExpr] = new List[PExpr]
- readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+ readable writable var _n_args: List[AExpr] = new List[AExpr]
+ readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
end
class AVarExpr
special AVarFormExpr
end
class AVarAssignExpr
special AVarFormExpr
-special AAssignFormExpr
+special AAssignFormExpr
end
class AVarReassignExpr
special AVarFormExpr
-special AReassignFormExpr
+special AReassignFormExpr
end
class ARangeExpr
-special PExpr
- readable writable var _n_expr: PExpr
- readable writable var _n_expr2: PExpr
+special AExpr
+ readable writable var _n_expr: AExpr
+ readable writable var _n_expr2: AExpr
end
class ACrangeExpr
special ARangeExpr
special ARangeExpr
end
class AArrayExpr
-special PExpr
- readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+ readable writable var _n_exprs: List[AExpr] = new List[AExpr]
end
class ASelfExpr
-special PExpr
+special AExpr
readable writable var _n_kwself: nullable TKwself
end
class AImplicitSelfExpr
readable writable var _n_kwfalse: TKwfalse
end
class ANullExpr
-special PExpr
+special AExpr
readable writable var _n_kwnull: TKwnull
end
class AIntExpr
-special PExpr
+special AExpr
readable writable var _n_number: TNumber
end
class AFloatExpr
-special PExpr
+special AExpr
readable writable var _n_float: TFloat
end
class ACharExpr
-special PExpr
+special AExpr
readable writable var _n_char: TChar
end
class AStringFormExpr
-special PExpr
+special AExpr
end
class AStringExpr
special AStringFormExpr
readable writable var _n_string: TEndString
end
class ASuperstringExpr
-special PExpr
- readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+ readable writable var _n_exprs: List[AExpr] = new List[AExpr]
end
class AParExpr
special AProxyExpr
end
class AProxyExpr
-special PExpr
- readable writable var _n_expr: PExpr
+special AExpr
+ readable writable var _n_expr: AExpr
end
class AAsCastExpr
-special PExpr
- readable writable var _n_expr: PExpr
+special AExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_kwas: TKwas
- readable writable var _n_type: PType
+ readable writable var _n_type: AType
end
class AAsNotnullExpr
-special PExpr
- readable writable var _n_expr: PExpr
+special AExpr
+ readable writable var _n_expr: AExpr
readable writable var _n_kwas: TKwas
readable writable var _n_kwnot: TKwnot
readable writable var _n_kwnull: TKwnull
special AAttrFormExpr
readable writable var _n_kwisset: TKwisset
end
+class AAssignOp special Prod end
class APlusAssignOp
-special PAssignOp
+special AAssignOp
readable writable var _n_pluseq: TPluseq
end
class AMinusAssignOp
-special PAssignOp
+special AAssignOp
readable writable var _n_minuseq: TMinuseq
end
class AClosureDef
-special PClosureDef
- readable writable var _n_kwwith: TKwwith
- readable writable var _n_id: List[TId] = new List[TId]
- readable writable var _n_kwdo: TKwdo
- readable writable var _n_expr: nullable PExpr = null
+special ALabelable
+ readable writable var _n_bang: TBang
+ readable writable var _n_id: AClosureId
+ readable writable var _n_ids: List[TId] = new List[TId]
+ readable writable var _n_kwdo: nullable TKwdo = null
+ readable writable var _n_expr: nullable AExpr = null
+end
+class AClosureId
+special Prod
+end
+class ASimpleClosureId
+special AClosureId
+ readable writable var _n_id: TId
+end
+class ABreakClosureId
+special AClosureId
+ readable writable var _n_kwbreak: TKwbreak
end
class AQualified
-special PQualified
+special Prod
readable writable var _n_id: List[TId] = new List[TId]
readable writable var _n_classid: nullable TClassid = null
end
class ADoc
-special PDoc
+special Prod
readable writable var _n_comment: List[TComment] = new List[TComment]
end
class Start
special Prod
- readable writable var _n_base: nullable PModule
+ readable writable var _n_base: nullable AModule
readable writable var _n_eof: EOF
end