parser: regenerate with lambda
[nit.git] / src / parser / parser_abs.nit
index d10c615..07db08a 100644 (file)
@@ -1,6 +1,6 @@
 # Raw AST node hierarchy.
 # This file was generated by SableCC (http://www.sablecc.org/).
-module parser_abs
+module parser_abs is generated, no_warning("missing-doc")
 
 import location
 
@@ -31,6 +31,9 @@ end
 class TKwenum
        super Token
 end
+class TKwsubset
+       super Token
+end
 class TKwend
        super Token
 end
@@ -52,18 +55,9 @@ end
 class TKwdo
        super Token
 end
-class TKwreadable
-       super Token
-end
-class TKwwritable
-       super Token
-end
 class TKwvar
        super Token
 end
-class TKwintern
-       super Token
-end
 class TKwextern
        super Token
 end
@@ -163,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
@@ -196,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
@@ -214,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
@@ -250,9 +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
@@ -262,10 +313,7 @@ end
 class TAttrid
        super Token
 end
-class TNumber
-       super Token
-end
-class THexNumber
+class TInteger
        super Token
 end
 class TFloat
@@ -289,12 +337,18 @@ 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
 end
@@ -315,10 +369,10 @@ 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 AType super Prod end
@@ -326,6 +380,7 @@ 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
@@ -335,7 +390,6 @@ class AQualified super Prod end
 class ADoc super Prod end
 class AAnnotations super Prod end
 class AAnnotation super Prod end
-class AAtArg super Prod end
 class AAtid super Prod end
 
 class AModule
@@ -389,11 +443,11 @@ class AStdClassdef
        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_qid: nullable AQclassid = null is writable
+       var n_obra: nullable TObra = null is writable
        var n_formaldefs: List[AFormaldef] = new List[AFormaldef]
-       var n_annotations: nullable AAnnotations = null is writable
+       var n_cbra: nullable TCbra = null is writable
        var n_extern_code_block: nullable AExternCodeBlock = null is writable
-       var n_superclasses: List[ASuperclass] = new List[ASuperclass]
        var n_propdefs: List[APropdef] = new List[APropdef]
        var n_kwend: TKwend is writable, noinit
 end
@@ -427,141 +481,83 @@ class AExternClasskind
        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
        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 ASuperclass
-       super ASuperclass
-       var n_kwsuper: TKwsuper is writable, noinit
-       var n_type: AType is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
 class AAttrPropdef
        super APropdef
        var n_doc: nullable ADoc = null is writable
-       var n_readable: nullable AAble = null is writable
-       var n_writable: nullable AAble = 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_id: nullable TAttrid = null is writable
-       var n_id2: nullable TId = null is writable
+       var n_id2: TId is writable, noinit
        var n_type: nullable AType = null is writable
-       var n_annotations: nullable AAnnotations = null is writable
+       var n_assign: nullable TAssign = null is writable
        var n_expr: nullable AExpr = 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_methid: AMethid is writable, noinit
-       var n_signature: ASignature is writable, noinit
-end
-class ADeferredMethPropdef
-       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: TKwmeth is writable, noinit
-       var n_methid: AMethid is writable, noinit
-       var n_signature: ASignature is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AInternMethPropdef
-       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: TKwmeth is writable, noinit
-       var n_methid: AMethid is writable, noinit
-       var n_signature: ASignature is writable, noinit
-end
-class AInternNewPropdef
-       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_kwnew: TKwnew is writable, noinit
-       var n_methid: nullable AMethid = null is writable
-       var n_signature: ASignature is writable, noinit
-end
-class AExternMethPropdef
-       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: TKwmeth is writable, noinit
-       var n_methid: AMethid is writable, noinit
-       var n_signature: ASignature is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
-       var n_extern: nullable TString = 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 AConcreteMethPropdef
+class AMainMethPropdef
        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: TKwmeth is writable, noinit
-       var n_methid: AMethid is writable, noinit
-       var n_signature: ASignature is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
        var n_block: nullable AExpr = null is writable
 end
-class AConcreteInitPropdef
+class ATypePropdef
        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_kwinit: TKwinit is writable, noinit
-       var n_methid: nullable AMethid = null is writable
-       var n_signature: ASignature 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
-       var n_block: nullable AExpr = null is writable
 end
-class AExternInitPropdef
+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_kwnew: TKwnew 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: nullable TString = null is writable
        var n_extern_calls: nullable AExternCalls = null is writable
        var n_extern_code_block: nullable AExternCodeBlock = null is writable
-end
-class AMainMethPropdef
-       super APropdef
-       var n_kwredef: nullable TKwredef = 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 ATypePropdef
+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_kwtype: TKwtype is writable, noinit
-       var n_id: TClassid 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 AReadAble
-       super AAble
-       var n_kwredef: nullable TKwredef = null is writable
-       var n_kwreadable: TKwreadable is writable, noinit
-end
-class AWriteAble
-       super AAble
+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_kwwritable: TKwwritable is writable, noinit
+       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
@@ -569,65 +565,85 @@ class AIdMethid
 end
 class APlusMethid
        super AMethid
-       var n_plus: TPlus is writable, noinit
+       var n_op: TPlus is writable, noinit
 end
 class AMinusMethid
        super AMethid
-       var n_minus: TMinus is writable, noinit
+       var n_op: TMinus is writable, noinit
 end
 class AStarMethid
        super AMethid
-       var n_star: TStar is writable, noinit
+       var n_op: TStar is writable, noinit
+end
+class AStarstarMethid
+       super AMethid
+       var n_op: TStarstar is writable, noinit
 end
 class ASlashMethid
        super AMethid
