parser: regenerate with lambda
[nit.git] / src / parser / parser_abs.nit
index 1aaa263..07db08a 100644 (file)
@@ -1,6 +1,6 @@
 # Raw AST node hierarchy.
 # This file was generated by SableCC (http://www.sablecc.org/).
 # 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
 
 
 import location
 
@@ -31,6 +31,9 @@ end
 class TKwenum
        super Token
 end
 class TKwenum
        super Token
 end
+class TKwsubset
+       super Token
+end
 class TKwend
        super Token
 end
 class TKwend
        super Token
 end
@@ -154,9 +157,18 @@ end
 class TKwlabel
        super Token
 end
 class TKwlabel
        super Token
 end
+class TKwwith
+       super Token
+end
 class TKwdebug
        super Token
 end
 class TKwdebug
        super Token
 end
+class TKwyield
+       super Token
+end
+class TKwcatch
+       super Token
+end
 class TOpar
        super Token
 end
 class TOpar
        super Token
 end
@@ -187,6 +199,33 @@ end
 class TMinuseq
        super Token
 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
 class TDotdotdot
        super Token
 end
@@ -214,6 +253,18 @@ end
 class TPercent
        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
 class TEq
        super Token
 end
@@ -244,9 +295,15 @@ end
 class TBang
        super Token
 end
 class TBang
        super Token
 end
+class TQuest
+       super Token
+end
 class TAt
        super Token
 end
 class TAt
        super Token
 end
+class TSemi
+       super Token
+end
 class TClassid
        super Token
 end
 class TClassid
        super Token
 end
@@ -256,10 +313,7 @@ end
 class TAttrid
        super Token
 end
 class TAttrid
        super Token
 end
-class TNumber
-       super Token
-end
-class THexNumber
+class TInteger
        super Token
 end
 class TFloat
        super Token
 end
 class TFloat
@@ -283,12 +337,18 @@ end
 class TBadString
        super Token
 end
 class TBadString
        super Token
 end
+class TBadTString
+       super Token
+end
 class TBadChar
        super Token
 end
 class TExternCodeSegment
        super Token
 end
 class TBadChar
        super Token
 end
 class TExternCodeSegment
        super Token
 end
+class TBadExtern
+       super Token
+end
 class EOF
        super Token
 end
 class EOF
        super Token
 end
@@ -309,9 +369,10 @@ class AVisibility super Prod end
 class AClassdef super Prod end
 class AClasskind super Prod end
 class AFormaldef 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 AMethid super Prod end
 class APropdef 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
 class ASignature super Prod end
 class AParam super Prod end
 class AType super Prod end
@@ -319,6 +380,7 @@ class ALabel super Prod end
 class AExpr super Prod end
 class AExprs super Prod end
 class AAssignOp super Prod end
 class AExpr super Prod end
 class AExprs super Prod end
 class AAssignOp super Prod end
+class AForGroup super Prod end
 class AModuleName super Prod end
 class AExternCalls super Prod end
 class AExternCall super Prod end
 class AModuleName super Prod end
 class AExternCalls super Prod end
 class AExternCall super Prod end
@@ -381,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_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_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_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
        var n_propdefs: List[APropdef] = new List[APropdef]
        var n_kwend: TKwend is writable, noinit
 end
@@ -419,18 +481,16 @@ class AExternClasskind
        var n_kwextern: TKwextern is writable, noinit
        var n_kwclass: nullable TKwclass = null is writable
 end
        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 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
 class AAttrPropdef
        super APropdef
        var n_doc: nullable ADoc = null is writable
@@ -439,9 +499,12 @@ class AAttrPropdef
        var n_kwvar: TKwvar is writable, noinit
        var n_id2: TId is writable, noinit
        var n_type: nullable AType = null is writable
        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_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_block: nullable AExpr = null is writable
+       var n_kwend: nullable TKwend = null is writable
 end
 class AMainMethPropdef
        super APropdef
 end
 class AMainMethPropdef
        super APropdef
@@ -454,7 +517,7 @@ class ATypePropdef
        var n_kwredef: nullable TKwredef = null is writable
        var n_visibility: AVisibility is writable, noinit
        var n_kwtype: TKwtype is writable, noinit
        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_qid: AQclassid is writable, noinit
        var n_type: AType is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
        var n_type: AType is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
