From 2b01dd78fc5ef13a2ca3ed7a8be57e9595aef888 Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Wed, 4 Mar 2020 16:45:05 +0100 Subject: [PATCH 1/5] Fixed the parsing of type t = list ((u,v)); --- src/passes/1-parser/reasonligo/Parser.mly | 106 +- .../reasonligo/error.messages.checked-in | 1664 +++++++++-------- 2 files changed, 878 insertions(+), 892 deletions(-) diff --git a/src/passes/1-parser/reasonligo/Parser.mly b/src/passes/1-parser/reasonligo/Parser.mly index defde2e55..194e649ff 100644 --- a/src/passes/1-parser/reasonligo/Parser.mly +++ b/src/passes/1-parser/reasonligo/Parser.mly @@ -24,23 +24,21 @@ type 'a sequence_or_record = let (<@) f g x = f (g x) -(** - Covert nsepseq to a chain of TFun's. +(* + Convert a nsepseq to a chain of TFun's. Necessary to handle cases like: - `type foo = (int, int) => int;` + [type foo = (int, int) => int;] *) -let rec nsepseq_to_curry hd rest = - match hd, rest with - | hd, (sep, item) :: rest -> - let start = type_expr_to_region hd in - let stop = nsepseq_to_region type_expr_to_region (hd, rest) in - let region = cover start stop in - TFun { - value = hd, sep, (nsepseq_to_curry item rest); - region - } - | hd, [] -> hd + +let rec curry hd = function + (sep, item)::rest -> + let stop = nsepseq_to_region type_expr_to_region (hd, rest) + and start = type_expr_to_region hd in + let region = cover start stop + and value = hd, sep, curry item rest + in TFun {value; region} +| [] -> hd (* END HEADER *) %} @@ -58,6 +56,7 @@ let rec nsepseq_to_curry hd rest = can be reduced to [expr -> Ident], but also to [field_assignment -> Ident]. *) + %nonassoc Ident %nonassoc COLON @@ -175,42 +174,32 @@ type_decl: in {region; value} } type_expr: - cartesian | sum_type | record_type { $1 } + fun_type | sum_type | record_type { $1 } -type_expr_func: - "=>" cartesian { - $1, $2 +fun_type: + type_name "=>" fun_type { + let region = cover $1.region (type_expr_to_region $3) + in TFun {region; value = TVar $1, $2, $3} } +| "(" fun_type ")" "=>" fun_type { + let region = cover $1 (type_expr_to_region $5) + in TFun {region; value = $2,$4,$5} + } +| "(" tuple(fun_type) ")" "=>" fun_type { + let hd, rest = $2 in curry hd (rest @ [($4,$5)]) + } +| "(" tuple(fun_type) ")" { + TProd {region = cover $1 $3; value = $2} + } +| core_type { $1 } -cartesian: - core_type { $1 } -| type_name type_expr_func { - let (arrow, c) = $2 in - let value = TVar $1, arrow, c in - let region = cover $1.region (type_expr_to_region c) in - TFun { region; value } -} -| "(" cartesian ")" type_expr_func { - let (arrow, c) = $4 in - let value = $2, arrow, c in - let region = cover $1 (type_expr_to_region c) in - TFun { region; value } -} -| "(" cartesian "," nsepseq(cartesian,",") ")" type_expr_func? { - match $6 with - | Some (arrow, c) -> - let (hd, rest) = Utils.nsepseq_cons $2 $3 $4 in - let rest = rest @ [(arrow, c)] in - nsepseq_to_curry hd rest - | None -> - let value = Utils.nsepseq_cons $2 $3 $4 in - let region = cover $1 $5 in - TProd {region; value} - } +type_args: + tuple(fun_type) { $1 } +| fun_type { $1, [] } core_type: type_name { TVar $1 } -| par(cartesian) { TPar $1 } +| par(fun_type) { TPar $1 } | module_name "." type_name { let module_name = $1.value in let type_name = $3.value in @@ -218,12 +207,9 @@ core_type: let region = cover $1.region $3.region in TVar {region; value} } -| type_name par(nsepseq(core_type,",") { $1 }) { - let constr, arg = $1, $2 in - let start = constr.region - and stop = arg.region in - let region = cover start stop - in TApp {region; value = constr,arg} } +| type_name par(type_args) { + let region = cover $1.region $2.region + in TApp {region; value = $1,$2} } sum_type: ioption("|") nsepseq(variant,"|") { @@ -233,7 +219,7 @@ sum_type: variant: "" { {$1 with value={constr=$1; arg=None}} } -| "" "(" cartesian ")" { +| "" "(" fun_type ")" { let region = cover $1.region $4 and value = {constr=$1; arg = Some (ghost,$3)} in {region; value} } @@ -273,9 +259,6 @@ let_declaration: let region = cover $2 stop in {region; value} } -es6_func: - "=>" expr { $1,$2 } - let_binding: "" type_annotation? "=" expr { Scoping.check_reserved_name $1; @@ -451,13 +434,12 @@ type_expr_simple: type_annotation_simple: ":" type_expr_simple { $1,$2 } - fun_expr: - disj_expr_level es6_func { - let arrow, body = $2 in - let kwd_fun = ghost in - let start = expr_to_region $1 in - let stop = expr_to_region body in + disj_expr_level "=>" expr { + let arrow, body = $2, $3 + and kwd_fun = ghost in + let start = expr_to_region $1 + and stop = expr_to_region body in let region = cover start stop in let rec arg_to_pattern = function @@ -524,8 +506,8 @@ fun_expr: match type_expr with | TProd {value; _} -> let (hd, rest) = value in - let rest = rest @ [(arrow, expr_to_type body)] in - nsepseq_to_curry hd rest + let rest = rest @ [(arrow, expr_to_type body)] + in curry hd rest | e -> TFun { value = e, arrow, expr_to_type body; diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index f86688e86..60efe8353 100644 --- a/src/passes/1-parser/reasonligo/error.messages.checked-in +++ b/src/passes/1-parser/reasonligo/error.messages.checked-in @@ -1,6 +1,6 @@ interactive_expr: C_None WILD ## -## Ends in an error in state: 170. +## Ends in an error in state: 172. ## ## call_expr_level -> call_expr_level_in . option(type_annotation_simple) [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -12,7 +12,7 @@ interactive_expr: C_None WILD interactive_expr: C_Some WILD ## -## Ends in an error in state: 122. +## Ends in an error in state: 124. ## ## constr_expr -> C_Some . core_expr [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -24,9 +24,9 @@ interactive_expr: C_Some WILD interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 109. +## Ends in an error in state: 110. ## -## module_field -> Constr DOT Ident . [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] +## module_fun -> Ident . [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr DOT Ident . selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: @@ -39,7 +39,7 @@ interactive_expr: Constr DOT WILD ## ## Ends in an error in state: 108. ## -## module_field -> Constr DOT . Ident [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] +## module_field -> Constr DOT . module_fun [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr DOT . Ident selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: @@ -54,7 +54,7 @@ interactive_expr: Constr WILD ## ## constr_expr -> Constr . core_expr [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## constr_expr -> Constr . [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] -## module_field -> Constr . DOT Ident [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] +## module_field -> Constr . DOT module_fun [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr . DOT Ident selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: @@ -143,7 +143,7 @@ interactive_expr: Ident WILD interactive_expr: If LBRACE True VBAR ## -## Ends in an error in state: 226. +## Ends in an error in state: 227. ## ## parenthesized_expr -> LBRACE expr . RBRACE [ LBRACE ] ## @@ -154,26 +154,26 @@ interactive_expr: If LBRACE True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If LBRACE WILD ## -## Ends in an error in state: 225. +## Ends in an error in state: 226. ## ## parenthesized_expr -> LBRACE . expr RBRACE [ LBRACE ] ## @@ -185,7 +185,7 @@ interactive_expr: If LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True ARROW Bytes VBAR ## -## Ends in an error in state: 402. +## Ends in an error in state: 403. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -196,31 +196,30 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True ARROW ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 400, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 411, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 410, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 401, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 412, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 411, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE True ARROW Bytes VBAR ## -## Ends in an error in state: 407. +## Ends in an error in state: 408. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if . option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -231,31 +230,30 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 400, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 411, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 410, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 401, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 412, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 411, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE True SEMI PLUS ## -## Ends in an error in state: 408. +## Ends in an error in state: 409. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) . RBRACE [ SEMI RBRACE ] ## @@ -267,7 +265,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE WILD ## -## Ends in an error in state: 406. +## Ends in an error in state: 407. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE . closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -279,7 +277,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else WILD ## -## Ends in an error in state: 405. +## Ends in an error in state: 406. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -291,7 +289,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE WILD ## -## Ends in an error in state: 404. +## Ends in an error in state: 405. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -303,7 +301,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI PLUS ## -## Ends in an error in state: 403. +## Ends in an error in state: 404. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -315,7 +313,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI P interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD ## -## Ends in an error in state: 348. +## Ends in an error in state: 349. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -327,7 +325,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR WILD ## -## Ends in an error in state: 347. +## Ends in an error in state: 348. ## ## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -339,7 +337,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR WILD interactive_expr: If LPAR True RPAR LBRACE If WILD ## -## Ends in an error in state: 346. +## Ends in an error in state: 347. ## ## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -351,7 +349,7 @@ interactive_expr: If LPAR True RPAR LBRACE If WILD interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR VBAR ## -## Ends in an error in state: 273. +## Ends in an error in state: 274. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -363,7 +361,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR VBAR interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Bytes SEMI WILD ## -## Ends in an error in state: 431. +## Ends in an error in state: 432. ## ## nseq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -375,7 +373,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW By interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Bytes SEMI WILD ## -## Ends in an error in state: 433. +## Ends in an error in state: 434. ## ## seq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -387,7 +385,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW By interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True ARROW Bytes VBAR ## -## Ends in an error in state: 412. +## Ends in an error in state: 413. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -398,31 +396,30 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 400, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 411, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 410, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 401, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 412, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 411, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE True SEMI PLUS ## -## Ends in an error in state: 422. +## Ends in an error in state: 423. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) . RBRACE [ VBAR SEMI RBRACE ] ## @@ -434,7 +431,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 421. +## Ends in an error in state: 422. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else . option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -445,26 +442,26 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 419, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level -## In state 424, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 420, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 420, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level +## In state 425, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 421, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE WILD ## -## Ends in an error in state: 416. +## Ends in an error in state: 417. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE . base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -476,7 +473,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True RBRACE Else WILD ## -## Ends in an error in state: 415. +## Ends in an error in state: 416. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -488,7 +485,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True RBRACE WILD ## -## Ends in an error in state: 414. +## Ends in an error in state: 415. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -500,7 +497,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI PLUS ## -## Ends in an error in state: 413. +## Ends in an error in state: 414. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -512,7 +509,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD ## -## Ends in an error in state: 345. +## Ends in an error in state: 346. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -524,7 +521,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR WILD ## -## Ends in an error in state: 344. +## Ends in an error in state: 345. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -536,7 +533,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If WILD ## -## Ends in an error in state: 343. +## Ends in an error in state: 344. ## ## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -548,7 +545,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True ARROW Bytes Type ## -## Ends in an error in state: 425. +## Ends in an error in state: 426. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -559,36 +556,35 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Tr ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 418, spurious reduction of production base_expr(base_if_then_else) -> fun_expr -## In state 424, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 420, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 419, spurious reduction of production base_expr(base_if_then_else) -> fun_expr +## In state 425, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 421, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True Type ## -## Ends in an error in state: 419. +## Ends in an error in state: 420. ## ## base_expr(base_if_then_else) -> disj_expr_level . [ VBAR SEMI RBRACE ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . es6_func [ VBAR SEMI RBRACE ] +## fun_expr -> disj_expr_level . ARROW expr [ VBAR SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -597,23 +593,23 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Tr ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW WILD ## -## Ends in an error in state: 342. +## Ends in an error in state: 343. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW . base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -625,7 +621,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW WI interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD COMMA Bytes RPAR ## -## Ends in an error in state: 341. +## Ends in an error in state: 342. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -636,16 +632,16 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD COMMA By ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 327, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 330, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 339, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 328, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 331, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 340, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE WILD ## -## Ends in an error in state: 272. +## Ends in an error in state: 273. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ LBRACE . cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -657,7 +653,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE Switch True WILD ## -## Ends in an error in state: 271. +## Ends in an error in state: 272. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -669,7 +665,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch True WILD interactive_expr: If LPAR True RPAR LBRACE Switch WILD ## -## Ends in an error in state: 230. +## Ends in an error in state: 231. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -681,7 +677,7 @@ interactive_expr: If LPAR True RPAR LBRACE Switch WILD interactive_expr: If LPAR True RPAR LBRACE True ARROW Bytes VBAR ## -## Ends in an error in state: 439. +## Ends in an error in state: 440. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -693,31 +689,30 @@ interactive_expr: If LPAR True RPAR LBRACE True ARROW Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 400, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 411, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 410, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 401, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 412, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 411, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True SEMI PLUS ## -## Ends in an error in state: 445. +## Ends in an error in state: 446. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) . RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -729,7 +724,7 @@ interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True SEMI PLU interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 444. +## Ends in an error in state: 445. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr . option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -740,27 +735,27 @@ interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 397, spurious reduction of production expr_with_let_expr -> expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 398, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE WILD ## -## Ends in an error in state: 443. +## Ends in an error in state: 444. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE . expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -772,7 +767,7 @@ interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else WILD ## -## Ends in an error in state: 442. +## Ends in an error in state: 443. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -784,7 +779,7 @@ interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else WILD interactive_expr: If LPAR True RPAR LBRACE True RBRACE WILD ## -## Ends in an error in state: 441. +## Ends in an error in state: 442. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -797,7 +792,7 @@ interactive_expr: If LPAR True RPAR LBRACE True RBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI PLUS ## -## Ends in an error in state: 440. +## Ends in an error in state: 441. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -810,12 +805,12 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI PLUS interactive_expr: If LPAR True RPAR LBRACE True VBAR ## -## Ends in an error in state: 401. +## Ends in an error in state: 402. ## ## base_expr(closed_if) -> disj_expr_level . [ SEMI RBRACE ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ SEMI RBRACE Or BOOL_OR ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . es6_func [ SEMI RBRACE ] +## fun_expr -> disj_expr_level . ARROW expr [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -824,23 +819,23 @@ interactive_expr: If LPAR True RPAR LBRACE True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: If LPAR True RPAR LBRACE WILD ## -## Ends in an error in state: 229. +## Ends in an error in state: 230. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -853,7 +848,7 @@ interactive_expr: If LPAR True RPAR LBRACE WILD interactive_expr: If LPAR True RPAR WILD ## -## Ends in an error in state: 228. +## Ends in an error in state: 229. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -866,7 +861,7 @@ interactive_expr: If LPAR True RPAR WILD interactive_expr: If LPAR True VBAR ## -## Ends in an error in state: 223. +## Ends in an error in state: 224. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -877,19 +872,19 @@ interactive_expr: If LPAR True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## @@ -921,7 +916,7 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 249. +## Ends in an error in state: 250. ## ## projection -> Constr DOT Ident . selection [ COMMA ] ## @@ -933,7 +928,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 248. +## Ends in an error in state: 249. ## ## projection -> Constr DOT . Ident selection [ COMMA ] ## @@ -945,7 +940,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 247. +## Ends in an error in state: 248. ## ## projection -> Constr . DOT Ident selection [ COMMA ] ## @@ -957,7 +952,7 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 264. +## Ends in an error in state: 265. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -970,27 +965,27 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 263, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 264, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr ## interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON WILD ## -## Ends in an error in state: 262. +## Ends in an error in state: 263. ## ## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] ## @@ -1002,7 +997,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 268. +## Ends in an error in state: 269. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -1015,27 +1010,27 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 263, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 264, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr ## interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 269. +## Ends in an error in state: 270. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment COMMA . nsepseq(field_path_assignment,COMMA) [ RBRACE ] ## seq(__anonymous_0(field_path_assignment,COMMA)) -> field_path_assignment COMMA . seq(__anonymous_0(field_path_assignment,COMMA)) [ RBRACE ] @@ -1048,7 +1043,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 265. +## Ends in an error in state: 266. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment COMMA . nsepseq(field_path_assignment,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_path_assignment,COMMA)) -> field_path_assignment COMMA . seq(__anonymous_0(field_path_assignment,COMMA)) [ RBRACE ] @@ -1061,7 +1056,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT Ident WILD ## -## Ends in an error in state: 255. +## Ends in an error in state: 256. ## ## nsepseq(field_name,DOT) -> Ident . [ COLON ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] @@ -1074,7 +1069,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD ## -## Ends in an error in state: 254. +## Ends in an error in state: 255. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] ## @@ -1086,7 +1081,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD ## -## Ends in an error in state: 253. +## Ends in an error in state: 254. ## ## field_path_assignment -> Ident . [ RBRACE COMMA ] ## nsepseq(field_name,DOT) -> Ident . [ COLON ] @@ -1100,7 +1095,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## Ends in an error in state: 252. +## Ends in an error in state: 253. ## ## update_record -> LBRACE ELLIPSIS path COMMA . sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -1112,7 +1107,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## -## Ends in an error in state: 251. +## Ends in an error in state: 252. ## ## update_record -> LBRACE ELLIPSIS path . COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -1125,14 +1120,14 @@ interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 102, spurious reduction of production selection -> DOT Ident ## In state 105, spurious reduction of production projection -> Ident selection -## In state 250, spurious reduction of production path -> projection +## In state 251, spurious reduction of production path -> projection ## interactive_expr: LBRACE ELLIPSIS Ident WILD ## -## Ends in an error in state: 246. +## Ends in an error in state: 247. ## ## path -> Ident . [ COMMA ] ## projection -> Ident . selection [ COMMA ] @@ -1145,7 +1140,7 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS WILD ## -## Ends in an error in state: 245. +## Ends in an error in state: 246. ## ## update_record -> LBRACE ELLIPSIS . path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -1157,7 +1152,7 @@ interactive_expr: LBRACE ELLIPSIS WILD interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 462. +## Ends in an error in state: 463. ## ## sequence_or_record_in -> field_assignment . COMMA sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1168,27 +1163,27 @@ interactive_expr: LBRACE Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 459, spurious reduction of production field_assignment -> Ident COLON expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 460, spurious reduction of production field_assignment -> Ident COLON expr ## interactive_expr: LBRACE Ident COLON WILD ## -## Ends in an error in state: 458. +## Ends in an error in state: 459. ## ## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] ## @@ -1200,7 +1195,7 @@ interactive_expr: LBRACE Ident COLON WILD interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 468. +## Ends in an error in state: 469. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1213,27 +1208,27 @@ interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 459, spurious reduction of production field_assignment -> Ident COLON expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 460, spurious reduction of production field_assignment -> Ident COLON expr ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 472. +## Ends in an error in state: 473. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1246,27 +1241,27 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 459, spurious reduction of production field_assignment -> Ident COLON expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 460, spurious reduction of production field_assignment -> Ident COLON expr ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 473. +## Ends in an error in state: 474. ## ## nsepseq(field_assignment,COMMA) -> field_assignment COMMA . nsepseq(field_assignment,COMMA) [ RBRACE ] ## seq(__anonymous_0(field_assignment,COMMA)) -> field_assignment COMMA . seq(__anonymous_0(field_assignment,COMMA)) [ RBRACE ] @@ -1279,7 +1274,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 469. +## Ends in an error in state: 470. ## ## nsepseq(field_assignment,COMMA) -> field_assignment COMMA . nsepseq(field_assignment,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_assignment,COMMA)) -> field_assignment COMMA . seq(__anonymous_0(field_assignment,COMMA)) [ RBRACE ] @@ -1292,7 +1287,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 464. +## Ends in an error in state: 465. ## ## field_assignment -> Ident . [ RBRACE COMMA ] ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] @@ -1305,7 +1300,7 @@ interactive_expr: LBRACE Ident COMMA Ident WILD interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 463. +## Ends in an error in state: 464. ## ## sequence_or_record_in -> field_assignment COMMA . sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1317,7 +1312,7 @@ interactive_expr: LBRACE Ident COMMA WILD interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 457. +## Ends in an error in state: 458. ## ## common_expr -> Ident . [ TIMES SLASH SEMI RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ COLON CAT BOOL_OR BOOL_AND ARROW ] ## field_assignment -> Ident . [ COMMA ] @@ -1332,7 +1327,7 @@ interactive_expr: LBRACE Ident WILD interactive_expr: LBRACE True SEMI True SEMI True SEMI WILD ## -## Ends in an error in state: 485. +## Ends in an error in state: 486. ## ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr SEMI . nsepseq(expr_with_let_expr,SEMI) [ RBRACE ] ## seq(__anonymous_0(expr_with_let_expr,SEMI)) -> expr_with_let_expr SEMI . seq(__anonymous_0(expr_with_let_expr,SEMI)) [ RBRACE ] @@ -1345,7 +1340,7 @@ interactive_expr: LBRACE True SEMI True SEMI True SEMI WILD interactive_expr: LBRACE True SEMI True SEMI True VBAR ## -## Ends in an error in state: 484. +## Ends in an error in state: 485. ## ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . [ RBRACE ] ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . SEMI nsepseq(expr_with_let_expr,SEMI) [ RBRACE ] @@ -1358,27 +1353,27 @@ interactive_expr: LBRACE True SEMI True SEMI True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 397, spurious reduction of production expr_with_let_expr -> expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 398, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE True SEMI True SEMI WILD ## -## Ends in an error in state: 481. +## Ends in an error in state: 482. ## ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr SEMI . nsepseq(expr_with_let_expr,SEMI) [ RBRACE ] ## nseq(__anonymous_0(expr_with_let_expr,SEMI)) -> expr_with_let_expr SEMI . seq(__anonymous_0(expr_with_let_expr,SEMI)) [ RBRACE ] @@ -1391,7 +1386,7 @@ interactive_expr: LBRACE True SEMI True SEMI WILD interactive_expr: LBRACE True SEMI True VBAR ## -## Ends in an error in state: 480. +## Ends in an error in state: 481. ## ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . [ RBRACE ] ## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . SEMI nsepseq(expr_with_let_expr,SEMI) [ RBRACE ] @@ -1404,27 +1399,27 @@ interactive_expr: LBRACE True SEMI True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 397, spurious reduction of production expr_with_let_expr -> expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 398, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE True SEMI WILD ## -## Ends in an error in state: 476. +## Ends in an error in state: 477. ## ## option(SEMI) -> SEMI . [ RBRACE ] ## sequence_or_record_in -> expr_with_let_expr SEMI . sep_or_term_list(expr_with_let_expr,SEMI) [ RBRACE ] @@ -1437,7 +1432,7 @@ interactive_expr: LBRACE True SEMI WILD interactive_expr: LBRACE True VBAR ## -## Ends in an error in state: 475. +## Ends in an error in state: 476. ## ## sequence_or_record_in -> expr_with_let_expr . SEMI sep_or_term_list(expr_with_let_expr,SEMI) [ RBRACE ] ## sequence_or_record_in -> expr_with_let_expr . option(SEMI) [ RBRACE ] @@ -1449,20 +1444,20 @@ interactive_expr: LBRACE True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 397, spurious reduction of production expr_with_let_expr -> expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 398, spurious reduction of production expr_with_let_expr -> expr ## @@ -1482,7 +1477,7 @@ interactive_expr: LBRACE WILD interactive_expr: LBRACKET True COMMA ELLIPSIS True VBAR ## -## Ends in an error in state: 494. +## Ends in an error in state: 495. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS expr . RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -1493,26 +1488,26 @@ interactive_expr: LBRACKET True COMMA ELLIPSIS True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA ELLIPSIS WILD ## -## Ends in an error in state: 493. +## Ends in an error in state: 494. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS . expr RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -1524,7 +1519,7 @@ interactive_expr: LBRACKET True COMMA ELLIPSIS WILD interactive_expr: LBRACKET True COMMA True COMMA True COMMA WILD ## -## Ends in an error in state: 504. +## Ends in an error in state: 505. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## seq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1537,7 +1532,7 @@ interactive_expr: LBRACKET True COMMA True COMMA True COMMA WILD interactive_expr: LBRACKET True COMMA True COMMA True VBAR ## -## Ends in an error in state: 503. +## Ends in an error in state: 504. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1550,26 +1545,26 @@ interactive_expr: LBRACKET True COMMA True COMMA True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA True COMMA WILD ## -## Ends in an error in state: 501. +## Ends in an error in state: 502. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## nseq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1582,7 +1577,7 @@ interactive_expr: LBRACKET True COMMA True COMMA WILD interactive_expr: LBRACKET True COMMA True VBAR ## -## Ends in an error in state: 500. +## Ends in an error in state: 501. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1595,26 +1590,26 @@ interactive_expr: LBRACKET True COMMA True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA WILD ## -## Ends in an error in state: 492. +## Ends in an error in state: 493. ## ## list_or_spread -> LBRACKET expr COMMA . sep_or_term_list(expr,COMMA) RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## list_or_spread -> LBRACKET expr COMMA . ELLIPSIS expr RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -1627,7 +1622,7 @@ interactive_expr: LBRACKET True COMMA WILD interactive_expr: LBRACKET True VBAR ## -## Ends in an error in state: 491. +## Ends in an error in state: 492. ## ## list_or_spread -> LBRACKET expr . COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## list_or_spread -> LBRACKET expr . COMMA ELLIPSIS expr RBRACKET [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -1640,19 +1635,19 @@ interactive_expr: LBRACKET True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## @@ -1673,12 +1668,12 @@ interactive_expr: LBRACKET WILD interactive_expr: LPAR True COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 162. +## Ends in an error in state: 164. ## ## base_expr(expr) -> disj_expr_level . [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR Attr ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR Attr ARROW ] -## fun_expr -> disj_expr_level . es6_func [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] +## fun_expr -> disj_expr_level . ARROW expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -1687,18 +1682,18 @@ interactive_expr: LPAR True COMMA Bytes RPAR COLON Ident TIMES ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 130, spurious reduction of production option(type_expr_simple_args) -> -## In state 139, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) -## In state 146, spurious reduction of production type_annotation_simple -> COLON type_expr_simple -## In state 147, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple -## In state 148, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) +## In state 132, spurious reduction of production option(type_expr_simple_args) -> +## In state 141, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 148, spurious reduction of production type_annotation_simple -> COLON type_expr_simple +## In state 149, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple +## In state 150, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) ## interactive_expr: LPAR True COMMA Bytes RPAR WILD ## -## Ends in an error in state: 127. +## Ends in an error in state: 129. ## ## disj_expr_level -> par(tuple(disj_expr_level)) . option(type_annotation_simple) [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR Attr ARROW ] ## @@ -1710,7 +1705,7 @@ interactive_expr: LPAR True COMMA Bytes RPAR WILD interactive_expr: LPAR True COMMA True COMMA WILD ## -## Ends in an error in state: 455. +## Ends in an error in state: 456. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1722,7 +1717,7 @@ interactive_expr: LPAR True COMMA True COMMA WILD interactive_expr: LPAR True COMMA True VBAR ## -## Ends in an error in state: 454. +## Ends in an error in state: 455. ## ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ RPAR Or COMMA BOOL_OR ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ RPAR Or COMMA BOOL_OR ] @@ -1736,23 +1731,23 @@ interactive_expr: LPAR True COMMA True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR True COMMA WILD ## -## Ends in an error in state: 452. +## Ends in an error in state: 453. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1764,12 +1759,12 @@ interactive_expr: LPAR True COMMA WILD interactive_expr: LPAR True VBAR ## -## Ends in an error in state: 451. +## Ends in an error in state: 452. ## ## base_expr(expr) -> disj_expr_level . [ RPAR ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ RPAR Or COMMA BOOL_OR ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ RPAR Or COMMA BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . es6_func [ RPAR ] +## fun_expr -> disj_expr_level . ARROW expr [ RPAR ] ## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: @@ -1779,16 +1774,16 @@ interactive_expr: LPAR True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level ## @@ -1809,7 +1804,7 @@ interactive_expr: LPAR WILD interactive_expr: Let VBAR ## -## Ends in an error in state: 351. +## Ends in an error in state: 352. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1821,7 +1816,7 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI WILD ## -## Ends in an error in state: 394. +## Ends in an error in state: 395. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding SEMI . expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1833,7 +1828,7 @@ interactive_expr: Let WILD EQ Bytes SEMI WILD interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 393. +## Ends in an error in state: 394. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1844,20 +1839,20 @@ interactive_expr: Let WILD EQ Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 526, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 527, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## @@ -1888,9 +1883,9 @@ interactive_expr: NOT WILD interactive_expr: Switch Constr WILD ## -## Ends in an error in state: 111. +## Ends in an error in state: 113. ## -## module_field -> Constr . DOT Ident [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] +## module_field -> Constr . DOT module_fun [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr . DOT Ident selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: @@ -1901,7 +1896,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 244. +## Ends in an error in state: 245. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1913,7 +1908,7 @@ interactive_expr: Switch LBRACE WILD interactive_expr: Switch LBRACKET True SEMI True SEMI WILD ## -## Ends in an error in state: 242. +## Ends in an error in state: 243. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1926,7 +1921,7 @@ interactive_expr: Switch LBRACKET True SEMI True SEMI WILD interactive_expr: Switch LBRACKET True SEMI True VBAR ## -## Ends in an error in state: 241. +## Ends in an error in state: 242. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1939,26 +1934,26 @@ interactive_expr: Switch LBRACKET True SEMI True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET True SEMI WILD ## -## Ends in an error in state: 238. +## Ends in an error in state: 239. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1971,7 +1966,7 @@ interactive_expr: Switch LBRACKET True SEMI WILD interactive_expr: Switch LBRACKET True VBAR ## -## Ends in an error in state: 237. +## Ends in an error in state: 238. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1984,26 +1979,26 @@ interactive_expr: Switch LBRACKET True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET WILD ## -## Ends in an error in state: 231. +## Ends in an error in state: 232. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -2015,7 +2010,7 @@ interactive_expr: Switch LBRACKET WILD interactive_expr: Switch LPAR True VBAR ## -## Ends in an error in state: 449. +## Ends in an error in state: 450. ## ## par(expr) -> LPAR expr . RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2026,19 +2021,19 @@ interactive_expr: Switch LPAR True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## @@ -2058,7 +2053,7 @@ interactive_expr: Switch LPAR WILD interactive_expr: Switch True LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 333. +## Ends in an error in state: 334. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ COMMA ARROW ] ## pattern -> LBRACKET . sub_pattern COMMA ELLIPSIS sub_pattern RBRACKET [ ARROW ] @@ -2071,7 +2066,7 @@ interactive_expr: Switch True LBRACE VBAR LBRACKET VBAR interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS VBAR ## -## Ends in an error in state: 336. +## Ends in an error in state: 337. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -2083,7 +2078,7 @@ interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS VBAR interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS WILD WILD ## -## Ends in an error in state: 337. +## Ends in an error in state: 338. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -2095,7 +2090,7 @@ interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS WILD WILD interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA WILD ## -## Ends in an error in state: 335. +## Ends in an error in state: 336. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2107,7 +2102,7 @@ interactive_expr: Switch True LBRACE VBAR LBRACKET WILD COMMA WILD interactive_expr: Switch True LBRACE VBAR LBRACKET WILD WILD ## -## Ends in an error in state: 334. +## Ends in an error in state: 335. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2122,7 +2117,7 @@ interactive_expr: Switch True LBRACE VBAR LBRACKET WILD WILD interactive_expr: Switch True LBRACE VBAR LPAR Bytes RPAR WILD ## -## Ends in an error in state: 340. +## Ends in an error in state: 341. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2134,7 +2129,7 @@ interactive_expr: Switch True LBRACE VBAR LPAR Bytes RPAR WILD interactive_expr: Switch True LBRACE VBAR VBAR ## -## Ends in an error in state: 509. +## Ends in an error in state: 510. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2146,7 +2141,7 @@ interactive_expr: Switch True LBRACE VBAR VBAR interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes SEMI WILD ## -## Ends in an error in state: 522. +## Ends in an error in state: 523. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2158,7 +2153,7 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes SEMI WILD interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Bytes SEMI WILD ## -## Ends in an error in state: 524. +## Ends in an error in state: 525. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2170,7 +2165,7 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Byte interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW Bytes Type ## -## Ends in an error in state: 517. +## Ends in an error in state: 518. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2181,36 +2176,35 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW Bytes Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 213, spurious reduction of production es6_func -> ARROW expr -## In state 221, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 512, spurious reduction of production base_expr(base_cond) -> fun_expr -## In state 515, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 516, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 215, spurious reduction of production fun_expr -> disj_expr_level ARROW expr +## In state 513, spurious reduction of production base_expr(base_cond) -> fun_expr +## In state 516, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) +## In state 517, spurious reduction of production base_cond -> base_cond__open(base_cond) ## interactive_expr: Switch True LBRACE VBAR WILD ARROW True Type ## -## Ends in an error in state: 513. +## Ends in an error in state: 514. ## ## base_expr(base_cond) -> disj_expr_level . [ VBAR SEMI RBRACE ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . es6_func [ VBAR SEMI RBRACE ] +## fun_expr -> disj_expr_level . ARROW expr [ VBAR SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -2219,23 +2213,23 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: Switch True LBRACE VBAR WILD ARROW WILD ## -## Ends in an error in state: 511. +## Ends in an error in state: 512. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2247,7 +2241,7 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW WILD interactive_expr: Switch True LBRACE VBAR WILD COMMA Bytes RPAR ## -## Ends in an error in state: 510. +## Ends in an error in state: 511. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2258,16 +2252,16 @@ interactive_expr: Switch True LBRACE VBAR WILD COMMA Bytes RPAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 327, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 330, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 339, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 328, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 331, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 340, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: Switch True LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 326. +## Ends in an error in state: 327. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2279,7 +2273,7 @@ interactive_expr: Switch True LBRACE VBAR WILD COMMA VBAR interactive_expr: Switch True LBRACE VBAR WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 328. +## Ends in an error in state: 329. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2291,7 +2285,7 @@ interactive_expr: Switch True LBRACE VBAR WILD COMMA WILD COMMA VBAR interactive_expr: Switch True LBRACE VBAR WILD COMMA WILD WILD ## -## Ends in an error in state: 327. +## Ends in an error in state: 328. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] @@ -2304,7 +2298,7 @@ interactive_expr: Switch True LBRACE VBAR WILD COMMA WILD WILD interactive_expr: Switch True LBRACE VBAR WILD WILD ## -## Ends in an error in state: 427. +## Ends in an error in state: 428. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ COMMA ] @@ -2317,7 +2311,7 @@ interactive_expr: Switch True LBRACE VBAR WILD WILD interactive_expr: Switch True LBRACE WILD ## -## Ends in an error in state: 508. +## Ends in an error in state: 509. ## ## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2329,7 +2323,7 @@ interactive_expr: Switch True LBRACE WILD interactive_expr: Switch True WILD ## -## Ends in an error in state: 507. +## Ends in an error in state: 508. ## ## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2353,19 +2347,19 @@ interactive_expr: Switch WILD interactive_expr: True ARROW WILD ## -## Ends in an error in state: 212. +## Ends in an error in state: 214. ## -## es6_func -> ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] +## fun_expr -> disj_expr_level ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: -## ARROW +## disj_expr_level ARROW ## interactive_expr: True BOOL_AND WILD ## -## Ends in an error in state: 166. +## Ends in an error in state: 168. ## ## bin_op(conj_expr_level,BOOL_AND,comp_expr_level) -> conj_expr_level BOOL_AND . comp_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2377,7 +2371,7 @@ interactive_expr: True BOOL_AND WILD interactive_expr: True BOOL_OR WILD ## -## Ends in an error in state: 210. +## Ends in an error in state: 212. ## ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level BOOL_OR . conj_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR Attr ARROW ] ## @@ -2389,7 +2383,7 @@ interactive_expr: True BOOL_OR WILD interactive_expr: True CAT WILD ## -## Ends in an error in state: 189. +## Ends in an error in state: 191. ## ## bin_op(add_expr_level,CAT,cat_expr_level) -> add_expr_level CAT . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2401,7 +2395,7 @@ interactive_expr: True CAT WILD interactive_expr: True COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 132. +## Ends in an error in state: 134. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2413,15 +2407,15 @@ interactive_expr: True COLON Ident LPAR Ident VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 130, spurious reduction of production option(type_expr_simple_args) -> -## In state 139, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 132, spurious reduction of production option(type_expr_simple_args) -> +## In state 141, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: True COLON Ident LPAR WILD ## -## Ends in an error in state: 131. +## Ends in an error in state: 133. ## ## par(nsepseq(type_expr_simple,COMMA)) -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2433,7 +2427,7 @@ interactive_expr: True COLON Ident LPAR WILD interactive_expr: True COLON Ident WILD ## -## Ends in an error in state: 130. +## Ends in an error in state: 132. ## ## type_expr_simple -> Ident . option(type_expr_simple_args) [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2445,7 +2439,7 @@ interactive_expr: True COLON Ident WILD interactive_expr: True COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 142. +## Ends in an error in state: 144. ## ## type_expr_simple -> LPAR type_expr_simple ARROW type_expr_simple . RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2456,15 +2450,15 @@ interactive_expr: True COLON LPAR Ident ARROW Ident VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 130, spurious reduction of production option(type_expr_simple_args) -> -## In state 139, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 132, spurious reduction of production option(type_expr_simple_args) -> +## In state 141, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: True COLON LPAR Ident ARROW WILD ## -## Ends in an error in state: 141. +## Ends in an error in state: 143. ## ## type_expr_simple -> LPAR type_expr_simple ARROW . type_expr_simple RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2476,7 +2470,7 @@ interactive_expr: True COLON LPAR Ident ARROW WILD interactive_expr: True COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 133. +## Ends in an error in state: 135. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2488,7 +2482,7 @@ interactive_expr: True COLON LPAR Ident COMMA WILD interactive_expr: True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 149. +## Ends in an error in state: 151. ## ## add_expr_level -> mult_expr_level . [ VBAR Type SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2503,7 +2497,7 @@ interactive_expr: True COLON LPAR Ident RPAR WILD interactive_expr: True COLON LPAR Ident VBAR ## -## Ends in an error in state: 140. +## Ends in an error in state: 142. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2516,15 +2510,15 @@ interactive_expr: True COLON LPAR Ident VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 130, spurious reduction of production option(type_expr_simple_args) -> -## In state 139, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 132, spurious reduction of production option(type_expr_simple_args) -> +## In state 141, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: True COLON LPAR WILD ## -## Ends in an error in state: 129. +## Ends in an error in state: 131. ## ## type_expr_simple -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## type_expr_simple -> LPAR . type_expr_simple ARROW type_expr_simple RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2537,7 +2531,7 @@ interactive_expr: True COLON LPAR WILD interactive_expr: True COLON WILD ## -## Ends in an error in state: 128. +## Ends in an error in state: 130. ## ## type_annotation_simple -> COLON . type_expr_simple [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2549,7 +2543,7 @@ interactive_expr: True COLON WILD interactive_expr: True EQEQ WILD ## -## Ends in an error in state: 199. +## Ends in an error in state: 201. ## ## bin_op(comp_expr_level,EQEQ,cat_expr_level) -> comp_expr_level EQEQ . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2561,7 +2555,7 @@ interactive_expr: True EQEQ WILD interactive_expr: True GE WILD ## -## Ends in an error in state: 197. +## Ends in an error in state: 199. ## ## bin_op(comp_expr_level,GE,cat_expr_level) -> comp_expr_level GE . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2573,7 +2567,7 @@ interactive_expr: True GE WILD interactive_expr: True GT WILD ## -## Ends in an error in state: 195. +## Ends in an error in state: 197. ## ## bin_op(comp_expr_level,GT,cat_expr_level) -> comp_expr_level GT . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2585,7 +2579,7 @@ interactive_expr: True GT WILD interactive_expr: True LE WILD ## -## Ends in an error in state: 193. +## Ends in an error in state: 195. ## ## bin_op(comp_expr_level,LE,cat_expr_level) -> comp_expr_level LE . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2597,7 +2591,7 @@ interactive_expr: True LE WILD interactive_expr: True LPAR True COMMA WILD ## -## Ends in an error in state: 160. +## Ends in an error in state: 162. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2609,7 +2603,7 @@ interactive_expr: True LPAR True COMMA WILD interactive_expr: True LPAR True VBAR ## -## Ends in an error in state: 159. +## Ends in an error in state: 161. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2621,26 +2615,26 @@ interactive_expr: True LPAR True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## -Missing `)`. + interactive_expr: True LPAR WILD ## -## Ends in an error in state: 153. +## Ends in an error in state: 155. ## ## call_expr -> core_expr LPAR . nsepseq(expr,COMMA) RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## unit -> LPAR . RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2653,7 +2647,7 @@ interactive_expr: True LPAR WILD interactive_expr: True LT WILD ## -## Ends in an error in state: 191. +## Ends in an error in state: 193. ## ## bin_op(comp_expr_level,LT,cat_expr_level) -> comp_expr_level LT . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2665,7 +2659,7 @@ interactive_expr: True LT WILD interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 188. +## Ends in an error in state: 190. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS mult_expr_level . [ VBAR Type SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2680,7 +2674,7 @@ interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD interactive_expr: True MINUS WILD ## -## Ends in an error in state: 187. +## Ends in an error in state: 189. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS . mult_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2692,7 +2686,7 @@ interactive_expr: True MINUS WILD interactive_expr: True Mod WILD ## -## Ends in an error in state: 185. +## Ends in an error in state: 187. ## ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level Mod . unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2704,7 +2698,7 @@ interactive_expr: True Mod WILD interactive_expr: True NE WILD ## -## Ends in an error in state: 168. +## Ends in an error in state: 170. ## ## bin_op(comp_expr_level,NE,cat_expr_level) -> comp_expr_level NE . cat_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or NE Let LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2716,7 +2710,7 @@ interactive_expr: True NE WILD interactive_expr: True Or WILD ## -## Ends in an error in state: 163. +## Ends in an error in state: 165. ## ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level Or . conj_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA BOOL_OR Attr ARROW ] ## @@ -2728,7 +2722,7 @@ interactive_expr: True Or WILD interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 182. +## Ends in an error in state: 184. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS mult_expr_level . [ VBAR Type SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2743,7 +2737,7 @@ interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD interactive_expr: True PLUS WILD ## -## Ends in an error in state: 181. +## Ends in an error in state: 183. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS . mult_expr_level [ VBAR Type SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2755,7 +2749,7 @@ interactive_expr: True PLUS WILD interactive_expr: True SLASH WILD ## -## Ends in an error in state: 183. +## Ends in an error in state: 185. ## ## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level SLASH . unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2767,7 +2761,7 @@ interactive_expr: True SLASH WILD interactive_expr: True TIMES WILD ## -## Ends in an error in state: 150. +## Ends in an error in state: 152. ## ## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level TIMES . unary_expr_level [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -2779,7 +2773,7 @@ interactive_expr: True TIMES WILD interactive_expr: True VBAR ## -## Ends in an error in state: 537. +## Ends in an error in state: 538. ## ## interactive_expr -> expr_with_let_expr . EOF [ # ] ## @@ -2790,27 +2784,27 @@ interactive_expr: True VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 397, spurious reduction of production expr_with_let_expr -> expr +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 398, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: True WILD ## -## Ends in an error in state: 152. +## Ends in an error in state: 154. ## ## call_expr -> core_expr . LPAR nsepseq(expr,COMMA) RPAR [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## call_expr -> core_expr . unit [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -2824,7 +2818,7 @@ interactive_expr: True WILD interactive_expr: WILD ## -## Ends in an error in state: 535. +## Ends in an error in state: 536. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2848,7 +2842,7 @@ contract: Attr WILD contract: Let Ident COLON Constr Type ## -## Ends in an error in state: 373. +## Ends in an error in state: 374. ## ## let_binding -> Ident option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -2860,7 +2854,7 @@ contract: Let Ident COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr @@ -2871,7 +2865,7 @@ contract: Let Ident COLON Constr Type contract: Let Ident EQ WILD ## -## Ends in an error in state: 374. +## Ends in an error in state: 375. ## ## let_binding -> Ident option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2879,16 +2873,11 @@ contract: Let Ident EQ WILD ## Ident option(type_annotation) EQ ## -This is an incorrect let binding. -- -Examples of correct let bindings: -let a: int = 4; -let (a: int, b: int) = (1, 2); -let func = (a: int, b: int) => a + b; + contract: Let Ident WILD ## -## Ends in an error in state: 372. +## Ends in an error in state: 373. ## ## let_binding -> Ident . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> Ident . [ COMMA ] @@ -2901,7 +2890,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 309. +## Ends in an error in state: 310. ## ## nsepseq(field_pattern,COMMA) -> field_pattern COMMA . nsepseq(field_pattern,COMMA) [ RBRACE ] ## seq(__anonymous_0(field_pattern,COMMA)) -> field_pattern COMMA . seq(__anonymous_0(field_pattern,COMMA)) [ RBRACE ] @@ -2914,7 +2903,7 @@ contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes WILD ## -## Ends in an error in state: 308. +## Ends in an error in state: 309. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2928,7 +2917,7 @@ contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes WILD contract: Let LBRACE Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 305. +## Ends in an error in state: 306. ## ## nsepseq(field_pattern,COMMA) -> field_pattern COMMA . nsepseq(field_pattern,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_pattern,COMMA)) -> field_pattern COMMA . seq(__anonymous_0(field_pattern,COMMA)) [ RBRACE ] @@ -2941,7 +2930,7 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr Type ## -## Ends in an error in state: 386. +## Ends in an error in state: 387. ## ## let_binding -> record_pattern option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -2953,7 +2942,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr @@ -2964,7 +2953,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr Type contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD ## -## Ends in an error in state: 387. +## Ends in an error in state: 388. ## ## let_binding -> record_pattern option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2976,7 +2965,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 385. +## Ends in an error in state: 386. ## ## let_binding -> record_pattern . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> record_pattern . [ COMMA ] @@ -2989,7 +2978,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 304. +## Ends in an error in state: 305. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -3003,7 +2992,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 282. +## Ends in an error in state: 283. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -3015,7 +3004,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 281. +## Ends in an error in state: 282. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -3027,7 +3016,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 280. +## Ends in an error in state: 281. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -3039,7 +3028,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 287. +## Ends in an error in state: 288. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3051,7 +3040,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 279. +## Ends in an error in state: 280. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3063,7 +3052,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 312. +## Ends in an error in state: 313. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern SEMI . nsepseq(sub_pattern,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(sub_pattern,SEMI)) -> sub_pattern SEMI . seq(__anonymous_0(sub_pattern,SEMI)) [ RBRACKET ] @@ -3076,7 +3065,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI VBAR contract: Let LPAR Constr LBRACKET WILD SEMI WILD SEMI VBAR ## -## Ends in an error in state: 314. +## Ends in an error in state: 315. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern SEMI . nsepseq(sub_pattern,SEMI) [ RBRACKET ] ## seq(__anonymous_0(sub_pattern,SEMI)) -> sub_pattern SEMI . seq(__anonymous_0(sub_pattern,SEMI)) [ RBRACKET ] @@ -3089,7 +3078,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD SEMI VBAR contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD ## -## Ends in an error in state: 313. +## Ends in an error in state: 314. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3103,7 +3092,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 311. +## Ends in an error in state: 312. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3117,7 +3106,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 278. +## Ends in an error in state: 279. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3131,7 +3120,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 331. +## Ends in an error in state: 332. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3142,16 +3131,16 @@ contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 327, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 330, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 323, spurious reduction of production ptuple -> tuple(sub_pattern) +## In state 328, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 331, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 324, spurious reduction of production ptuple -> tuple(sub_pattern) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 324. +## Ends in an error in state: 325. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -3164,7 +3153,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 370. +## Ends in an error in state: 371. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -3175,15 +3164,15 @@ contract: Let LPAR Constr SEMI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 286, spurious reduction of production constr_pattern -> Constr -## In state 369, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 287, spurious reduction of production constr_pattern -> Constr +## In state 370, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 286. +## Ends in an error in state: 287. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3196,7 +3185,7 @@ contract: Let LPAR Constr VBAR contract: Let LPAR RPAR COLON Constr Type ## -## Ends in an error in state: 377. +## Ends in an error in state: 378. ## ## let_binding -> unit option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3208,7 +3197,7 @@ contract: Let LPAR RPAR COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr @@ -3219,7 +3208,7 @@ contract: Let LPAR RPAR COLON Constr Type contract: Let LPAR RPAR EQ WILD ## -## Ends in an error in state: 378. +## Ends in an error in state: 379. ## ## let_binding -> unit option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3231,7 +3220,7 @@ contract: Let LPAR RPAR EQ WILD contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 376. +## Ends in an error in state: 377. ## ## let_binding -> unit . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> unit . [ COMMA ] @@ -3244,7 +3233,7 @@ contract: Let LPAR RPAR WILD contract: Let LPAR VBAR ## -## Ends in an error in state: 352. +## Ends in an error in state: 353. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3257,7 +3246,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 367. +## Ends in an error in state: 368. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3269,7 +3258,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 366. +## Ends in an error in state: 367. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3281,16 +3270,16 @@ contract: Let LPAR WILD COMMA Ident EQ ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 360, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 365, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) -## In state 357, spurious reduction of production irrefutable -> tuple(sub_irrefutable) +## In state 361, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 366, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 358, spurious reduction of production irrefutable -> tuple(sub_irrefutable) ## contract: Let LPAR WILD RPAR COLON Constr Type ## -## Ends in an error in state: 390. +## Ends in an error in state: 391. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3302,7 +3291,7 @@ contract: Let LPAR WILD RPAR COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr @@ -3313,7 +3302,7 @@ contract: Let LPAR WILD RPAR COLON Constr Type contract: Let LPAR WILD RPAR EQ WILD ## -## Ends in an error in state: 391. +## Ends in an error in state: 392. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3325,7 +3314,7 @@ contract: Let LPAR WILD RPAR EQ WILD contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 389. +## Ends in an error in state: 390. ## ## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] @@ -3338,7 +3327,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 358. +## Ends in an error in state: 359. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3375,8 +3364,8 @@ contract: Let WILD COLON Ident Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 68, spurious reduction of production type_expr -> cartesian +## In state 23, spurious reduction of production fun_type -> core_type +## In state 68, spurious reduction of production type_expr -> fun_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr ## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## @@ -3397,7 +3386,7 @@ contract: Let WILD COLON WILD contract: Let WILD COMMA Ident COLON Constr Type ## -## Ends in an error in state: 381. +## Ends in an error in state: 382. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3409,7 +3398,7 @@ contract: Let WILD COMMA Ident COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 78, spurious reduction of production type_annotation -> COLON type_expr @@ -3420,7 +3409,7 @@ contract: Let WILD COMMA Ident COLON Constr Type contract: Let WILD COMMA Ident EQ WILD ## -## Ends in an error in state: 382. +## Ends in an error in state: 383. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3432,7 +3421,7 @@ contract: Let WILD COMMA Ident EQ WILD contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 380. +## Ends in an error in state: 381. ## ## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3443,15 +3432,15 @@ contract: Let WILD COMMA Ident RPAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 360, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 365, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 361, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 366, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) ## contract: Let WILD COMMA VBAR ## -## Ends in an error in state: 359. +## Ends in an error in state: 360. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3463,7 +3452,7 @@ contract: Let WILD COMMA VBAR contract: Let WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 361. +## Ends in an error in state: 362. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3475,7 +3464,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 360. +## Ends in an error in state: 361. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3488,7 +3477,7 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 528. +## Ends in an error in state: 529. ## ## declaration -> let_declaration . option(SEMI) [ Type Let EOF Attr ] ## @@ -3499,21 +3488,21 @@ contract: Let WILD EQ Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 152, spurious reduction of production call_expr_level_in -> core_expr -## In state 170, spurious reduction of production option(type_annotation_simple) -> -## In state 171, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 172, spurious reduction of production unary_expr_level -> call_expr_level -## In state 125, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 149, spurious reduction of production add_expr_level -> mult_expr_level -## In state 180, spurious reduction of production cat_expr_level -> add_expr_level -## In state 201, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 208, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 215, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 162, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 219, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 220, spurious reduction of production expr -> base_cond__open(expr) -## In state 526, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## In state 527, spurious reduction of production let_declaration -> seq(Attr) Let let_binding +## In state 154, spurious reduction of production call_expr_level_in -> core_expr +## In state 172, spurious reduction of production option(type_annotation_simple) -> +## In state 173, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 174, spurious reduction of production unary_expr_level -> call_expr_level +## In state 127, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 151, spurious reduction of production add_expr_level -> mult_expr_level +## In state 182, spurious reduction of production cat_expr_level -> add_expr_level +## In state 203, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 210, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 217, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 164, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 221, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 222, spurious reduction of production expr -> base_cond__open(expr) +## In state 527, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 528, spurious reduction of production let_declaration -> seq(Attr) Let let_binding ## @@ -3545,7 +3534,7 @@ contract: Let WILD WILD contract: Type Ident EQ Constr DOT WILD ## -## Ends in an error in state: 12. +## Ends in an error in state: 11. ## ## core_type -> Constr DOT . Ident [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3557,7 +3546,7 @@ contract: Type Ident EQ Constr DOT WILD contract: Type Ident EQ Constr LPAR Ident RPAR WILD ## -## Ends in an error in state: 41. +## Ends in an error in state: 37. ## ## nsepseq(variant,VBAR) -> variant . [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## nsepseq(variant,VBAR) -> variant . VBAR nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] @@ -3570,19 +3559,19 @@ contract: Type Ident EQ Constr LPAR Ident RPAR WILD contract: Type Ident EQ Constr LPAR Ident Type ## -## Ends in an error in state: 39. +## Ends in an error in state: 35. ## -## variant -> Constr LPAR cartesian . RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] +## variant -> Constr LPAR fun_type . RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: -## Constr LPAR cartesian +## Constr LPAR fun_type ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type +## In state 23, spurious reduction of production fun_type -> core_type ## @@ -3591,7 +3580,7 @@ contract: Type Ident EQ Constr LPAR WILD ## ## Ends in an error in state: 6. ## -## variant -> Constr LPAR . cartesian RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] +## variant -> Constr LPAR . fun_type RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr LPAR @@ -3613,7 +3602,7 @@ contract: Type Ident EQ Constr RPAR ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 66, spurious reduction of production type_expr -> sum_type ## In state 65, spurious reduction of production type_decl -> Type Ident EQ type_expr @@ -3623,7 +3612,7 @@ contract: Type Ident EQ Constr RPAR contract: Type Ident EQ Constr SEMI WILD ## -## Ends in an error in state: 532. +## Ends in an error in state: 533. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -3636,7 +3625,7 @@ contract: Type Ident EQ Constr SEMI WILD contract: Type Ident EQ Constr VBAR WILD ## -## Ends in an error in state: 42. +## Ends in an error in state: 38. ## ## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3652,7 +3641,7 @@ contract: Type Ident EQ Constr WILD ## ## core_type -> Constr . DOT Ident [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## variant -> Constr . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] -## variant -> Constr . LPAR cartesian RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] +## variant -> Constr . LPAR fun_type RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr @@ -3662,87 +3651,32 @@ contract: Type Ident EQ Constr WILD contract: Type Ident EQ Ident ARROW WILD ## -## Ends in an error in state: 25. +## Ends in an error in state: 24. ## -## type_expr_func -> ARROW . cartesian [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> Ident ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: -## ARROW +## Ident ARROW ## -contract: Type Ident EQ Ident LPAR Ident COMMA WILD +contract: Type Ident EQ Ident LPAR Ident Type ## -## Ends in an error in state: 23. +## Ends in an error in state: 17. ## -## nsepseq(core_type,COMMA) -> core_type COMMA . nsepseq(core_type,COMMA) [ RPAR ] +## tuple(fun_type) -> fun_type . COMMA nsepseq(fun_type,COMMA) [ RPAR ] +## type_args -> fun_type . [ RPAR ] ## ## The known suffix of the stack is as follows: -## core_type COMMA -## - - - -contract: Type Ident EQ Ident LPAR Ident RBRACE -## -## Ends in an error in state: 22. -## -## nsepseq(core_type,COMMA) -> core_type . [ RPAR ] -## nsepseq(core_type,COMMA) -> core_type . COMMA nsepseq(core_type,COMMA) [ RPAR ] -## -## The known suffix of the stack is as follows: -## core_type -## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 18, spurious reduction of production core_type -> Ident -## - - - -contract: Type Ident EQ Ident LPAR Ident WILD -## -## Ends in an error in state: 18. -## -## core_type -> Ident . [ RPAR RBRACE COMMA ] -## core_type -> Ident . par(__anonymous_1) [ RPAR RBRACE COMMA ] -## -## The known suffix of the stack is as follows: -## Ident -## - - - -contract: Type Ident EQ Ident LPAR LPAR Ident Type -## -## Ends in an error in state: 16. -## -## par(cartesian) -> LPAR cartesian . RPAR [ RPAR RBRACE COMMA ] -## -## The known suffix of the stack is as follows: -## LPAR cartesian +## fun_type ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## - - - -contract: Type Ident EQ Ident LPAR LPAR WILD -## -## Ends in an error in state: 10. -## -## par(cartesian) -> LPAR . cartesian RPAR [ RPAR RBRACE COMMA ] -## -## The known suffix of the stack is as follows: -## LPAR +## In state 23, spurious reduction of production fun_type -> core_type ## @@ -3751,7 +3685,7 @@ contract: Type Ident EQ Ident LPAR WILD ## ## Ends in an error in state: 9. ## -## par(__anonymous_1) -> LPAR . nsepseq(core_type,COMMA) RPAR [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] +## par(type_args) -> LPAR . type_args RPAR [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -3763,9 +3697,9 @@ contract: Type Ident EQ Ident WILD ## ## Ends in an error in state: 8. ## -## cartesian -> Ident . type_expr_func [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## core_type -> Ident . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## core_type -> Ident . par(__anonymous_1) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## core_type -> Ident . par(type_args) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> Ident . ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Ident @@ -3789,7 +3723,7 @@ contract: Type Ident EQ LBRACE Ident COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 50, spurious reduction of production type_expr_field -> sum_type ## In state 49, spurious reduction of production field_decl -> Ident COLON type_expr_field @@ -3797,10 +3731,54 @@ contract: Type Ident EQ LBRACE Ident COLON Constr Type -contract: Type Ident EQ LBRACE Ident COLON WILD +contract: Type Ident EQ LBRACE Ident COLON Ident WILD ## ## Ends in an error in state: 47. ## +## core_type -> Ident . [ RBRACE COMMA ] +## core_type -> Ident . par(type_args) [ RBRACE COMMA ] +## +## The known suffix of the stack is as follows: +## Ident +## + + + +contract: Type Ident EQ LBRACE Ident COLON LPAR Ident Type +## +## Ends in an error in state: 45. +## +## par(fun_type) -> LPAR fun_type . RPAR [ RBRACE COMMA ] +## +## The known suffix of the stack is as follows: +## LPAR fun_type +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 8, spurious reduction of production core_type -> Ident +## In state 23, spurious reduction of production fun_type -> core_type +## + + + +contract: Type Ident EQ LBRACE Ident COLON LPAR WILD +## +## Ends in an error in state: 44. +## +## par(fun_type) -> LPAR . fun_type RPAR [ RBRACE COMMA ] +## +## The known suffix of the stack is as follows: +## LPAR +## + + + +contract: Type Ident EQ LBRACE Ident COLON WILD +## +## Ends in an error in state: 43. +## ## field_decl -> Ident COLON . type_expr_field [ RBRACE COMMA ] ## ## The known suffix of the stack is as follows: @@ -3825,7 +3803,7 @@ contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr Type ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 48, spurious reduction of production variant -> Constr -## In state 41, spurious reduction of production nsepseq(variant,VBAR) -> variant +## In state 37, spurious reduction of production nsepseq(variant,VBAR) -> variant ## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) ## In state 50, spurious reduction of production type_expr_field -> sum_type ## In state 49, spurious reduction of production field_decl -> Ident COLON type_expr_field @@ -3861,7 +3839,7 @@ contract: Type Ident EQ LBRACE Ident COMMA WILD contract: Type Ident EQ LBRACE Ident WILD ## -## Ends in an error in state: 46. +## Ends in an error in state: 42. ## ## field_decl -> Ident . [ RBRACE COMMA ] ## field_decl -> Ident . COLON type_expr_field [ RBRACE COMMA ] @@ -3874,7 +3852,7 @@ contract: Type Ident EQ LBRACE Ident WILD contract: Type Ident EQ LBRACE WILD ## -## Ends in an error in state: 45. +## Ends in an error in state: 41. ## ## record_type -> LBRACE . sep_or_term_list(field_decl,COMMA) RBRACE [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3886,7 +3864,7 @@ contract: Type Ident EQ LBRACE WILD contract: Type Ident EQ LPAR Constr WILD ## -## Ends in an error in state: 11. +## Ends in an error in state: 10. ## ## core_type -> Constr . DOT Ident [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## @@ -3898,90 +3876,115 @@ contract: Type Ident EQ LPAR Constr WILD contract: Type Ident EQ LPAR Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 37. +## Ends in an error in state: 21. ## -## nsepseq(cartesian,COMMA) -> cartesian COMMA . nsepseq(cartesian,COMMA) [ RPAR ] +## nsepseq(fun_type,COMMA) -> fun_type COMMA . nsepseq(fun_type,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: -## cartesian COMMA +## fun_type COMMA +## + + + +contract: Type Ident EQ LPAR Ident COMMA Ident RPAR ARROW WILD +## +## Ends in an error in state: 29. +## +## fun_type -> LPAR tuple(fun_type) RPAR ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## +## The known suffix of the stack is as follows: +## LPAR tuple(fun_type) RPAR ARROW ## contract: Type Ident EQ LPAR Ident COMMA Ident RPAR WILD ## -## Ends in an error in state: 33. +## Ends in an error in state: 28. ## -## cartesian -> LPAR cartesian COMMA nsepseq(cartesian,COMMA) RPAR . option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR tuple(fun_type) RPAR . ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR tuple(fun_type) RPAR . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: -## LPAR cartesian COMMA nsepseq(cartesian,COMMA) RPAR +## LPAR tuple(fun_type) RPAR ## contract: Type Ident EQ LPAR Ident COMMA Ident Type ## -## Ends in an error in state: 36. +## Ends in an error in state: 20. ## -## nsepseq(cartesian,COMMA) -> cartesian . [ RPAR ] -## nsepseq(cartesian,COMMA) -> cartesian . COMMA nsepseq(cartesian,COMMA) [ RPAR ] +## nsepseq(fun_type,COMMA) -> fun_type . [ RPAR ] +## nsepseq(fun_type,COMMA) -> fun_type . COMMA nsepseq(fun_type,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: -## cartesian +## fun_type ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type +## In state 23, spurious reduction of production fun_type -> core_type ## contract: Type Ident EQ LPAR Ident COMMA WILD ## -## Ends in an error in state: 31. +## Ends in an error in state: 18. ## -## cartesian -> LPAR cartesian COMMA . nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## tuple(fun_type) -> fun_type COMMA . nsepseq(fun_type,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: -## LPAR cartesian COMMA +## fun_type COMMA +## + + + +contract: Type Ident EQ LPAR Ident RPAR ARROW WILD +## +## Ends in an error in state: 33. +## +## fun_type -> LPAR fun_type RPAR ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## +## The known suffix of the stack is as follows: +## LPAR fun_type RPAR ARROW ## contract: Type Ident EQ LPAR Ident RPAR WILD ## -## Ends in an error in state: 29. +## Ends in an error in state: 32. ## -## cartesian -> LPAR cartesian RPAR . type_expr_func [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## par(cartesian) -> LPAR cartesian RPAR . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR fun_type RPAR . ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## par(fun_type) -> LPAR fun_type RPAR . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: -## LPAR cartesian RPAR +## LPAR fun_type RPAR ## contract: Type Ident EQ LPAR Ident Type ## -## Ends in an error in state: 28. +## Ends in an error in state: 31. ## -## cartesian -> LPAR cartesian . RPAR type_expr_func [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## cartesian -> LPAR cartesian . COMMA nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## par(cartesian) -> LPAR cartesian . RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR fun_type . RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## par(fun_type) -> LPAR fun_type . RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## tuple(fun_type) -> fun_type . COMMA nsepseq(fun_type,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: -## LPAR cartesian +## LPAR fun_type ## ## WARNING: This example involves spurious reductions. ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type +## In state 23, spurious reduction of production fun_type -> core_type ## @@ -3990,9 +3993,10 @@ contract: Type Ident EQ LPAR WILD ## ## Ends in an error in state: 7. ## -## cartesian -> LPAR . cartesian RPAR type_expr_func [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## cartesian -> LPAR . cartesian COMMA nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] -## par(cartesian) -> LPAR . cartesian RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR . fun_type RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR . tuple(fun_type) RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## fun_type -> LPAR . tuple(fun_type) RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] +## par(fun_type) -> LPAR . fun_type RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -4005,7 +4009,7 @@ contract: Type Ident EQ VBAR Constr WILD ## Ends in an error in state: 5. ## ## variant -> Constr . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] -## variant -> Constr . LPAR cartesian RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] +## variant -> Constr . LPAR fun_type RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr From 8f0b1b9c32fb23d691f7a19340be7f2c30779b96 Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Wed, 4 Mar 2020 18:05:29 +0100 Subject: [PATCH 2/5] I forgot to promote this negative test. --- src/bin/expect_tests/error_messages_tests.ml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index 284b21e89..19fec614d 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -4,13 +4,7 @@ let%expect_test _ = run_ligo_bad [ "compile-contract" ; "../../test/contracts/negative/gitlab_111.religo" ; "main" ] ; [%expect {| ligo: : Parse error in file "gitlab_111.religo", line 2, characters 0-3, after "=" and before "let": - This is an incorrect let binding. - - - Examples of correct let bindings: - let a: int = 4; - let (a: int, b: int) = (1, 2); - let func = (a: int, b: int) => a + b; - {} + 375: {} If you're not sure how to fix this error, you can @@ -24,8 +18,7 @@ let%expect_test _ = run_ligo_bad [ "compile-contract" ; "../../test/contracts/negative/missing_rpar.religo" ; "main" ] ; [%expect {| ligo: : Parse error in file "missing_rpar.religo", line 5, characters 0-3, after "m" and before "let": - Missing `)`. - {} + 161: {} If you're not sure how to fix this error, you can From a94753f72032ba7ec532fc98f5a940344b4bbafe Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 10 Mar 2020 16:39:05 +0100 Subject: [PATCH 3/5] Re-add error messages. --- src/bin/expect_tests/error_messages_tests.ml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index 19fec614d..284b21e89 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -4,7 +4,13 @@ let%expect_test _ = run_ligo_bad [ "compile-contract" ; "../../test/contracts/negative/gitlab_111.religo" ; "main" ] ; [%expect {| ligo: : Parse error in file "gitlab_111.religo", line 2, characters 0-3, after "=" and before "let": - 375: {} + This is an incorrect let binding. + - + Examples of correct let bindings: + let a: int = 4; + let (a: int, b: int) = (1, 2); + let func = (a: int, b: int) => a + b; + {} If you're not sure how to fix this error, you can @@ -18,7 +24,8 @@ let%expect_test _ = run_ligo_bad [ "compile-contract" ; "../../test/contracts/negative/missing_rpar.religo" ; "main" ] ; [%expect {| ligo: : Parse error in file "missing_rpar.religo", line 5, characters 0-3, after "m" and before "let": - 161: {} + Missing `)`. + {} If you're not sure how to fix this error, you can From 678a3bee593589145a22edb96146944b9d8f4563 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 10 Mar 2020 16:43:29 +0100 Subject: [PATCH 4/5] Fix error messages. --- src/passes/1-parser/reasonligo/error.messages.checked-in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index 60efe8353..fe67da530 100644 --- a/src/passes/1-parser/reasonligo/error.messages.checked-in +++ b/src/passes/1-parser/reasonligo/error.messages.checked-in @@ -2630,7 +2630,7 @@ interactive_expr: True LPAR True VBAR ## In state 222, spurious reduction of production expr -> base_cond__open(expr) ## - +Missing `)`. interactive_expr: True LPAR WILD ## @@ -2873,7 +2873,12 @@ contract: Let Ident EQ WILD ## Ident option(type_annotation) EQ ## - +This is an incorrect let binding. +- +Examples of correct let bindings: +let a: int = 4; +let (a: int, b: int) = (1, 2); +let func = (a: int, b: int) => a + b; contract: Let Ident WILD ## From caac8caf8ea483dd055c00c72e7102d5e0812564 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 24 Mar 2020 14:16:08 +0100 Subject: [PATCH 5/5] Add test for tuple list in ReasonLIGO --- src/test/contracts/tuple_list.religo | 3 +++ src/test/integration_tests.ml | 5 +++++ 2 files changed, 8 insertions(+) create mode 100644 src/test/contracts/tuple_list.religo diff --git a/src/test/contracts/tuple_list.religo b/src/test/contracts/tuple_list.religo new file mode 100644 index 000000000..0736701d2 --- /dev/null +++ b/src/test/contracts/tuple_list.religo @@ -0,0 +1,3 @@ +type z = list((int, int)); + +let o: z = [(2,4), (4, 6)]; \ No newline at end of file diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 2b9bc2ed8..4006d6b79 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -2316,6 +2316,10 @@ let no_semicolon_religo () : unit result = in ok () +let tuple_list_religo () : unit result = + let%bind _ = retype_file "./contracts/tuple_list.religo" in + ok () + let loop_bugs_ligo () : unit result = let%bind program = type_file "./contracts/loop_bugs.ligo" in let input = e_unit () in @@ -2502,4 +2506,5 @@ let main = test_suite "Integration (End to End)" [ test "tuple type (religo)" tuple_type_religo ; test "no semicolon (religo)" no_semicolon_religo ; test "loop_bugs (ligo)" loop_bugs_ligo ; + test "tuple_list (religo)" tuple_list_religo ; ]