X-Git-Url: http://nitlanguage.org diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index ef6b0d2..6f6e76b 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -190,6 +190,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 @@ -217,6 +244,18 @@ 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,6 +289,9 @@ end class TAt super Token end +class TSemi + super Token +end class TClassid super Token end @@ -259,10 +301,7 @@ end class TAttrid super Token end -class TNumber - super Token -end -class THexNumber +class TInteger super Token end class TFloat @@ -314,6 +353,7 @@ class AClasskind super Prod end class AFormaldef super Prod end class APropdef super Prod end class AMethid super Prod end +class AQid super Prod end class ASignature super Prod end class AParam super Prod end class AType super Prod end @@ -321,6 +361,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 @@ -384,7 +425,9 @@ class AStdClassdef var n_visibility: AVisibility is writable, noinit var n_classkind: AClasskind is writable, noinit var n_id: nullable TClassid = 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_extern_code_block: nullable AExternCodeBlock = null is writable var n_propdefs: List[APropdef] = new List[APropdef] var n_kwend: TKwend is writable, noinit @@ -433,9 +476,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_assign: nullable TAssign = 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_kwend: nullable TKwend = null is writable end class AMainMethPropdef super APropdef @@ -465,7 +511,9 @@ class AMethPropdef 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_kwend: nullable TKwend = null is writable end class ASuperPropdef super APropdef @@ -493,69 +541,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_starstar: TStarstar is writable, noinit + 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 @@ -567,6 +631,11 @@ 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 ASignature super ASignature var n_opar: nullable TOpar = null is writable @@ -585,7 +654,9 @@ class AType super AType var n_kwnullable: nullable TKwnullable = null is writable var n_id: TClassid 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 @@ -636,7 +707,9 @@ 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 @@ -665,8 +738,7 @@ end class AForExpr super AExpr var n_kwfor: TKwfor is writable, noinit - var n_ids: List[TId] = new List[TId] - 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 @@ -684,6 +756,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 @@ -703,21 +776,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 @@ -728,93 +806,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 @@ -839,13 +961,13 @@ 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 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 @@ -853,7 +975,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 @@ -915,6 +1037,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 @@ -923,6 +1046,7 @@ 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 @@ -958,14 +1082,9 @@ class ANullExpr 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 - 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 @@ -1042,6 +1161,12 @@ 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 ATypeExpr super AExpr var n_type: AType is writable, noinit @@ -1077,11 +1202,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 @@ -1156,10 +1323,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