@@ -465,13 +528,36 @@ class AMethPropdef
        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_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_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_block: nullable AExpr = null is writable
+       var n_kwend: nullable TKwend = null is writable
+end
+class ASuperPropdef
+       super APropdef
+       var n_doc: nullable ADoc = null is writable
+       var n_kwredef: nullable TKwredef = null is writable
+       var n_visibility: AVisibility is writable, noinit
+       var n_kwsuper: TKwsuper is writable, noinit
+       var n_type: AType is writable, noinit
+       var n_annotations: nullable AAnnotations = null is writable
+end
+class AAnnotPropdef
+       super APropdef
+       var n_doc: nullable ADoc = null is writable
+       var n_kwredef: nullable TKwredef = null is writable
+       var n_visibility: nullable AVisibility = null is writable
+       var n_atid: AAtid is writable, noinit
+       var n_opar: nullable TOpar = null is writable
+       var n_args: List[AExpr] = new List[AExpr]
+       var n_cpar: nullable TCpar = null is writable
+       var n_annotations: nullable AAnnotations = null is writable
 end
 class AIdMethid
        super AMethid
 end
 class AIdMethid
        super AMethid
@@ -479,69 +565,85 @@ class AIdMethid
 end
 class APlusMethid
        super AMethid
 end
 class APlusMethid
        super AMethid
-       var n_plus: TPlus is writable, noinit
+       var n_op: TPlus is writable, noinit
 end
 class AMinusMethid
        super AMethid
 end
 class AMinusMethid
        super AMethid
-       var n_minus: TMinus is writable, noinit
+       var n_op: TMinus is writable, noinit
 end
 class AStarMethid
        super AMethid
 end
 class AStarMethid
        super AMethid
-       var n_star: TStar is writable, noinit
+       var n_op: TStar is writable, noinit
 end
 class AStarstarMethid
        super AMethid
 end
 class AStarstarMethid
        super AMethid
-       var n_starstar: TStarstar is writable, noinit
+       var n_op: TStarstar is writable, noinit
 end
 class ASlashMethid
        super AMethid
 end
 class ASlashMethid
        super AMethid
-       var n_slash: TSlash is writable, noinit
+       var n_op: TSlash is writable, noinit
 end
 class APercentMethid
        super AMethid
 end
 class APercentMethid
        super AMethid
-       var n_percent: TPercent is writable, noinit
+       var n_op: TPercent is writable, noinit
 end
 class AEqMethid
        super AMethid
 end
 class AEqMethid
        super AMethid
-       var n_eq: TEq is writable, noinit
+       var n_op: TEq is writable, noinit
 end
 class ANeMethid
        super AMethid
 end
 class ANeMethid
        super AMethid
-       var n_ne: TNe is writable, noinit
+       var n_op: TNe is writable, noinit
 end
 class ALeMethid
        super AMethid
 end
 class ALeMethid
        super AMethid
-       var n_le: TLe is writable, noinit
+       var n_op: TLe is writable, noinit
 end
 class AGeMethid
        super AMethid
 end
 class AGeMethid
        super AMethid
-       var n_ge: TGe is writable, noinit
+       var n_op: TGe is writable, noinit
 end
 class ALtMethid
        super AMethid
 end
 class ALtMethid
        super AMethid
-       var n_lt: TLt is writable, noinit
+       var n_op: TLt is writable, noinit
 end
 class AGtMethid
        super AMethid
 end
 class AGtMethid
        super AMethid
-       var n_gt: TGt is writable, noinit
+       var n_op: TGt is writable, noinit
 end
 class ALlMethid
        super AMethid
 end
 class ALlMethid
        super AMethid
-       var n_ll: TLl is writable, noinit
+       var n_op: TLl is writable, noinit
 end
 class AGgMethid
        super AMethid
 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
 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
 class AAssignMethid
        super AMethid
        var n_id: TId is writable, noinit
@@ -553,6 +655,16 @@ class ABraassignMethid
        var n_cbra: TCbra is writable, noinit
        var n_assign: TAssign is writable, noinit
 end
        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
 class ASignature
        super ASignature
        var n_opar: nullable TOpar = null is writable
