syntax: add call reference (funref+recv capture) `&x.foo`
[nit.git] / src / parser / parser_abs.nit
index e2763e5..5815230 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 is no_warning("missing-doc")
+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
@@ -160,6 +163,12 @@ 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
@@ -286,6 +295,9 @@ 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
@@ -301,28 +313,7 @@ end
 class TAttrid
        super Token
 end
 class TAttrid
        super Token
 end
-class TNumber
-       super Token
-end
-class THexNumber
-       super Token
-end
-class TBinNumber
-       super Token
-end
-class TOctNumber
-       super Token
-end
-class TBytenum
-       super Token
-end
-class THexBytenum
-       super Token
-end
-class TBinBytenum
-       super Token
-end
-class TOctBytenum
+class TInteger
        super Token
 end
 class TFloat
        super Token
 end
 class TFloat
@@ -346,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
@@ -374,6 +371,8 @@ class AClasskind super Prod end
 class AFormaldef super Prod end
 class APropdef super Prod end
 class AMethid super Prod end
 class AFormaldef 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
@@ -381,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
@@ -443,7 +443,7 @@ 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_cbra: nullable TCbra = null is writable
        var n_obra: nullable TObra = null is writable
        var n_formaldefs: List[AFormaldef] = new List[AFormaldef]
        var n_cbra: nullable TCbra = null is writable
@@ -481,6 +481,10 @@ 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
 class AFormaldef
        super AFormaldef
        var n_id: TClassid is writable, noinit
@@ -513,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
@@ -524,6 +528,7 @@ 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_kwnew: nullable TKwnew = null is writable
        var n_methid: nullable AMethid = null is writable
        var n_signature: ASignature is writable, noinit
@@ -650,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
@@ -667,7 +682,7 @@ 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_cbra: nullable TCbra = null is writable
        var n_obra: nullable TObra = null is writable
        var n_types: List[AType] = new List[AType]
        var n_cbra: nullable TCbra = null is writable
@@ -697,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
@@ -715,6 +735,8 @@ 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
        var n_label: nullable ALabel = null is writable
 end
 class AIfExpr
@@ -752,9 +774,7 @@ 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_kwin: TKwin is writable, noinit
-       var n_expr: AExpr is writable, noinit
+       var n_groups: List[AForGroup] = new List[AForGroup]
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
        var n_label: nullable ALabel = null is writable
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
        var n_label: nullable ALabel = null is writable
@@ -952,7 +972,7 @@ class ANewExpr
        super AExpr
        var n_kwnew: TKwnew is writable, noinit
        var n_type: AType is writable, noinit
        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
@@ -977,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
@@ -991,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
@@ -1098,44 +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
-       super AExpr
-       var n_hex_number: THexNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ABinIntExpr
-       super AExpr
-       var n_bin_number: TBinNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AOctIntExpr
+class AIntegerExpr
        super AExpr
        super AExpr
-       var n_oct_number: TOctNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ADecByteExpr
-       super AExpr
-       var n_bytenum: TBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AHexByteExpr
-       super AExpr
-       var n_hex_bytenum: THexBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ABinByteExpr
-       super AExpr
-       var n_bin_bytenum: TBinBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AOctByteExpr
-       super AExpr
-       var n_oct_bytenum: TOctBytenum 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
@@ -1218,6 +1210,11 @@ class ANamedargExpr
        var n_assign: TAssign is writable, noinit
        var n_expr: AExpr is writable, noinit
 end
        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
@@ -1295,6 +1292,12 @@ class AGgAssignOp
        super AAssignOp
        var n_op: TGgeq is writable, noinit
 end
        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
        var n_quad: nullable TQuad = null is writable
 class AModuleName
        super AModuleName
        var n_quad: nullable TQuad = null is writable