-       var n_slash: TSlash is writable, noinit
+       var n_op: TSlash is writable, noinit
 end
 class APercentMethid
        super AMethid
-       var n_percent: TPercent is writable, noinit
+       var n_op: TPercent is writable, noinit
 end
 class AEqMethid
        super AMethid
-       var n_eq: TEq is writable, noinit
+       var n_op: TEq is writable, noinit
 end
 class ANeMethid
        super AMethid
-       var n_ne: TNe is writable, noinit
+       var n_op: TNe is writable, noinit
 end
 class ALeMethid
        super AMethid
-       var n_le: TLe is writable, noinit
+       var n_op: TLe is writable, noinit
 end
 class AGeMethid
        super AMethid
-       var n_ge: TGe is writable, noinit
+       var n_op: TGe is writable, noinit
 end
 class ALtMethid
        super AMethid
-       var n_lt: TLt is writable, noinit
+       var n_op: TLt is writable, noinit
 end
 class AGtMethid
        super AMethid
-       var n_gt: TGt is writable, noinit
+       var n_op: TGt is writable, noinit
 end
 class ALlMethid
        super AMethid
-       var n_ll: TLl is writable, noinit
+       var n_op: TLl is writable, noinit
 end
 class AGgMethid
        super AMethid
-       var n_gg: TGg is writable, noinit
+       var n_op: TGg is writable, noinit
+end
+class AStarshipMethid
+       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 AStarshipMethid
-       super AMethid
-       var n_starship: TStarship is writable, noinit
-end
 class AAssignMethid
        super AMethid
        var n_id: TId is writable, noinit
@@ -639,6 +655,16 @@ class ABraassignMethid
        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
        var n_opar: nullable TOpar = null is writable
@@ -656,8 +682,10 @@ end
 class AType
        super AType
        var n_kwnullable: nullable TKwnullable = null is writable
-       var n_id: TClassid is writable, noinit
+       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
@@ -672,7 +700,7 @@ class ABlockExpr
 end
 class AVardeclExpr
        super AExpr
-       var n_kwvar: TKwvar is writable, noinit
+       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
@@ -684,6 +712,11 @@ class AReturnExpr
        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
        var n_kwbreak: TKwbreak is writable, noinit
@@ -702,13 +735,17 @@ class ADoExpr
        super AExpr
        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
        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
@@ -737,7 +774,14 @@ end
 class AForExpr
        super AExpr
        var n_kwfor: TKwfor is writable, noinit
-       var n_ids: List[TId] = new List[TId]
+       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
@@ -748,6 +792,7 @@ class AAssertExpr
        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
@@ -767,21 +812,26 @@ end
 class AOrExpr
        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
        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
        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
@@ -792,88 +842,137 @@ end
 class AEqExpr
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        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
        super AExpr
-       var n_minus: TMinus is writable, noinit
+       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
        var n_kwnew: TKwnew is writable, noinit
        var n_type: AType is writable, noinit
-       var n_id: nullable TId = null is writable
+       var n_qid: nullable AQid = null is writable
        var n_args: AExprs is writable, noinit
 end
 class AAttrExpr
@@ -898,13 +997,20 @@ end
 class ACallExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId 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
        var n_expr: AExpr is writable, noinit
-       var n_id: TId 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
@@ -912,7 +1018,7 @@ end
 class ACallReassignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId 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
@@ -974,6 +1080,7 @@ class ACrangeExpr
        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
@@ -982,13 +1089,17 @@ class AOrangeExpr
        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
        super AExpr
-       var n_exprs: AExprs is writable, noinit
+       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
@@ -1014,14 +1125,9 @@ class ANullExpr
        var n_kwnull: TKwnull is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
-class ADecIntExpr
+class AIntegerExpr
        super AExpr
-       var n_number: TNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AHexIntExpr
-       super AExpr
-       var n_hex_number: THexNumber is writable, noinit
+       var n_integer: TInteger is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
 class AFloatExpr
@@ -1056,6 +1162,13 @@ class ASuperstringExpr
        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
        var n_opar: TOpar is writable, noinit
@@ -1098,6 +1211,34 @@ class AVarargExpr
        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
        var n_exprs: List[AExpr] = new List[AExpr]
@@ -1116,11 +1257,53 @@ class ABraExprs
 end
 class APlusAssignOp
        super AAssignOp
-       var n_pluseq: TPluseq is writable, noinit
+       var n_op: TPluseq is writable, noinit
 end
 class AMinusAssignOp
        super AAssignOp
-       var n_minuseq: TMinuseq is writable, noinit
+       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
@@ -1195,10 +1378,12 @@ class ADoc
 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
@@ -1207,22 +1392,10 @@ class AAnnotation
        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[AAtArg] = new List[AAtArg]
+       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 ATypeAtArg
-       super AAtArg
-       var n_type: AType is writable, noinit
-end
-class AExprAtArg
-       super AAtArg
-       var n_expr: AExpr is writable, noinit
-end
-class AAtAtArg
-       super AAtArg
-       var n_annotations: AAnnotations is writable, noinit
-end
 class AIdAtid
        super AAtid
        var n_id: TId is writable, noinit
@@ -1231,17 +1404,9 @@ class AKwexternAtid
        super AAtid
        var n_id: TKwextern is writable, noinit
 end
-class AKwinternAtid
-       super AAtid
-       var n_id: TKwintern is writable, noinit
-end
-class AKwreadableAtid
-       super AAtid
-       var n_id: TKwreadable is writable, noinit
-end
-class AKwwritableAtid
+class AKwabstractAtid
        super AAtid
-       var n_id: TKwwritable is writable, noinit
+       var n_id: TKwabstract is writable, noinit
 end
 class AKwimportAtid
        super AAtid