@@ -570,8 +682,10 @@ end
 class AType
        super AType
        var n_kwnullable: nullable TKwnullable = null is writable
 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_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
        var n_annotations: nullable AAnnotations = null is writable
 end
 class ALabel
@@ -586,7 +700,7 @@ class ABlockExpr
 end
 class AVardeclExpr
        super AExpr
 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
        var n_id: TId is writable, noinit
        var n_type: nullable AType = null is writable
        var n_assign: nullable TAssign = null is writable
@@ -598,6 +712,11 @@ class AReturnExpr
        var n_kwreturn: nullable TKwreturn = null is writable
        var n_expr: nullable AExpr = null is writable
 end
        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
 class ABreakExpr
        super AExpr
        var n_kwbreak: TKwbreak is writable, noinit
@@ -616,13 +735,17 @@ class ADoExpr
        super AExpr
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
        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_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_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
        var n_else: nullable AExpr = null is writable
 end
 class AIfexprExpr
@@ -651,7 +774,14 @@ end
 class AForExpr
        super AExpr
        var n_kwfor: TKwfor is writable, noinit
 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
        var n_expr: AExpr is writable, noinit
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
@@ -662,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_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
        var n_else: nullable AExpr = null is writable
 end
 class AOnceExpr
@@ -681,21 +812,26 @@ end
 class AOrExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
 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_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_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_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
        var n_expr2: AExpr is writable, noinit
 end
 class ANotExpr
@@ -706,93 +842,137 @@ end
 class AEqExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
        var n_args: AExprs is writable, noinit
 end
 class AAttrExpr
@@ -817,13 +997,20 @@ end
 class ACallExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
 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_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
        var n_args: AExprs is writable, noinit
        var n_assign: TAssign is writable, noinit
        var n_value: AExpr is writable, noinit
@@ -831,7 +1018,7 @@ end
 class ACallReassignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
 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
        var n_args: AExprs is writable, noinit
        var n_assign_op: AAssignOp is writable, noinit
        var n_value: AExpr is writable, noinit
@@ -893,6 +1080,7 @@ class ACrangeExpr
        super AExpr
        var n_obra: TObra is writable, noinit
        var n_expr: AExpr is writable, noinit
        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
        var n_expr2: AExpr is writable, noinit
        var n_cbra: TCbra is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
@@ -901,6 +1089,7 @@ class AOrangeExpr
        super AExpr
        var n_obra: TObra is writable, noinit
        var n_expr: AExpr is writable, noinit
        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
        var n_expr2: AExpr is writable, noinit
        var n_cbra: TObra is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
@@ -936,14 +1125,9 @@ class ANullExpr
        var n_kwnull: TKwnull is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
        var n_kwnull: TKwnull is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
-class ADecIntExpr
-       super AExpr
-       var n_number: TNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AHexIntExpr
+class AIntegerExpr
        super AExpr
        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
        var n_annotations: nullable AAnnotations = null is writable
 end
 class AFloatExpr
@@ -978,6 +1162,13 @@ class ASuperstringExpr
        var n_exprs: List[AExpr] = new List[AExpr]
        var n_annotations: nullable AAnnotations = null is writable
 end
        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
 class AParExpr
        super AExpr
        var n_opar: TOpar is writable, noinit
@@ -1020,6 +1211,17 @@ class AVarargExpr
        var n_expr: AExpr is writable, noinit
        var n_dotdotdot: TDotdotdot is writable, noinit
 end
        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
 class ATypeExpr
        super AExpr
        var n_type: AType is writable, noinit
@@ -1055,11 +1257,53 @@ class ABraExprs
 end
 class APlusAssignOp
        super AAssignOp
 end
 class APlusAssignOp
        super AAssignOp
-       var n_pluseq: TPluseq is writable, noinit
+       var n_op: TPluseq is writable, noinit
 end
 class AMinusAssignOp
        super AAssignOp
 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
 end
 class AModuleName
        super AModuleName
@@ -1134,10 +1378,12 @@ class ADoc
 end
 class AAnnotations
        super AAnnotations
 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_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
 end
 class AAnnotation
        super AAnnotation