# Raw AST node hierarchy.
-# This file was generated by SableCC (http://www.sablecc.org/).
+# This file was generated by SableCC (http://www.sablecc.org/).
package parser_abs
-import mmloader
+import location
# Root of the AST hierarchy
abstract class ANode
- readable var _location: nullable Location
+ 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
# Ancestor of all productions
abstract class Prod
special ANode
- fun location=(loc: nullable Location) do _location = loc
+ fun location=(loc: Location) do _location = loc
end
class TEol
special Token
class TKwtype
special Token
end
-class TKwattr
-special Token
-end
class TKwinit
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 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
readable writable var _n_writable: nullable AAble = null
readable writable var _n_kwredef: nullable TKwredef = null
readable writable var _n_visibility: AVisibility
- readable writable var _n_kwattr: nullable TKwattr = null
- readable writable var _n_kwvar: nullable TKwvar = null
+ readable writable var _n_kwvar: TKwvar
readable writable var _n_id: TAttrid
readable writable var _n_type: nullable AType = null
readable writable var _n_expr: nullable AExpr = null
end
class AClosureDecl
special AClosureDecl
- readable writable var _n_kwwith: TKwwith
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: ASignature
readable writable var _n_expr: nullable AExpr = null
readable writable var _n_id: TClassid
readable writable var _n_types: List[AType] = new List[AType]
end
+class ALabel
+special ALabel
+ readable writable var _n_kwlabel: TKwlabel
+ readable writable var _n_id: TId
+end
class ABlockExpr
special AExpr
readable writable var _n_expr: List[AExpr] = new List[AExpr]
class ABreakExpr
special AExpr
readable writable var _n_kwbreak: TKwbreak
+ readable writable var _n_label: nullable ALabel = null
readable writable var _n_expr: nullable AExpr = null
end
class AAbortExpr
class AContinueExpr
special AExpr
readable writable var _n_kwcontinue: TKwcontinue
+ readable writable var _n_label: nullable ALabel = null
readable writable var _n_expr: nullable AExpr = null
end
class ADoExpr
special AExpr
readable writable var _n_kwdo: TKwdo
readable writable var _n_block: nullable AExpr = null
+ readable writable var _n_label: nullable ALabel = null
end
class AIfExpr
special AExpr
readable writable var _n_expr: AExpr
readable writable var _n_kwdo: TKwdo
readable writable var _n_block: nullable AExpr = null
+ readable writable var _n_label: nullable ALabel = null
end
class AForExpr
special AExpr
readable writable var _n_expr: AExpr
readable writable var _n_kwdo: TKwdo
readable writable var _n_block: nullable AExpr = null
+ readable writable var _n_label: nullable ALabel = null
end
class AAssertExpr
special AExpr
end
class AClosureDef
special AClosureDef
- readable writable var _n_kwwith: TKwwith
- readable writable var _n_id: List[TId] = new List[TId]
+ 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: TKwdo
readable writable var _n_expr: nullable AExpr = null
+ readable writable var _n_label: nullable ALabel = null
+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 AQualified
class Start
special Prod
- readable writable var _n_base: nullable AModule
- readable writable var _n_eof: EOF
+ readable writable var _n_base: nullable AModule
+ readable writable var _n_eof: EOF
end