From 7ab2ffa156db0150e7e61af21afa5bfbfdaf21ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Suzanne=20Dup=C3=A9ron?= Date: Thu, 30 Jan 2020 13:12:24 +0000 Subject: [PATCH 01/14] New typer: fix tuples --- src/stages/typesystem/core.ml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/stages/typesystem/core.ml b/src/stages/typesystem/core.ml index c21888908..11f9122c5 100644 --- a/src/stages/typesystem/core.ml +++ b/src/stages/typesystem/core.ml @@ -77,7 +77,11 @@ let type_expression'_of_simple_c_constant = function | C_set , [x] -> ok @@ T_operator(TC_set x) | C_map , [x ; y] -> ok @@ T_operator(TC_map (x , y)) | C_big_map , [x ; y] -> ok @@ T_operator(TC_big_map (x, y)) - | (C_contract | C_option | C_list | C_set | C_map | C_big_map), _ -> + | C_arrow , [x ; y] -> ok @@ T_operator(TC_arrow (x, y)) + | C_tuple , lst -> ok @@ T_operator(TC_tuple lst) + | C_record , _lst -> ok @@ failwith "records are not supported yet: T_record lst" + | C_variant , _lst -> ok @@ failwith "sums are not supported yet: T_sum lst" + | (C_contract | C_option | C_list | C_set | C_map | C_big_map | C_arrow ), _ -> failwith "internal error: wrong number of arguments for type operator" | C_unit , [] -> ok @@ T_constant(TC_unit) @@ -94,8 +98,6 @@ let type_expression'_of_simple_c_constant = function | C_chain_id , [] -> ok @@ T_constant(TC_chain_id) | C_signature , [] -> ok @@ T_constant(TC_signature) | C_timestamp , [] -> ok @@ T_constant(TC_timestamp) - | _ , [] -> + | (C_unit | C_string | C_bytes | C_nat | C_int | C_mutez | C_bool | C_operation | C_address | C_key | C_key_hash | C_chain_id | C_signature | C_timestamp), _::_ -> failwith "internal error: wrong number of arguments for type constant" - | _ , _ -> - failwith "internal error: unknown type operator" From 96468bd8ff55b00adbdeb40bc601cd15b5b8060a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Suzanne=20Dup=C3=A9ron?= Date: Thu, 30 Jan 2020 13:09:34 +0000 Subject: [PATCH 02/14] Disabled conversion of records & variants to type constructor + argument list in new typer, the current implementation is just wrong. --- src/passes/4-typer-new/solver.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/passes/4-typer-new/solver.ml b/src/passes/4-typer-new/solver.ml index 4f9c96388..7175fab54 100644 --- a/src/passes/4-typer-new/solver.ml +++ b/src/passes/4-typer-new/solver.ml @@ -35,8 +35,10 @@ module Wrap = struct let rec type_expression_to_type_value : T.type_value -> O.type_value = fun te -> match te.type_value' with | T_sum kvmap -> + let () = failwith "fixme: don't use to_list, it drops the variant keys, rows have a differnt kind than argument lists for now!" in P_constant (C_variant, T.CMap.to_list @@ T.CMap.map type_expression_to_type_value kvmap) | T_record kvmap -> + let () = failwith "fixme: don't use to_list, it drops the record keys, rows have a differnt kind than argument lists for now!" in P_constant (C_record, T.LMap.to_list @@ T.LMap.map type_expression_to_type_value kvmap) | T_arrow (arg , ret) -> P_constant (C_arrow, List.map type_expression_to_type_value [ arg ; ret ]) @@ -77,8 +79,10 @@ module Wrap = struct let rec type_expression_to_type_value_copypasted : I.type_expression -> O.type_value = fun te -> match te.type_expression' with | T_sum kvmap -> + let () = failwith "fixme: don't use to_list, it drops the variant keys, rows have a differnt kind than argument lists for now!" in P_constant (C_variant, I.CMap.to_list @@ I.CMap.map type_expression_to_type_value_copypasted kvmap) | T_record kvmap -> + let () = failwith "fixme: don't use to_list, it drops the record keys, rows have a differnt kind than argument lists for now!" in P_constant (C_record, I.LMap.to_list @@ I.LMap.map type_expression_to_type_value_copypasted kvmap) | T_arrow (arg , ret) -> P_constant (C_arrow, List.map type_expression_to_type_value_copypasted [ arg ; ret ]) From a6f0d7297cdfcb611716d628763164202a834b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Suzanne=20Dup=C3=A9ron?= Date: Thu, 30 Jan 2020 13:11:56 +0000 Subject: [PATCH 03/14] Improved temporary internal error message --- src/stages/common/misc.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stages/common/misc.ml b/src/stages/common/misc.ml index 794a36e7c..c753d7f3b 100644 --- a/src/stages/common/misc.ml +++ b/src/stages/common/misc.ml @@ -57,8 +57,8 @@ let type_expression'_of_string = function | "TC_timestamp" , [] -> ok @@ T_constant(TC_timestamp) | _, [] -> failwith "internal error: wrong number of arguments for type constant" - | _ -> - failwith "internal error: unknown type operator" + | op, _ -> + failwith (Format.asprintf "internal error: unknown type operator in src/stages/common/misc.ml %s" op) let string_of_type_operator = function | TC_contract x -> "TC_contract" , [x] From 0abc4cd2062a91294e6e77cb41cf4f5eaae7f3d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Suzanne=20Dup=C3=A9ron?= Date: Thu, 30 Jan 2020 18:48:43 +0000 Subject: [PATCH 04/14] Started adding typer for constants --- src/passes/4-typer-new/typer.ml | 3 +- src/passes/operators/operators.ml | 87 ++++++++++++++++++++++++++++++ src/passes/operators/operators.mli | 1 + 3 files changed, 90 insertions(+), 1 deletion(-) diff --git a/src/passes/4-typer-new/typer.ml b/src/passes/4-typer-new/typer.ml index ba9e10bd0..7eb46e26e 100644 --- a/src/passes/4-typer-new/typer.ml +++ b/src/passes/4-typer-new/typer.ml @@ -897,7 +897,8 @@ and type_expression : environment -> Solver.state -> ?tv_opt:O.type_value -> I.e | E_constant (name, lst) -> let () = ignore (name , lst) in - Pervasives.failwith "TODO: E_constant" + let _t = Operators.Typer.Operators_types.constant_type name in + Pervasives.failwith (Format.asprintf "TODO: E_constant (%a(%a))" Stage_common.PP.constant name (Format.pp_print_list Ast_simplified.PP.expression) lst) (* let%bind lst' = bind_list @@ List.map (type_expression e) lst in let tv_lst = List.map get_type_annotation lst' in diff --git a/src/passes/operators/operators.ml b/src/passes/operators/operators.ml index 6c8c92112..4c0d3dbb9 100644 --- a/src/passes/operators/operators.ml +++ b/src/passes/operators/operators.ml @@ -365,6 +365,93 @@ module Typer = struct let t_set_add = forall "a" @@ fun a -> a --> set a --> set a let t_set_remove = forall "a" @@ fun a -> a --> set a --> set a let t_not = bool --> bool + + let constant_type : constant -> Typesystem.Core.type_value result = function + | C_INT -> ok @@ t_int ; + | C_UNIT -> ok @@ t_unit ; + | C_NOW -> ok @@ t_now ; + | C_IS_NAT -> ok @@ failwith "t_is_nat" ; + | C_SOME -> ok @@ t_some ; + | C_NONE -> ok @@ t_none ; + | C_ASSERTION -> ok @@ t_assertion ; + | C_FAILWITH -> ok @@ t_failwith ; + (* LOOPS *) + | C_FOLD_WHILE -> ok @@ failwith "t_fold_while" ; + | C_CONTINUE -> ok @@ failwith "t_continue" ; + | C_STOP -> ok @@ failwith "t_stop" ; + (* MATH *) + | C_NEG -> ok @@ failwith "t_neg" ; + | C_ABS -> ok @@ t_abs ; + | C_ADD -> ok @@ t_add ; + | C_SUB -> ok @@ t_sub ; + | C_MUL -> ok @@ t_times; + | C_DIV -> ok @@ t_div ; + | C_MOD -> ok @@ t_mod ; + (* LOGIC *) + | C_NOT -> ok @@ t_not ; + | C_AND -> ok @@ failwith "t_and" ; + | C_OR -> ok @@ failwith "t_or" ; + | C_XOR -> ok @@ failwith "t_xor" ; + (* COMPARATOR *) + | C_EQ -> ok @@ failwith "t_comparator EQ" ; + | C_NEQ -> ok @@ failwith "t_comparator NEQ" ; + | C_LT -> ok @@ failwith "t_comparator LT" ; + | C_GT -> ok @@ failwith "t_comparator GT" ; + | C_LE -> ok @@ failwith "t_comparator LE" ; + | C_GE -> ok @@ failwith "t_comparator GE" ; + (* BYTES / STRING *) + | C_SIZE -> ok @@ t_size ; + | C_CONCAT -> ok @@ failwith "t_concat" ; + | C_SLICE -> ok @@ t_slice ; + | C_BYTES_PACK -> ok @@ t_bytes_pack ; + | C_BYTES_UNPACK -> ok @@ t_bytes_unpack ; + | C_CONS -> ok @@ t_cons ; + (* SET *) + | C_SET_EMPTY -> ok @@ failwith "t_set_empty" ; + | C_SET_ADD -> ok @@ t_set_add ; + | C_SET_REMOVE -> ok @@ t_set_remove ; + | C_SET_ITER -> ok @@ failwith "t_set_iter" ; + | C_SET_FOLD -> ok @@ failwith "t_set_fold" ; + | C_SET_MEM -> ok @@ t_set_mem ; + + (* LIST *) + | C_LIST_ITER -> ok @@ failwith "t_list_iter" ; + | C_LIST_MAP -> ok @@ failwith "t_list_map" ; + | C_LIST_FOLD -> ok @@ failwith "t_list_fold" ; + | C_LIST_CONS -> ok @@ failwith "t_list_cons" ; + (* MAP *) + | C_MAP_GET -> ok @@ failwith "t_map_get" ; + | C_MAP_GET_FORCE -> ok @@ failwith "t_map_get_force" ; + | C_MAP_ADD -> ok @@ t_map_add ; + | C_MAP_REMOVE -> ok @@ t_map_remove ; + | C_MAP_UPDATE -> ok @@ t_map_update ; + | C_MAP_ITER -> ok @@ t_map_iter ; + | C_MAP_MAP -> ok @@ t_map_map ; + | C_MAP_FOLD -> ok @@ t_map_fold ; + | C_MAP_MEM -> ok @@ t_map_mem ; + | C_MAP_FIND -> ok @@ t_map_find ; + | C_MAP_FIND_OPT -> ok @@ t_map_find_opt ; + (* BIG MAP *) + (* CRYPTO *) + | C_SHA256 -> ok @@ t_hash256 ; + | C_SHA512 -> ok @@ t_hash512 ; + | C_BLAKE2b -> ok @@ t_blake2b ; + | C_HASH_KEY -> ok @@ t_hash_key ; + | C_CHECK_SIGNATURE -> ok @@ t_check_signature ; + | C_CHAIN_ID -> ok @@ failwith "t_chain_id" ; + (*BLOCKCHAIN *) + | C_CONTRACT -> ok @@ t_get_contract ; + | C_CONTRACT_ENTRYPOINT -> ok @@ failwith "t_get_entrypoint" ; + | C_AMOUNT -> ok @@ t_amount ; + | C_BALANCE -> ok @@ failwith "t_balance" ; + | C_CALL -> ok @@ t_transaction ; + | C_SENDER -> ok @@ t_sender ; + | C_SOURCE -> ok @@ t_source ; + | C_ADDRESS -> ok @@ t_address ; + | C_SELF_ADDRESS -> ok @@ failwith "t_self_address"; + | C_IMPLICIT_ACCOUNT -> ok @@ failwith "t_implicit_account"; + | C_SET_DELEGATE -> ok @@ failwith "t_set_delegate" ; + | c -> simple_fail @@ Format.asprintf "Typer not implemented for consant %a" Stage_common.PP.constant c end let none = typer_0 "NONE" @@ fun tv_opt -> diff --git a/src/passes/operators/operators.mli b/src/passes/operators/operators.mli index 0085f5883..3da294664 100644 --- a/src/passes/operators/operators.mli +++ b/src/passes/operators/operators.mli @@ -94,6 +94,7 @@ module Typer : sig val t_set_add : Typesystem.Core.type_value val t_set_remove : Typesystem.Core.type_value val t_not : Typesystem.Core.type_value + val constant_type : constant -> Typesystem.Core.type_value Trace.result end (* From bf985797fb642fb424f8c6393d84f07048c50373 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Mon, 3 Feb 2020 10:53:44 +0100 Subject: [PATCH 05/14] - Don't allow to chain let bindings like: `let a = let b = 2`. - Give a proper warning when creating an incorrect let binding. --- src/bin/expect_tests/error_messages_tests.ml | 22 + src/passes/1-parser/reasonligo/Parser.mly | 15 +- .../reasonligo/error.messages.checked-in | 1760 +++++++---------- 3 files changed, 764 insertions(+), 1033 deletions(-) create mode 100644 src/bin/expect_tests/error_messages_tests.ml diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml new file mode 100644 index 000000000..4423cc919 --- /dev/null +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -0,0 +1,22 @@ +open Cli_expect + +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 28, 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; + {} + + If you're not sure how to fix this error, you can + do one of the following: + + * Visit our documentation: https://ligolang.org/docs/intro/what-and-why/ + * Ask a question on our Discord: https://discord.gg/9rhYaEt + * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new + * Check the changelog by running 'ligo changelog' |} ] ; + diff --git a/src/passes/1-parser/reasonligo/Parser.mly b/src/passes/1-parser/reasonligo/Parser.mly index 8c7fb65a6..6c88b5957 100644 --- a/src/passes/1-parser/reasonligo/Parser.mly +++ b/src/passes/1-parser/reasonligo/Parser.mly @@ -418,13 +418,13 @@ unit: (* Expressions *) interactive_expr: - expr EOF { $1 } + expr_with_let_expr EOF { $1 } expr: base_cond__open(expr) | switch_expr(base_cond) { $1 } base_cond__open(x): - base_expr(x) | conditional(x) { $1 } + base_expr(x) | conditional(expr_with_let_expr) { $1 } base_cond: base_cond__open(base_cond) { $1 } @@ -567,7 +567,7 @@ fun_expr: in EFun {region; value=f} } base_expr(right_expr): - let_expr(right_expr) | disj_expr_level | fun_expr { $1 } + disj_expr_level | fun_expr { $1 } conditional(right_expr): if_then_else(right_expr) | if_then(right_expr) { $1 } @@ -609,6 +609,7 @@ base_if_then_else: closed_if: base_if_then_else__open(closed_if) | switch_expr(base_if_then_else) { $1 } +| let_expr(expr_with_let_expr) { $1 } switch_expr(right_expr): "switch" switch_expr_ "{" cases(right_expr) "}" { @@ -896,8 +897,12 @@ update_record: rbrace = $6} in {region; value} } +expr_with_let_expr: + expr { $1 } +| let_expr(expr_with_let_expr) { $1 } + sequence_or_record_in: - expr ";" sep_or_term_list(expr,";") { + expr_with_let_expr ";" sep_or_term_list(expr_with_let_expr,";") { let elts, _region = $3 in let s_elts = Utils.nsepseq_cons $1 $2 elts in PaSequence {s_elts; s_terminator=None} @@ -907,7 +912,7 @@ sequence_or_record_in: let r_elts = Utils.nsepseq_cons $1 $2 elts in PaRecord {r_elts; r_terminator = None} } -| expr ";"? { PaSingleExpr $1 } +| expr_with_let_expr ";"? { PaSingleExpr $1 } sequence_or_record: "{" sequence_or_record_in "}" { diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index 62600f5f8..fdf3a744d 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: 252. +## Ends in an error in state: 167. ## ## call_expr_level -> call_expr_level_in . option(type_annotation_simple) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -143,7 +143,7 @@ interactive_expr: Ident WILD interactive_expr: If LBRACE True VBAR ## -## Ends in an error in state: 329. +## Ends in an error in state: 223. ## ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If LBRACE WILD ## -## Ends in an error in state: 328. +## Ends in an error in state: 222. ## ## 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 RBRACE ## -## Ends in an error in state: 405. +## Ends in an error in state: 399. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -196,26 +196,26 @@ 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 401, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 404, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 403, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 407, 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 SEMI RBRACE Else LBRACE True RBRACE ## -## Ends in an error in state: 410. +## Ends in an error in state: 404. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if . SEMI RBRACE [ SEMI RBRACE ] ## @@ -226,26 +226,26 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 401, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 404, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 403, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 407, 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 SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 411. +## Ends in an error in state: 405. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI . RBRACE [ SEMI RBRACE ] ## @@ -257,7 +257,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 409. +## Ends in an error in state: 403. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -269,7 +269,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else WILD ## -## Ends in an error in state: 408. +## Ends in an error in state: 402. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -281,7 +281,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE WILD ## -## Ends in an error in state: 407. +## Ends in an error in state: 401. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -293,7 +293,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI WILD ## -## Ends in an error in state: 406. +## Ends in an error in state: 400. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -305,7 +305,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI W interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD ## -## Ends in an error in state: 392. +## Ends in an error in state: 345. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -317,7 +317,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: 391. +## Ends in an error in state: 344. ## ## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -329,7 +329,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: 390. +## Ends in an error in state: 343. ## ## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -339,64 +339,9 @@ interactive_expr: If LPAR True RPAR LBRACE If WILD -interactive_expr: If LPAR True RPAR LBRACE Let VBAR -## -## Ends in an error in state: 395. -## -## let_expr(closed_if) -> seq(Attr) Let . let_binding SEMI closed_if [ SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let -## - - - -interactive_expr: If LPAR True RPAR LBRACE Let WILD EQ Bytes SEMI WILD -## -## Ends in an error in state: 397. -## -## let_expr(closed_if) -> seq(Attr) Let let_binding SEMI . closed_if [ SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding SEMI -## - - - -interactive_expr: If LPAR True RPAR LBRACE Let WILD EQ Bytes VBAR -## -## Ends in an error in state: 396. -## -## let_expr(closed_if) -> seq(Attr) Let let_binding . SEMI closed_if [ SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 546, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## - - - interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR VBAR ## -## Ends in an error in state: 376. +## Ends in an error in state: 270. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -408,7 +353,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: 439. +## Ends in an error in state: 429. ## ## nseq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -420,7 +365,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: 441. +## Ends in an error in state: 431. ## ## seq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -432,7 +377,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 RBRACE ## -## Ends in an error in state: 413. +## Ends in an error in state: 409. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -443,26 +388,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 401, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 404, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 403, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 407, 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 SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 430. +## Ends in an error in state: 419. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI . RBRACE [ VBAR SEMI RBRACE ] ## @@ -474,7 +419,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 RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 429. +## Ends in an error in state: 418. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else . SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -485,26 +430,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 425, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level -## In state 428, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 426, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 416, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level +## In state 421, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 417, 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 SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 417. +## Ends in an error in state: 413. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -516,7 +461,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 RBRACE Else WILD ## -## Ends in an error in state: 416. +## Ends in an error in state: 412. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -528,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 SEMI RBRACE WILD ## -## Ends in an error in state: 415. +## Ends in an error in state: 411. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -540,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 SEMI WILD ## -## Ends in an error in state: 414. +## Ends in an error in state: 410. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -552,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 WILD ## -## Ends in an error in state: 389. +## Ends in an error in state: 342. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -564,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 WILD ## -## Ends in an error in state: 388. +## Ends in an error in state: 341. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -576,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 WILD ## -## Ends in an error in state: 387. +## Ends in an error in state: 340. ## ## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -586,64 +531,9 @@ 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 Let VBAR -## -## Ends in an error in state: 419. -## -## let_expr(base_if_then_else) -> seq(Attr) Let . let_binding SEMI base_if_then_else [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let -## - - - -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Let WILD EQ Bytes SEMI WILD -## -## Ends in an error in state: 421. -## -## let_expr(base_if_then_else) -> seq(Attr) Let let_binding SEMI . base_if_then_else [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding SEMI -## - - - -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW Let WILD EQ Bytes VBAR -## -## Ends in an error in state: 420. -## -## let_expr(base_if_then_else) -> seq(Attr) Let let_binding . SEMI base_if_then_else [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 546, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## - - - interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True ARROW Bytes RPAR ## -## Ends in an error in state: 432. +## Ends in an error in state: 422. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -654,31 +544,31 @@ 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 295, spurious reduction of production es6_func -> ARROW expr -## In state 303, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 424, spurious reduction of production base_expr(base_if_then_else) -> fun_expr -## In state 428, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 426, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 210, spurious reduction of production es6_func -> ARROW expr +## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func +## In state 415, spurious reduction of production base_expr(base_if_then_else) -> fun_expr +## In state 421, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 417, 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 RPAR ## -## Ends in an error in state: 425. +## Ends in an error in state: 416. ## ## 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 ] @@ -692,23 +582,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, 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: 386. +## Ends in an error in state: 339. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW . base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -720,7 +610,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: 385. +## Ends in an error in state: 338. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -731,16 +621,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 169, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 172, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 383, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 336, 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: 375. +## Ends in an error in state: 269. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ LBRACE . cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -752,7 +642,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: 374. +## Ends in an error in state: 268. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -764,7 +654,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: 333. +## Ends in an error in state: 227. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -776,10 +666,10 @@ 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: 447. +## Ends in an error in state: 437. ## -## if_then(expr) -> If parenthesized_expr LBRACE closed_if . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if @@ -788,75 +678,76 @@ 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 295, spurious reduction of production es6_func -> ARROW expr -## In state 303, 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 404, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 403, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 210, spurious reduction of production es6_func -> ARROW expr +## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func +## In state 397, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 407, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 453. +## Ends in an error in state: 443. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr SEMI . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr SEMI +## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI ## interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 452. +## Ends in an error in state: 442. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr . SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr . SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr +## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr ## ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 394, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 451. +## Ends in an error in state: 441. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE @@ -866,9 +757,9 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else WILD ## -## Ends in an error in state: 450. +## Ends in an error in state: 440. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else @@ -878,9 +769,9 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE WILD ## -## Ends in an error in state: 449. +## Ends in an error in state: 439. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if SEMI RBRACE @@ -890,9 +781,9 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI WILD ## -## Ends in an error in state: 448. +## Ends in an error in state: 438. ## -## if_then_else(expr) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if SEMI @@ -902,7 +793,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI WILD interactive_expr: If LPAR True RPAR LBRACE True VBAR ## -## Ends in an error in state: 401. +## Ends in an error in state: 398. ## ## 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 ] @@ -916,26 +807,26 @@ 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: If LPAR True RPAR LBRACE WILD ## -## Ends in an error in state: 332. +## Ends in an error in state: 226. ## -## if_then(expr) -> If parenthesized_expr LBRACE . closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE @@ -945,10 +836,10 @@ interactive_expr: If LPAR True RPAR LBRACE WILD interactive_expr: If LPAR True RPAR WILD ## -## Ends in an error in state: 331. +## Ends in an error in state: 225. ## -## if_then(expr) -> If parenthesized_expr . LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr @@ -958,7 +849,7 @@ interactive_expr: If LPAR True RPAR WILD interactive_expr: If LPAR True VBAR ## -## Ends in an error in state: 326. +## Ends in an error in state: 220. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -969,19 +860,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## @@ -1002,8 +893,8 @@ interactive_expr: If WILD ## ## Ends in an error in state: 92. ## -## if_then(expr) -> If . parenthesized_expr LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## if_then_else(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## ## The known suffix of the stack is as follows: ## If @@ -1013,7 +904,7 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 352. +## Ends in an error in state: 246. ## ## projection -> Constr DOT Ident . selection [ COMMA ] ## @@ -1025,7 +916,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 351. +## Ends in an error in state: 245. ## ## projection -> Constr DOT . Ident selection [ COMMA ] ## @@ -1037,7 +928,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 350. +## Ends in an error in state: 244. ## ## projection -> Constr . DOT Ident selection [ COMMA ] ## @@ -1049,7 +940,7 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 367. +## Ends in an error in state: 261. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -1062,27 +953,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 366, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 260, 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: 365. +## Ends in an error in state: 259. ## ## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] ## @@ -1094,7 +985,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: 371. +## 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 ] @@ -1107,27 +998,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 366, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 260, 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: 372. +## Ends in an error in state: 266. ## ## 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 ] @@ -1140,7 +1031,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: 368. +## Ends in an error in state: 262. ## ## 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 ] @@ -1153,7 +1044,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: 358. +## Ends in an error in state: 252. ## ## nsepseq(field_name,DOT) -> Ident . [ COLON ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] @@ -1166,7 +1057,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: 357. +## Ends in an error in state: 251. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] ## @@ -1178,7 +1069,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD ## -## Ends in an error in state: 356. +## Ends in an error in state: 250. ## ## field_path_assignment -> Ident . [ RBRACE COMMA ] ## nsepseq(field_name,DOT) -> Ident . [ COLON ] @@ -1192,7 +1083,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## Ends in an error in state: 355. +## Ends in an error in state: 249. ## ## update_record -> LBRACE ELLIPSIS path COMMA . sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1204,7 +1095,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## -## Ends in an error in state: 354. +## Ends in an error in state: 248. ## ## update_record -> LBRACE ELLIPSIS path . COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1217,14 +1108,14 @@ interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 99, spurious reduction of production selection -> DOT Ident ## In state 102, spurious reduction of production projection -> Ident selection -## In state 353, spurious reduction of production path -> projection +## In state 247, spurious reduction of production path -> projection ## interactive_expr: LBRACE ELLIPSIS Ident WILD ## -## Ends in an error in state: 349. +## Ends in an error in state: 243. ## ## path -> Ident . [ COMMA ] ## projection -> Ident . selection [ COMMA ] @@ -1237,7 +1128,7 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS WILD ## -## Ends in an error in state: 348. +## Ends in an error in state: 242. ## ## update_record -> LBRACE ELLIPSIS . path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1249,7 +1140,7 @@ interactive_expr: LBRACE ELLIPSIS WILD interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 471. +## Ends in an error in state: 461. ## ## sequence_or_record_in -> field_assignment . COMMA sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1260,27 +1151,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 468, spurious reduction of production field_assignment -> Ident COLON expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 458, spurious reduction of production field_assignment -> Ident COLON expr ## interactive_expr: LBRACE Ident COLON WILD ## -## Ends in an error in state: 467. +## Ends in an error in state: 457. ## ## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] ## @@ -1292,7 +1183,7 @@ interactive_expr: LBRACE Ident COLON WILD interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 477. +## Ends in an error in state: 467. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1305,27 +1196,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 468, spurious reduction of production field_assignment -> Ident COLON expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 458, 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: 481. +## Ends in an error in state: 471. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1338,27 +1229,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 468, spurious reduction of production field_assignment -> Ident COLON expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 458, 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: 482. +## Ends in an error in state: 472. ## ## 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 ] @@ -1371,7 +1262,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: 478. +## Ends in an error in state: 468. ## ## 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 ] @@ -1384,7 +1275,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 473. +## Ends in an error in state: 463. ## ## field_assignment -> Ident . [ RBRACE COMMA ] ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] @@ -1397,7 +1288,7 @@ interactive_expr: LBRACE Ident COMMA Ident WILD interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 472. +## Ends in an error in state: 462. ## ## sequence_or_record_in -> field_assignment COMMA . sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1409,7 +1300,7 @@ interactive_expr: LBRACE Ident COMMA WILD interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 466. +## Ends in an error in state: 456. ## ## 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 ] @@ -1422,79 +1313,139 @@ interactive_expr: LBRACE Ident WILD -interactive_expr: LBRACE True SEMI Bytes RBRACKET +interactive_expr: LBRACE True SEMI True SEMI True SEMI WILD ## -## Ends in an error in state: 469. +## Ends in an error in state: 484. ## -## sequence_or_record -> LBRACE sequence_or_record_in . RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: -## LBRACE sequence_or_record_in +## expr_with_let_expr SEMI +## + + + +interactive_expr: LBRACE True SEMI True SEMI True VBAR +## +## Ends in an error in state: 483. +## +## 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 ] +## seq(__anonymous_0(expr_with_let_expr,SEMI)) -> expr_with_let_expr . SEMI seq(__anonymous_0(expr_with_let_expr,SEMI)) [ RBRACE ] +## +## The known suffix of the stack is as follows: +## expr_with_let_expr ## ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 340, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 339, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) -## In state 486, spurious reduction of production sequence_or_record_in -> expr SEMI sep_or_term_list(expr,SEMI) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 394, spurious reduction of production expr_with_let_expr -> expr +## + + + +interactive_expr: LBRACE True SEMI True SEMI WILD +## +## Ends in an error in state: 480. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## expr_with_let_expr SEMI +## + + + +interactive_expr: LBRACE True SEMI True VBAR +## +## Ends in an error in state: 479. +## +## 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 ] +## nseq(__anonymous_0(expr_with_let_expr,SEMI)) -> expr_with_let_expr . SEMI seq(__anonymous_0(expr_with_let_expr,SEMI)) [ RBRACE ] +## +## The known suffix of the stack is as follows: +## expr_with_let_expr +## +## 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 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level +## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 394, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE True SEMI WILD ## -## Ends in an error in state: 485. +## Ends in an error in state: 475. ## ## option(SEMI) -> SEMI . [ RBRACE ] -## sequence_or_record_in -> expr SEMI . sep_or_term_list(expr,SEMI) [ RBRACE ] +## sequence_or_record_in -> expr_with_let_expr SEMI . sep_or_term_list(expr_with_let_expr,SEMI) [ RBRACE ] ## ## The known suffix of the stack is as follows: -## expr SEMI +## expr_with_let_expr SEMI ## interactive_expr: LBRACE True VBAR ## -## Ends in an error in state: 484. +## Ends in an error in state: 474. ## -## sequence_or_record_in -> expr . SEMI sep_or_term_list(expr,SEMI) [ RBRACE ] -## sequence_or_record_in -> expr . option(SEMI) [ RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## expr +## expr_with_let_expr ## ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 394, spurious reduction of production expr_with_let_expr -> expr ## @@ -1514,7 +1465,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: 493. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS expr . RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1525,26 +1476,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, 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: 492. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS . expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1556,7 +1507,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: 503. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## seq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1569,7 +1520,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: 502. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1582,26 +1533,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, 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: 500. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## nseq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1614,7 +1565,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: 499. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1627,26 +1578,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, 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: 491. ## ## list_or_spread -> LBRACKET expr COMMA . sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## list_or_spread -> LBRACKET expr COMMA . ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1659,7 +1610,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: 490. ## ## list_or_spread -> LBRACKET expr . COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## list_or_spread -> LBRACKET expr . COMMA ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1672,19 +1623,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## @@ -1705,7 +1656,7 @@ interactive_expr: LBRACKET WILD interactive_expr: LPAR True COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 244. +## Ends in an error in state: 159. ## ## base_expr(expr) -> disj_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] @@ -1719,18 +1670,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 211, spurious reduction of production option(type_expr_simple_args) -> -## In state 220, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) -## In state 227, spurious reduction of production type_annotation_simple -> COLON type_expr_simple -## In state 228, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple -## In state 229, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) +## In state 127, spurious reduction of production option(type_expr_simple_args) -> +## In state 136, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 143, spurious reduction of production type_annotation_simple -> COLON type_expr_simple +## In state 144, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple +## In state 145, 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: 208. +## Ends in an error in state: 124. ## ## disj_expr_level -> par(tuple(disj_expr_level)) . option(type_annotation_simple) [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -1742,7 +1693,7 @@ interactive_expr: LPAR True COMMA Bytes RPAR WILD interactive_expr: LPAR True COMMA True COMMA WILD ## -## Ends in an error in state: 464. +## Ends in an error in state: 454. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1754,7 +1705,7 @@ interactive_expr: LPAR True COMMA True COMMA WILD interactive_expr: LPAR True COMMA True VBAR ## -## Ends in an error in state: 463. +## Ends in an error in state: 453. ## ## 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 ] @@ -1768,23 +1719,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR True COMMA WILD ## -## Ends in an error in state: 461. +## Ends in an error in state: 451. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1796,7 +1747,7 @@ interactive_expr: LPAR True COMMA WILD interactive_expr: LPAR True VBAR ## -## Ends in an error in state: 460. +## Ends in an error in state: 450. ## ## 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 ] @@ -1811,16 +1762,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level ## @@ -1841,9 +1792,9 @@ interactive_expr: LPAR WILD interactive_expr: Let VBAR ## -## Ends in an error in state: 125. +## Ends in an error in state: 348. ## -## let_expr(expr) -> seq(Attr) Let . let_binding SEMI expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## let_expr(expr_with_let_expr) -> seq(Attr) Let . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## ## The known suffix of the stack is as follows: ## seq(Attr) Let @@ -1853,9 +1804,9 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI WILD ## -## Ends in an error in state: 324. +## Ends in an error in state: 391. ## -## let_expr(expr) -> seq(Attr) Let let_binding SEMI . expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding SEMI . expr_with_let_expr [ SEMI RBRACE EOF ] ## ## The known suffix of the stack is as follows: ## seq(Attr) Let let_binding SEMI @@ -1865,9 +1816,9 @@ interactive_expr: Let WILD EQ Bytes SEMI WILD interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 323. +## Ends in an error in state: 390. ## -## let_expr(expr) -> seq(Attr) Let let_binding . SEMI expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## ## The known suffix of the stack is as follows: ## seq(Attr) Let let_binding @@ -1876,20 +1827,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 546, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## @@ -1933,7 +1884,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 347. +## Ends in an error in state: 241. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1943,45 +1894,12 @@ interactive_expr: Switch LBRACE WILD -interactive_expr: Switch LBRACKET True RBRACE -## -## Ends in an error in state: 336. -## -## list__(expr) -> LBRACKET option(sep_or_term_list(expr,SEMI)) . RBRACKET [ LBRACE ] -## -## The known suffix of the stack is as follows: -## LBRACKET option(sep_or_term_list(expr,SEMI)) -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 340, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 339, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) -## In state 335, spurious reduction of production option(sep_or_term_list(expr,SEMI)) -> sep_or_term_list(expr,SEMI) -## - - - interactive_expr: Switch LBRACKET True SEMI True SEMI WILD ## -## Ends in an error in state: 345. +## Ends in an error in state: 239. ## -## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET RBRACE ] -## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET RBRACE ] +## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] +## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] ## ## The known suffix of the stack is as follows: ## expr SEMI @@ -1991,11 +1909,11 @@ interactive_expr: Switch LBRACKET True SEMI True SEMI WILD interactive_expr: Switch LBRACKET True SEMI True VBAR ## -## Ends in an error in state: 344. +## Ends in an error in state: 238. ## -## nsepseq(expr,SEMI) -> expr . [ RBRACKET RBRACE ] -## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET RBRACE ] -## seq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET RBRACE ] +## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] +## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] +## seq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] ## ## The known suffix of the stack is as follows: ## expr @@ -2004,29 +1922,29 @@ 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET True SEMI WILD ## -## Ends in an error in state: 341. +## Ends in an error in state: 235. ## -## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET RBRACE ] -## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET RBRACE ] +## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] +## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] ## ## The known suffix of the stack is as follows: ## expr SEMI @@ -2036,11 +1954,11 @@ interactive_expr: Switch LBRACKET True SEMI WILD interactive_expr: Switch LBRACKET True VBAR ## -## Ends in an error in state: 340. +## Ends in an error in state: 234. ## -## nsepseq(expr,SEMI) -> expr . [ RBRACKET RBRACE ] -## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET RBRACE ] -## nseq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET RBRACE ] +## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] +## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] +## nseq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] ## ## The known suffix of the stack is as follows: ## expr @@ -2049,26 +1967,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET WILD ## -## Ends in an error in state: 334. +## Ends in an error in state: 228. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -2080,7 +1998,7 @@ interactive_expr: Switch LBRACKET WILD interactive_expr: Switch LPAR True VBAR ## -## Ends in an error in state: 458. +## Ends in an error in state: 448. ## ## par(expr) -> LPAR expr . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2091,19 +2009,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## @@ -2123,7 +2041,7 @@ interactive_expr: Switch LPAR WILD interactive_expr: Switch True LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 377. +## Ends in an error in state: 330. ## ## 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 ] @@ -2136,7 +2054,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: 380. +## Ends in an error in state: 333. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -2148,7 +2066,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: 381. +## Ends in an error in state: 334. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -2160,7 +2078,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: 379. +## Ends in an error in state: 332. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2172,7 +2090,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: 378. +## Ends in an error in state: 331. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2187,7 +2105,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: 384. +## Ends in an error in state: 337. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2199,7 +2117,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: 508. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2211,7 +2129,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: 542. +## Ends in an error in state: 521. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2223,7 +2141,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: 544. +## Ends in an error in state: 523. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2233,229 +2151,9 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Byte -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True ARROW Bytes VBAR -## -## Ends in an error in state: 515. -## -## if_then(base_cond) -> If parenthesized_expr LBRACE closed_if . RBRACE [ VBAR SEMI RBRACE ] -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 295, spurious reduction of production es6_func -> ARROW expr -## In state 303, 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 404, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 403, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD -## -## Ends in an error in state: 534. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_cond SEMI . RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_cond SEMI -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True VBAR -## -## Ends in an error in state: 533. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_cond . SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_cond -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 528, spurious reduction of production base_expr(base_cond) -> disj_expr_level -## In state 530, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 531, spurious reduction of production base_cond -> base_cond__open(base_cond) -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE WILD -## -## Ends in an error in state: 519. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else WILD -## -## Ends in an error in state: 518. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE WILD -## -## Ends in an error in state: 517. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI WILD -## -## Ends in an error in state: 516. -## -## if_then_else(base_cond) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD -## -## Ends in an error in state: 514. -## -## if_then(base_cond) -> If parenthesized_expr LBRACE . closed_if RBRACE [ VBAR SEMI RBRACE ] -## if_then_else(base_cond) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR WILD -## -## Ends in an error in state: 513. -## -## if_then(base_cond) -> If parenthesized_expr . LBRACE closed_if RBRACE [ VBAR SEMI RBRACE ] -## if_then_else(base_cond) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW If WILD -## -## Ends in an error in state: 512. -## -## if_then(base_cond) -> If . parenthesized_expr LBRACE closed_if RBRACE [ VBAR SEMI RBRACE ] -## if_then_else(base_cond) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_cond SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW Let VBAR -## -## Ends in an error in state: 521. -## -## let_expr(base_cond) -> seq(Attr) Let . let_binding SEMI base_cond [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW Let WILD EQ Bytes SEMI WILD -## -## Ends in an error in state: 523. -## -## let_expr(base_cond) -> seq(Attr) Let let_binding SEMI . base_cond [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding SEMI -## - - - -interactive_expr: Switch True LBRACE VBAR WILD ARROW Let WILD EQ Bytes VBAR -## -## Ends in an error in state: 522. -## -## let_expr(base_cond) -> seq(Attr) Let let_binding . SEMI base_cond [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## seq(Attr) Let let_binding -## -## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 546, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## - - - interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW Bytes RPAR ## -## Ends in an error in state: 537. +## Ends in an error in state: 516. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2466,31 +2164,31 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 295, spurious reduction of production es6_func -> ARROW expr -## In state 303, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 527, spurious reduction of production base_expr(base_cond) -> fun_expr -## In state 530, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 531, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 210, spurious reduction of production es6_func -> ARROW expr +## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func +## In state 511, spurious reduction of production base_expr(base_cond) -> fun_expr +## In state 514, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) +## In state 515, spurious reduction of production base_cond -> base_cond__open(base_cond) ## interactive_expr: Switch True LBRACE VBAR WILD ARROW True RPAR ## -## Ends in an error in state: 528. +## Ends in an error in state: 512. ## ## 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 ] @@ -2504,23 +2202,23 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, 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: 510. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2532,7 +2230,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: 509. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2543,16 +2241,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 169, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 172, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 383, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 336, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: Switch True LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 168. +## Ends in an error in state: 323. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2564,7 +2262,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: 170. +## Ends in an error in state: 325. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2576,7 +2274,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: 169. +## Ends in an error in state: 324. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] @@ -2589,7 +2287,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: 435. +## Ends in an error in state: 425. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ COMMA ] @@ -2602,7 +2300,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: 507. ## ## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2614,7 +2312,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: 506. ## ## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2638,7 +2336,7 @@ interactive_expr: Switch WILD interactive_expr: True ARROW WILD ## -## Ends in an error in state: 294. +## Ends in an error in state: 209. ## ## es6_func -> ARROW . expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2650,7 +2348,7 @@ interactive_expr: True ARROW WILD interactive_expr: True BOOL_AND WILD ## -## Ends in an error in state: 248. +## Ends in an error in state: 163. ## ## bin_op(conj_expr_level,BOOL_AND,comp_expr_level) -> conj_expr_level BOOL_AND . comp_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2662,7 +2360,7 @@ interactive_expr: True BOOL_AND WILD interactive_expr: True BOOL_OR WILD ## -## Ends in an error in state: 292. +## Ends in an error in state: 207. ## ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level BOOL_OR . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -2674,7 +2372,7 @@ interactive_expr: True BOOL_OR WILD interactive_expr: True CAT WILD ## -## Ends in an error in state: 271. +## Ends in an error in state: 186. ## ## bin_op(add_expr_level,CAT,cat_expr_level) -> add_expr_level CAT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2686,7 +2384,7 @@ interactive_expr: True CAT WILD interactive_expr: True COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 213. +## Ends in an error in state: 129. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2698,15 +2396,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 211, spurious reduction of production option(type_expr_simple_args) -> -## In state 220, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 127, spurious reduction of production option(type_expr_simple_args) -> +## In state 136, 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: 212. +## Ends in an error in state: 128. ## ## par(nsepseq(type_expr_simple,COMMA)) -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2718,7 +2416,7 @@ interactive_expr: True COLON Ident LPAR WILD interactive_expr: True COLON Ident WILD ## -## Ends in an error in state: 211. +## Ends in an error in state: 127. ## ## type_expr_simple -> Ident . option(type_expr_simple_args) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2730,7 +2428,7 @@ interactive_expr: True COLON Ident WILD interactive_expr: True COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 223. +## Ends in an error in state: 139. ## ## type_expr_simple -> LPAR type_expr_simple ARROW type_expr_simple . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2741,15 +2439,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 211, spurious reduction of production option(type_expr_simple_args) -> -## In state 220, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 127, spurious reduction of production option(type_expr_simple_args) -> +## In state 136, 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: 222. +## Ends in an error in state: 138. ## ## type_expr_simple -> LPAR type_expr_simple ARROW . type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2761,7 +2459,7 @@ interactive_expr: True COLON LPAR Ident ARROW WILD interactive_expr: True COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 214. +## Ends in an error in state: 130. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2773,7 +2471,7 @@ interactive_expr: True COLON LPAR Ident COMMA WILD interactive_expr: True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 230. +## Ends in an error in state: 146. ## ## add_expr_level -> mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2788,7 +2486,7 @@ interactive_expr: True COLON LPAR Ident RPAR WILD interactive_expr: True COLON LPAR Ident VBAR ## -## Ends in an error in state: 221. +## Ends in an error in state: 137. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2801,15 +2499,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 211, spurious reduction of production option(type_expr_simple_args) -> -## In state 220, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 127, spurious reduction of production option(type_expr_simple_args) -> +## In state 136, 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: 210. +## Ends in an error in state: 126. ## ## type_expr_simple -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## type_expr_simple -> LPAR . type_expr_simple ARROW type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2822,7 +2520,7 @@ interactive_expr: True COLON LPAR WILD interactive_expr: True COLON WILD ## -## Ends in an error in state: 209. +## Ends in an error in state: 125. ## ## type_annotation_simple -> COLON . type_expr_simple [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2834,7 +2532,7 @@ interactive_expr: True COLON WILD interactive_expr: True EQEQ WILD ## -## Ends in an error in state: 281. +## Ends in an error in state: 196. ## ## bin_op(comp_expr_level,EQEQ,cat_expr_level) -> comp_expr_level EQEQ . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2846,7 +2544,7 @@ interactive_expr: True EQEQ WILD interactive_expr: True GE WILD ## -## Ends in an error in state: 279. +## Ends in an error in state: 194. ## ## bin_op(comp_expr_level,GE,cat_expr_level) -> comp_expr_level GE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2858,7 +2556,7 @@ interactive_expr: True GE WILD interactive_expr: True GT WILD ## -## Ends in an error in state: 277. +## Ends in an error in state: 192. ## ## bin_op(comp_expr_level,GT,cat_expr_level) -> comp_expr_level GT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2870,7 +2568,7 @@ interactive_expr: True GT WILD interactive_expr: True LE WILD ## -## Ends in an error in state: 275. +## Ends in an error in state: 190. ## ## bin_op(comp_expr_level,LE,cat_expr_level) -> comp_expr_level LE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2882,7 +2580,7 @@ interactive_expr: True LE WILD interactive_expr: True LPAR True COMMA WILD ## -## Ends in an error in state: 242. +## Ends in an error in state: 157. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2894,7 +2592,7 @@ interactive_expr: True LPAR True COMMA WILD interactive_expr: True LPAR True VBAR ## -## Ends in an error in state: 241. +## Ends in an error in state: 156. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2906,26 +2604,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: True LPAR WILD ## -## Ends in an error in state: 234. +## Ends in an error in state: 150. ## ## call_expr -> core_expr LPAR . nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -2938,7 +2636,7 @@ interactive_expr: True LPAR WILD interactive_expr: True LT WILD ## -## Ends in an error in state: 273. +## Ends in an error in state: 188. ## ## bin_op(comp_expr_level,LT,cat_expr_level) -> comp_expr_level LT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2950,7 +2648,7 @@ interactive_expr: True LT WILD interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 270. +## Ends in an error in state: 185. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2965,7 +2663,7 @@ interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD interactive_expr: True MINUS WILD ## -## Ends in an error in state: 269. +## Ends in an error in state: 184. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2977,7 +2675,7 @@ interactive_expr: True MINUS WILD interactive_expr: True Mod WILD ## -## Ends in an error in state: 267. +## Ends in an error in state: 182. ## ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level Mod . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2989,7 +2687,7 @@ interactive_expr: True Mod WILD interactive_expr: True NE WILD ## -## Ends in an error in state: 250. +## Ends in an error in state: 165. ## ## bin_op(comp_expr_level,NE,cat_expr_level) -> comp_expr_level NE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -3001,7 +2699,7 @@ interactive_expr: True NE WILD interactive_expr: True Or WILD ## -## Ends in an error in state: 245. +## Ends in an error in state: 160. ## ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level Or . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -3013,7 +2711,7 @@ interactive_expr: True Or WILD interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 264. +## Ends in an error in state: 179. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -3028,7 +2726,7 @@ interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD interactive_expr: True PLUS WILD ## -## Ends in an error in state: 263. +## Ends in an error in state: 178. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -3040,7 +2738,7 @@ interactive_expr: True PLUS WILD interactive_expr: True SLASH WILD ## -## Ends in an error in state: 265. +## Ends in an error in state: 180. ## ## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level SLASH . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -3052,7 +2750,7 @@ interactive_expr: True SLASH WILD interactive_expr: True TIMES WILD ## -## Ends in an error in state: 231. +## Ends in an error in state: 147. ## ## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level TIMES . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -3064,37 +2762,38 @@ interactive_expr: True TIMES WILD interactive_expr: True VBAR ## -## Ends in an error in state: 557. +## Ends in an error in state: 536. ## -## interactive_expr -> expr . EOF [ # ] +## interactive_expr -> expr_with_let_expr . EOF [ # ] ## ## The known suffix of the stack is as follows: -## expr +## expr_with_let_expr ## ## 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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 394, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: True WILD ## -## Ends in an error in state: 233. +## Ends in an error in state: 149. ## ## call_expr -> core_expr . LPAR nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## call_expr -> core_expr . unit [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -3108,7 +2807,7 @@ interactive_expr: True WILD interactive_expr: WILD ## -## Ends in an error in state: 555. +## Ends in an error in state: 534. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -3132,7 +2831,7 @@ contract: Attr WILD contract: Let Ident COLON Ident SEMI ## -## Ends in an error in state: 206. +## Ends in an error in state: 370. ## ## let_binding -> Ident option(type_annotation) . EQ expr [ SEMI ] ## @@ -3154,7 +2853,7 @@ contract: Let Ident COLON Ident SEMI contract: Let Ident EQ WILD ## -## Ends in an error in state: 207. +## Ends in an error in state: 371. ## ## let_binding -> Ident option(type_annotation) EQ . expr [ SEMI ] ## @@ -3162,11 +2861,16 @@ 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: 205. +## Ends in an error in state: 369. ## ## let_binding -> Ident . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> Ident . [ COMMA ] @@ -3179,7 +2883,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 185. +## Ends in an error in state: 306. ## ## 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 ] @@ -3192,7 +2896,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: 184. +## 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 ] @@ -3206,7 +2910,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: 181. +## Ends in an error in state: 302. ## ## 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 ] @@ -3219,7 +2923,7 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD contract: Let LBRACE Ident EQ Bytes RBRACE COLON Ident SEMI ## -## Ends in an error in state: 316. +## Ends in an error in state: 383. ## ## let_binding -> record_pattern option(type_annotation) . EQ expr [ SEMI ] ## @@ -3241,7 +2945,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON Ident SEMI contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD ## -## Ends in an error in state: 317. +## Ends in an error in state: 384. ## ## let_binding -> record_pattern option(type_annotation) EQ . expr [ SEMI ] ## @@ -3253,7 +2957,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 315. +## Ends in an error in state: 382. ## ## let_binding -> record_pattern . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> record_pattern . [ COMMA ] @@ -3266,7 +2970,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 180. +## Ends in an error in state: 301. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -3280,7 +2984,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 130. +## Ends in an error in state: 279. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -3292,7 +2996,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 129. +## Ends in an error in state: 278. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -3304,7 +3008,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 128. +## Ends in an error in state: 277. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -3316,7 +3020,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 141. +## Ends in an error in state: 284. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3328,7 +3032,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 136. +## Ends in an error in state: 276. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3340,7 +3044,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 154. +## Ends in an error in state: 309. ## ## 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 ] @@ -3353,7 +3057,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: 156. +## Ends in an error in state: 311. ## ## 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 ] @@ -3366,7 +3070,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: 155. +## Ends in an error in state: 310. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3380,7 +3084,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 153. +## Ends in an error in state: 308. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3394,7 +3098,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 135. +## Ends in an error in state: 275. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3408,7 +3112,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 173. +## Ends in an error in state: 328. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3419,16 +3123,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 169, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 172, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 165, spurious reduction of production ptuple -> tuple(sub_pattern) +## In state 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 320, spurious reduction of production ptuple -> tuple(sub_pattern) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 166. +## Ends in an error in state: 321. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -3441,7 +3145,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 203. +## Ends in an error in state: 367. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -3452,15 +3156,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 140, spurious reduction of production constr_pattern -> Constr -## In state 202, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 283, spurious reduction of production constr_pattern -> Constr +## In state 366, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 140. +## Ends in an error in state: 283. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3473,7 +3177,7 @@ contract: Let LPAR Constr VBAR contract: Let LPAR RPAR COLON Ident SEMI ## -## Ends in an error in state: 307. +## Ends in an error in state: 374. ## ## let_binding -> unit option(type_annotation) . EQ expr [ SEMI ] ## @@ -3495,7 +3199,7 @@ contract: Let LPAR RPAR COLON Ident SEMI contract: Let LPAR RPAR EQ WILD ## -## Ends in an error in state: 308. +## Ends in an error in state: 375. ## ## let_binding -> unit option(type_annotation) EQ . expr [ SEMI ] ## @@ -3507,7 +3211,7 @@ contract: Let LPAR RPAR EQ WILD contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 306. +## Ends in an error in state: 373. ## ## let_binding -> unit . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> unit . [ COMMA ] @@ -3520,7 +3224,7 @@ contract: Let LPAR RPAR WILD contract: Let LPAR VBAR ## -## Ends in an error in state: 126. +## Ends in an error in state: 349. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3533,7 +3237,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 200. +## Ends in an error in state: 364. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3545,7 +3249,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 199. +## Ends in an error in state: 363. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3557,16 +3261,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 193, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 198, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) -## In state 190, spurious reduction of production irrefutable -> tuple(sub_irrefutable) +## In state 357, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 362, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 354, spurious reduction of production irrefutable -> tuple(sub_irrefutable) ## contract: Let LPAR WILD RPAR COLON Ident SEMI ## -## Ends in an error in state: 320. +## Ends in an error in state: 387. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ SEMI ] ## @@ -3588,7 +3292,7 @@ contract: Let LPAR WILD RPAR COLON Ident SEMI contract: Let LPAR WILD RPAR EQ WILD ## -## Ends in an error in state: 321. +## Ends in an error in state: 388. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ SEMI ] ## @@ -3600,7 +3304,7 @@ contract: Let LPAR WILD RPAR EQ WILD contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 319. +## Ends in an error in state: 386. ## ## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] @@ -3613,7 +3317,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 191. +## Ends in an error in state: 355. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3672,7 +3376,7 @@ contract: Let WILD COLON WILD contract: Let WILD COMMA Ident COLON Ident SEMI ## -## Ends in an error in state: 311. +## Ends in an error in state: 378. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ SEMI ] ## @@ -3694,7 +3398,7 @@ contract: Let WILD COMMA Ident COLON Ident SEMI contract: Let WILD COMMA Ident EQ WILD ## -## Ends in an error in state: 312. +## Ends in an error in state: 379. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ SEMI ] ## @@ -3706,7 +3410,7 @@ contract: Let WILD COMMA Ident EQ WILD contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 310. +## Ends in an error in state: 377. ## ## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ SEMI ] ## @@ -3717,15 +3421,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 193, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 198, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 357, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 362, 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: 192. +## Ends in an error in state: 356. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3737,7 +3441,7 @@ contract: Let WILD COMMA VBAR contract: Let WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 194. +## Ends in an error in state: 358. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3749,7 +3453,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 193. +## Ends in an error in state: 357. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3762,7 +3466,7 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 548. +## Ends in an error in state: 527. ## ## declaration -> let_declaration . SEMI [ Type Let EOF Attr ] ## @@ -3773,21 +3477,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 233, spurious reduction of production call_expr_level_in -> core_expr -## In state 252, spurious reduction of production option(type_annotation_simple) -> -## In state 253, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 254, spurious reduction of production unary_expr_level -> call_expr_level +## In state 149, spurious reduction of production call_expr_level_in -> core_expr +## In state 167, spurious reduction of production option(type_annotation_simple) -> +## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 169, spurious reduction of production unary_expr_level -> call_expr_level ## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 230, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cat_expr_level -> add_expr_level -## In state 283, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 290, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 297, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 244, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 301, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 302, spurious reduction of production expr -> base_cond__open(expr) -## In state 546, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## In state 547, spurious reduction of production let_declaration -> seq(Attr) Let let_binding +## In state 146, spurious reduction of production add_expr_level -> mult_expr_level +## In state 177, spurious reduction of production cat_expr_level -> add_expr_level +## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 526, spurious reduction of production let_declaration -> seq(Attr) Let let_binding ## @@ -3963,7 +3667,7 @@ contract: Type Ident EQ Ident RPAR contract: Type Ident EQ Ident SEMI WILD ## -## Ends in an error in state: 552. +## Ends in an error in state: 531. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] From a0ffc441f34a030dd2fa2395c4e20a2b90bb8274 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Mon, 3 Feb 2020 11:25:13 +0100 Subject: [PATCH 06/14] Forgot to add these. --- .../docs/advanced/entrypoints-contracts.md | 3 +- src/test/contracts/negative/gitlab_111.religo | 58 +++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/test/contracts/negative/gitlab_111.religo diff --git a/gitlab-pages/docs/advanced/entrypoints-contracts.md b/gitlab-pages/docs/advanced/entrypoints-contracts.md index dff0a535a..13395d48d 100644 --- a/gitlab-pages/docs/advanced/entrypoints-contracts.md +++ b/gitlab-pages/docs/advanced/entrypoints-contracts.md @@ -298,10 +298,11 @@ type action = let dest: address = ("KT19wgxcuXG9VH4Af5Tpm1vqEKdaMFpznXT3": address); -let proxy = ((param, s): (action, unit)): (list(operation), unit) => +let proxy = ((param, s): (action, unit)): (list(operation), unit) => { let counter: contract(action) = Operation.get_contract(dest); let op: operation = Operation.transaction(param, 0mutez, counter); ([op], s); +}; ``` diff --git a/src/test/contracts/negative/gitlab_111.religo b/src/test/contracts/negative/gitlab_111.religo new file mode 100644 index 000000000..3103973fc --- /dev/null +++ b/src/test/contracts/negative/gitlab_111.religo @@ -0,0 +1,58 @@ +type fraction = +{ + num : int, + den : nat +}; + +type storage = fraction; +type parameter = unit; + + +let twopow_aux = (base : nat, accu : nat, n : nat) => + if (n > 0n) { + if (n mod 2n == 1n) { + continue((base * base, accu * base, n / 2n)); + } else { + continue((base * base, accu, n / 2n)); + }; + } else { + stop((base, accu, n)); + }; + +let twopow = (n : nat) : nat => { + let (_, x, _) = Loop.fold_while(twopow_aux, (2n, 1n, n)); + x +}; + +let tp = +let exp = (x : fraction) : fraction => { + let r : int = 1649 * x.num; + let s : nat = 1143n * x.den; + let ab = { + num: r / int(s), den: r mod s + }; + + let (i, f) = + if (2n * ab.den <= s) { + (ab.num, {num: ab.den, den: 1649n * x.den}); + } + else { + (ab.num + 1, {num: ab.den - s, den: 1649n * x.den}); + }; + let pow : nat = twopow(abs(i)); + let tp = if (i > 0) {{num:int(pow), den:1n};} else {{num:1, den:pow};}; + let num : int = (f.num * f.num + 6 * f.num * int(f.den) + int(12n * f.den * f.den)) * tp.num; + let den : int = (f.num * f.num - 6 * f.num * int(f.den) + int(12n * f.den * f.den)) * int(tp.den); + if (den < 0) + { + {num:-num, den:abs(den)}; + } else { + {num:num, den:den}; + }; +}; + +let main = (p : parameter, s : storage) => +{ + let r = exp(s); + ([]: list(operation), r) +}; From 98dab8d491b9124bf13fcdc9d8517d90083af6a3 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Mon, 3 Feb 2020 11:57:37 +0100 Subject: [PATCH 07/14] Extra line. --- src/bin/expect_tests/error_messages_tests.ml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index 4423cc919..0cd5e7833 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -12,6 +12,7 @@ let%expect_test _ = let func = (a: int, b: int) => a + b; {} + If you're not sure how to fix this error, you can do one of the following: From e92d16fd7932f91d77696b3ef6ad8ade7bc706a8 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Mon, 3 Feb 2020 14:03:47 +0100 Subject: [PATCH 08/14] Simplify error case. --- src/bin/expect_tests/error_messages_tests.ml | 2 +- src/test/contracts/negative/gitlab_111.religo | 60 +------------------ 2 files changed, 3 insertions(+), 59 deletions(-) diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index 0cd5e7833..cf800a6ac 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -3,7 +3,7 @@ open Cli_expect 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 28, characters 0-3, after "=" and before "let": + 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: diff --git a/src/test/contracts/negative/gitlab_111.religo b/src/test/contracts/negative/gitlab_111.religo index 3103973fc..39cb5dceb 100644 --- a/src/test/contracts/negative/gitlab_111.religo +++ b/src/test/contracts/negative/gitlab_111.religo @@ -1,58 +1,2 @@ -type fraction = -{ - num : int, - den : nat -}; - -type storage = fraction; -type parameter = unit; - - -let twopow_aux = (base : nat, accu : nat, n : nat) => - if (n > 0n) { - if (n mod 2n == 1n) { - continue((base * base, accu * base, n / 2n)); - } else { - continue((base * base, accu, n / 2n)); - }; - } else { - stop((base, accu, n)); - }; - -let twopow = (n : nat) : nat => { - let (_, x, _) = Loop.fold_while(twopow_aux, (2n, 1n, n)); - x -}; - -let tp = -let exp = (x : fraction) : fraction => { - let r : int = 1649 * x.num; - let s : nat = 1143n * x.den; - let ab = { - num: r / int(s), den: r mod s - }; - - let (i, f) = - if (2n * ab.den <= s) { - (ab.num, {num: ab.den, den: 1649n * x.den}); - } - else { - (ab.num + 1, {num: ab.den - s, den: 1649n * x.den}); - }; - let pow : nat = twopow(abs(i)); - let tp = if (i > 0) {{num:int(pow), den:1n};} else {{num:1, den:pow};}; - let num : int = (f.num * f.num + 6 * f.num * int(f.den) + int(12n * f.den * f.den)) * tp.num; - let den : int = (f.num * f.num - 6 * f.num * int(f.den) + int(12n * f.den * f.den)) * int(tp.den); - if (den < 0) - { - {num:-num, den:abs(den)}; - } else { - {num:num, den:den}; - }; -}; - -let main = (p : parameter, s : storage) => -{ - let r = exp(s); - ([]: list(operation), r) -}; +let a = +let b = 2; \ No newline at end of file From fbc61eb80930fc666929b5c8e7264539f33cf8c7 Mon Sep 17 00:00:00 2001 From: Sander Date: Tue, 4 Feb 2020 10:39:15 +0000 Subject: [PATCH 09/14] Optional vbar for ReasonLIGO sumtypes --- src/passes/1-parser/reasonligo/Parser.mly | 2 +- .../reasonligo/error.messages.checked-in | 1702 +++++++++-------- src/test/contracts/match_bis.religo | 2 +- 3 files changed, 865 insertions(+), 841 deletions(-) diff --git a/src/passes/1-parser/reasonligo/Parser.mly b/src/passes/1-parser/reasonligo/Parser.mly index 6c88b5957..6f625bb17 100644 --- a/src/passes/1-parser/reasonligo/Parser.mly +++ b/src/passes/1-parser/reasonligo/Parser.mly @@ -226,7 +226,7 @@ core_type: in TApp {region; value = constr,arg} } sum_type: - "|" nsepseq(variant,"|") { + ioption("|") nsepseq(variant,"|") { Scoping.check_variants (Utils.nsepseq_to_list $2); let region = nsepseq_to_region (fun x -> x.region) $2 in TSum {region; value=$2} } diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index fdf3a744d..06d8635c9 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: 167. +## Ends in an error in state: 169. ## ## call_expr_level -> call_expr_level_in . option(type_annotation_simple) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -12,7 +12,7 @@ interactive_expr: C_None WILD interactive_expr: C_Some WILD ## -## Ends in an error in state: 119. +## Ends in an error in state: 121. ## ## constr_expr -> C_Some . core_expr [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -24,7 +24,7 @@ interactive_expr: C_Some WILD interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 106. +## Ends in an error in state: 108. ## ## module_field -> Constr DOT Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## projection -> Constr DOT Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -37,7 +37,7 @@ interactive_expr: Constr DOT Ident WILD interactive_expr: Constr DOT WILD ## -## Ends in an error in state: 105. +## Ends in an error in state: 107. ## ## module_field -> Constr DOT . Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## projection -> Constr DOT . Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -50,7 +50,7 @@ interactive_expr: Constr DOT WILD interactive_expr: Constr WILD ## -## Ends in an error in state: 104. +## Ends in an error in state: 106. ## ## constr_expr -> Constr . core_expr [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## constr_expr -> Constr . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -65,7 +65,7 @@ interactive_expr: Constr WILD interactive_expr: Ident DOT Ident WILD ## -## Ends in an error in state: 99. +## Ends in an error in state: 101. ## ## selection -> DOT Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## selection -> DOT Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -78,7 +78,7 @@ interactive_expr: Ident DOT Ident WILD interactive_expr: Ident DOT WILD ## -## Ends in an error in state: 98. +## Ends in an error in state: 100. ## ## selection -> DOT . Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## selection -> DOT . Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -91,7 +91,7 @@ interactive_expr: Ident DOT WILD interactive_expr: Ident LBRACKET Int RBRACKET WILD ## -## Ends in an error in state: 97. +## Ends in an error in state: 99. ## ## selection -> LBRACKET Int RBRACKET . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## selection -> LBRACKET Int RBRACKET . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -104,7 +104,7 @@ interactive_expr: Ident LBRACKET Int RBRACKET WILD interactive_expr: Ident LBRACKET Int WILD ## -## Ends in an error in state: 96. +## Ends in an error in state: 98. ## ## selection -> LBRACKET Int . RBRACKET selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## selection -> LBRACKET Int . RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -117,7 +117,7 @@ interactive_expr: Ident LBRACKET Int WILD interactive_expr: Ident LBRACKET WILD ## -## Ends in an error in state: 95. +## Ends in an error in state: 97. ## ## selection -> LBRACKET . Int RBRACKET selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## selection -> LBRACKET . Int RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -130,7 +130,7 @@ interactive_expr: Ident LBRACKET WILD interactive_expr: Ident WILD ## -## Ends in an error in state: 94. +## Ends in an error in state: 96. ## ## common_expr -> Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## projection -> Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -143,7 +143,7 @@ interactive_expr: Ident WILD interactive_expr: If LBRACE True VBAR ## -## Ends in an error in state: 223. +## Ends in an error in state: 225. ## ## 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If LBRACE WILD ## -## Ends in an error in state: 222. +## Ends in an error in state: 224. ## ## 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 RBRACE ## -## Ends in an error in state: 399. +## Ends in an error in state: 401. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -196,26 +196,26 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 407, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 409, 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 SEMI RBRACE Else LBRACE True RBRACE ## -## Ends in an error in state: 404. +## Ends in an error in state: 406. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if . SEMI RBRACE [ SEMI RBRACE ] ## @@ -226,26 +226,26 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R ## 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 407, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 409, 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 SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 405. +## Ends in an error in state: 407. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI . RBRACE [ SEMI RBRACE ] ## @@ -257,7 +257,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 403. +## Ends in an error in state: 405. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -269,7 +269,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else WILD ## -## Ends in an error in state: 402. +## Ends in an error in state: 404. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -281,7 +281,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE WILD ## -## Ends in an error in state: 401. +## Ends in an error in state: 403. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -293,7 +293,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI R interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI WILD ## -## Ends in an error in state: 400. +## Ends in an error in state: 402. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -305,7 +305,7 @@ interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI W interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD ## -## Ends in an error in state: 345. +## Ends in an error in state: 347. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -317,7 +317,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: 344. +## Ends in an error in state: 346. ## ## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -329,7 +329,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: 343. +## Ends in an error in state: 345. ## ## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] ## @@ -341,7 +341,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: 270. +## Ends in an error in state: 272. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -353,7 +353,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: 429. +## Ends in an error in state: 431. ## ## nseq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -365,7 +365,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: 431. +## Ends in an error in state: 433. ## ## seq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -377,7 +377,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 RBRACE ## -## Ends in an error in state: 409. +## Ends in an error in state: 411. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -388,26 +388,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 398, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 407, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level +## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 409, 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 SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 419. +## Ends in an error in state: 421. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI . RBRACE [ VBAR SEMI RBRACE ] ## @@ -419,7 +419,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 RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 418. +## Ends in an error in state: 420. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else . SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -430,26 +430,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 416, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level -## In state 421, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 417, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 418, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level +## In state 423, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 419, 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 SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 413. +## Ends in an error in state: 415. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -461,7 +461,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 RBRACE Else WILD ## -## Ends in an error in state: 412. +## Ends in an error in state: 414. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -473,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 SEMI RBRACE WILD ## -## Ends in an error in state: 411. +## Ends in an error in state: 413. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -485,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 SEMI WILD ## -## Ends in an error in state: 410. +## Ends in an error in state: 412. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -497,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 WILD ## -## Ends in an error in state: 342. +## Ends in an error in state: 344. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -509,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 WILD ## -## Ends in an error in state: 341. +## Ends in an error in state: 343. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -521,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 WILD ## -## Ends in an error in state: 340. +## Ends in an error in state: 342. ## ## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] ## @@ -533,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 True ARROW Bytes RPAR ## -## Ends in an error in state: 422. +## Ends in an error in state: 424. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -544,31 +544,31 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 210, spurious reduction of production es6_func -> ARROW expr -## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 415, spurious reduction of production base_expr(base_if_then_else) -> fun_expr -## In state 421, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 417, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 212, spurious reduction of production es6_func -> ARROW expr +## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func +## In state 417, spurious reduction of production base_expr(base_if_then_else) -> fun_expr +## In state 423, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) +## In state 419, 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 RPAR ## -## Ends in an error in state: 416. +## Ends in an error in state: 418. ## ## 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 ] @@ -582,23 +582,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, 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: 339. +## Ends in an error in state: 341. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW . base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -610,7 +610,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: 338. +## Ends in an error in state: 340. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -621,16 +621,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 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 336, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 338, 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: 269. +## Ends in an error in state: 271. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ LBRACE . cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -642,7 +642,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: 268. +## Ends in an error in state: 270. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -654,7 +654,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: 227. +## Ends in an error in state: 229. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -666,7 +666,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: 437. +## Ends in an error in state: 439. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] @@ -678,31 +678,31 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 210, spurious reduction of production es6_func -> ARROW expr -## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 397, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 408, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 407, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 212, spurious reduction of production es6_func -> ARROW expr +## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func +## In state 399, spurious reduction of production base_expr(closed_if) -> fun_expr +## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 409, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD ## -## Ends in an error in state: 443. +## Ends in an error in state: 445. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -714,7 +714,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True SEM interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True VBAR ## -## Ends in an error in state: 442. +## Ends in an error in state: 444. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr . SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -725,27 +725,27 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True VBA ## 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 394, spurious reduction of production expr_with_let_expr -> expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 396, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE WILD ## -## Ends in an error in state: 441. +## Ends in an error in state: 443. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -757,7 +757,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else WILD ## -## Ends in an error in state: 440. +## Ends in an error in state: 442. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -769,7 +769,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE WILD ## -## Ends in an error in state: 439. +## Ends in an error in state: 441. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -781,7 +781,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE WILD interactive_expr: If LPAR True RPAR LBRACE True SEMI WILD ## -## Ends in an error in state: 438. +## Ends in an error in state: 440. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -793,7 +793,7 @@ interactive_expr: If LPAR True RPAR LBRACE True SEMI WILD interactive_expr: If LPAR True RPAR LBRACE True VBAR ## -## Ends in an error in state: 398. +## Ends in an error in state: 400. ## ## 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 ] @@ -807,23 +807,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: If LPAR True RPAR LBRACE WILD ## -## Ends in an error in state: 226. +## Ends in an error in state: 228. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] @@ -836,7 +836,7 @@ interactive_expr: If LPAR True RPAR LBRACE WILD interactive_expr: If LPAR True RPAR WILD ## -## Ends in an error in state: 225. +## Ends in an error in state: 227. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] @@ -849,7 +849,7 @@ interactive_expr: If LPAR True RPAR WILD interactive_expr: If LPAR True VBAR ## -## Ends in an error in state: 220. +## Ends in an error in state: 222. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -860,26 +860,26 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If LPAR WILD ## -## Ends in an error in state: 93. +## Ends in an error in state: 95. ## ## parenthesized_expr -> LPAR . expr RPAR [ LBRACE ] ## @@ -891,7 +891,7 @@ interactive_expr: If LPAR WILD interactive_expr: If WILD ## -## Ends in an error in state: 92. +## Ends in an error in state: 94. ## ## if_then(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## if_then_else(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] @@ -904,7 +904,7 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 246. +## Ends in an error in state: 248. ## ## projection -> Constr DOT Ident . selection [ COMMA ] ## @@ -916,7 +916,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 245. +## Ends in an error in state: 247. ## ## projection -> Constr DOT . Ident selection [ COMMA ] ## @@ -928,7 +928,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 244. +## Ends in an error in state: 246. ## ## projection -> Constr . DOT Ident selection [ COMMA ] ## @@ -940,7 +940,7 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 261. +## Ends in an error in state: 263. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -953,27 +953,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 260, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 262, 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: 259. +## Ends in an error in state: 261. ## ## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] ## @@ -985,7 +985,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: 265. +## Ends in an error in state: 267. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -998,27 +998,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 260, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 262, 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: 266. +## Ends in an error in state: 268. ## ## 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 ] @@ -1031,7 +1031,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: 262. +## Ends in an error in state: 264. ## ## 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 ] @@ -1044,7 +1044,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: 252. +## Ends in an error in state: 254. ## ## nsepseq(field_name,DOT) -> Ident . [ COLON ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] @@ -1057,7 +1057,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: 251. +## Ends in an error in state: 253. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] ## @@ -1069,7 +1069,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD ## -## Ends in an error in state: 250. +## Ends in an error in state: 252. ## ## field_path_assignment -> Ident . [ RBRACE COMMA ] ## nsepseq(field_name,DOT) -> Ident . [ COLON ] @@ -1083,7 +1083,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## Ends in an error in state: 249. +## Ends in an error in state: 251. ## ## update_record -> LBRACE ELLIPSIS path COMMA . sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1095,7 +1095,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## -## Ends in an error in state: 248. +## Ends in an error in state: 250. ## ## update_record -> LBRACE ELLIPSIS path . COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1106,16 +1106,16 @@ interactive_expr: LBRACE ELLIPSIS Ident DOT 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 99, spurious reduction of production selection -> DOT Ident -## In state 102, spurious reduction of production projection -> Ident selection -## In state 247, spurious reduction of production path -> projection +## In state 101, spurious reduction of production selection -> DOT Ident +## In state 104, spurious reduction of production projection -> Ident selection +## In state 249, spurious reduction of production path -> projection ## interactive_expr: LBRACE ELLIPSIS Ident WILD ## -## Ends in an error in state: 243. +## Ends in an error in state: 245. ## ## path -> Ident . [ COMMA ] ## projection -> Ident . selection [ COMMA ] @@ -1128,7 +1128,7 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS WILD ## -## Ends in an error in state: 242. +## Ends in an error in state: 244. ## ## update_record -> LBRACE ELLIPSIS . path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1140,7 +1140,7 @@ interactive_expr: LBRACE ELLIPSIS WILD interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 461. +## Ends in an error in state: 463. ## ## sequence_or_record_in -> field_assignment . COMMA sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1151,27 +1151,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 458, spurious reduction of production field_assignment -> Ident COLON expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, 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: 457. +## Ends in an error in state: 459. ## ## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] ## @@ -1183,7 +1183,7 @@ interactive_expr: LBRACE Ident COLON WILD interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 467. +## 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 ] @@ -1196,27 +1196,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 458, spurious reduction of production field_assignment -> Ident COLON expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, 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: 471. +## 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 ] @@ -1229,27 +1229,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 458, spurious reduction of production field_assignment -> Ident COLON expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, 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: 472. +## 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 ] @@ -1262,7 +1262,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: 468. +## 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 ] @@ -1275,7 +1275,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 463. +## Ends in an error in state: 465. ## ## field_assignment -> Ident . [ RBRACE COMMA ] ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] @@ -1288,7 +1288,7 @@ interactive_expr: LBRACE Ident COMMA Ident WILD interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 462. +## Ends in an error in state: 464. ## ## sequence_or_record_in -> field_assignment COMMA . sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1300,7 +1300,7 @@ interactive_expr: LBRACE Ident COMMA WILD interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 456. +## 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 ] @@ -1315,7 +1315,7 @@ interactive_expr: LBRACE Ident WILD interactive_expr: LBRACE True SEMI True SEMI True SEMI WILD ## -## Ends in an error in state: 484. +## 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 ] @@ -1328,7 +1328,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: 483. +## 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 ] @@ -1341,27 +1341,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 394, spurious reduction of production expr_with_let_expr -> expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 396, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE True SEMI True SEMI WILD ## -## Ends in an error in state: 480. +## 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 ] @@ -1374,7 +1374,7 @@ interactive_expr: LBRACE True SEMI True SEMI WILD interactive_expr: LBRACE True SEMI True VBAR ## -## Ends in an error in state: 479. +## 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 ] @@ -1387,27 +1387,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 394, spurious reduction of production expr_with_let_expr -> expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 396, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE True SEMI WILD ## -## Ends in an error in state: 475. +## 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 ] @@ -1420,7 +1420,7 @@ interactive_expr: LBRACE True SEMI WILD interactive_expr: LBRACE True VBAR ## -## Ends in an error in state: 474. +## 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 ] @@ -1432,27 +1432,27 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 394, spurious reduction of production expr_with_let_expr -> expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 396, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACE WILD ## -## Ends in an error in state: 89. +## Ends in an error in state: 91. ## ## sequence_or_record -> LBRACE . sequence_or_record_in RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1465,7 +1465,7 @@ interactive_expr: LBRACE WILD interactive_expr: LBRACKET True COMMA ELLIPSIS True VBAR ## -## Ends in an error in state: 493. +## Ends in an error in state: 495. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS expr . RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1476,26 +1476,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA ELLIPSIS WILD ## -## Ends in an error in state: 492. +## Ends in an error in state: 494. ## ## list_or_spread -> LBRACKET expr COMMA ELLIPSIS . expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1507,7 +1507,7 @@ interactive_expr: LBRACKET True COMMA ELLIPSIS WILD interactive_expr: LBRACKET True COMMA True COMMA True COMMA WILD ## -## Ends in an error in state: 503. +## 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 ] @@ -1520,7 +1520,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: 502. +## Ends in an error in state: 504. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1533,26 +1533,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA True COMMA WILD ## -## Ends in an error in state: 500. +## 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 ] @@ -1565,7 +1565,7 @@ interactive_expr: LBRACKET True COMMA True COMMA WILD interactive_expr: LBRACKET True COMMA True VBAR ## -## Ends in an error in state: 499. +## Ends in an error in state: 501. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1578,26 +1578,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True COMMA WILD ## -## Ends in an error in state: 491. +## Ends in an error in state: 493. ## ## list_or_spread -> LBRACKET expr COMMA . sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## list_or_spread -> LBRACKET expr COMMA . ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1610,7 +1610,7 @@ interactive_expr: LBRACKET True COMMA WILD interactive_expr: LBRACKET True VBAR ## -## Ends in an error in state: 490. +## Ends in an error in state: 492. ## ## list_or_spread -> LBRACKET expr . COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## list_or_spread -> LBRACKET expr . COMMA ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1623,26 +1623,26 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET WILD ## -## Ends in an error in state: 87. +## Ends in an error in state: 89. ## ## list_or_spread -> LBRACKET . expr COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## list_or_spread -> LBRACKET . expr COMMA ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1656,7 +1656,7 @@ interactive_expr: LBRACKET WILD interactive_expr: LPAR True COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 159. +## Ends in an error in state: 161. ## ## base_expr(expr) -> disj_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] @@ -1670,18 +1670,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 127, spurious reduction of production option(type_expr_simple_args) -> -## In state 136, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) -## In state 143, spurious reduction of production type_annotation_simple -> COLON type_expr_simple -## In state 144, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple -## In state 145, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) +## In state 129, spurious reduction of production option(type_expr_simple_args) -> +## In state 138, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 145, spurious reduction of production type_annotation_simple -> COLON type_expr_simple +## In state 146, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple +## In state 147, 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: 124. +## Ends in an error in state: 126. ## ## disj_expr_level -> par(tuple(disj_expr_level)) . option(type_annotation_simple) [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -1693,7 +1693,7 @@ interactive_expr: LPAR True COMMA Bytes RPAR WILD interactive_expr: LPAR True COMMA True COMMA WILD ## -## Ends in an error in state: 454. +## Ends in an error in state: 456. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1705,7 +1705,7 @@ interactive_expr: LPAR True COMMA True COMMA WILD interactive_expr: LPAR True COMMA True VBAR ## -## Ends in an error in state: 453. +## 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 ] @@ -1719,23 +1719,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR True COMMA WILD ## -## Ends in an error in state: 451. +## Ends in an error in state: 453. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1747,7 +1747,7 @@ interactive_expr: LPAR True COMMA WILD interactive_expr: LPAR True VBAR ## -## Ends in an error in state: 450. +## 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 ] @@ -1762,23 +1762,23 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR WILD ## -## Ends in an error in state: 90. +## Ends in an error in state: 92. ## ## par(expr) -> LPAR . expr RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## par(tuple(disj_expr_level)) -> LPAR . tuple(disj_expr_level) RPAR [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA COLON BOOL_OR ARROW ] @@ -1792,7 +1792,7 @@ interactive_expr: LPAR WILD interactive_expr: Let VBAR ## -## Ends in an error in state: 348. +## Ends in an error in state: 350. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1804,7 +1804,7 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI WILD ## -## Ends in an error in state: 391. +## Ends in an error in state: 393. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding SEMI . expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1816,7 +1816,7 @@ interactive_expr: Let WILD EQ Bytes SEMI WILD interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 390. +## Ends in an error in state: 392. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1827,27 +1827,27 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 527, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## interactive_expr: MINUS WILD ## -## Ends in an error in state: 88. +## Ends in an error in state: 90. ## ## unary_expr_level -> MINUS . call_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1859,7 +1859,7 @@ interactive_expr: MINUS WILD interactive_expr: NOT WILD ## -## Ends in an error in state: 86. +## Ends in an error in state: 88. ## ## unary_expr_level -> NOT . call_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -1871,7 +1871,7 @@ interactive_expr: NOT WILD interactive_expr: Switch Constr WILD ## -## Ends in an error in state: 108. +## Ends in an error in state: 110. ## ## module_field -> Constr . DOT Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## projection -> Constr . DOT Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -1884,7 +1884,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 241. +## Ends in an error in state: 243. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1896,7 +1896,7 @@ interactive_expr: Switch LBRACE WILD interactive_expr: Switch LBRACKET True SEMI True SEMI WILD ## -## Ends in an error in state: 239. +## Ends in an error in state: 241. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1909,7 +1909,7 @@ interactive_expr: Switch LBRACKET True SEMI True SEMI WILD interactive_expr: Switch LBRACKET True SEMI True VBAR ## -## Ends in an error in state: 238. +## Ends in an error in state: 240. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1922,26 +1922,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET True SEMI WILD ## -## Ends in an error in state: 235. +## Ends in an error in state: 237. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1954,7 +1954,7 @@ interactive_expr: Switch LBRACKET True SEMI WILD interactive_expr: Switch LBRACKET True VBAR ## -## Ends in an error in state: 234. +## Ends in an error in state: 236. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1967,26 +1967,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LBRACKET WILD ## -## Ends in an error in state: 228. +## Ends in an error in state: 230. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -1998,7 +1998,7 @@ interactive_expr: Switch LBRACKET WILD interactive_expr: Switch LPAR True VBAR ## -## Ends in an error in state: 448. +## Ends in an error in state: 450. ## ## par(expr) -> LPAR expr . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2009,26 +2009,26 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Switch LPAR WILD ## -## Ends in an error in state: 84. +## Ends in an error in state: 86. ## ## par(expr) -> LPAR . expr RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -2041,7 +2041,7 @@ interactive_expr: Switch LPAR WILD interactive_expr: Switch True LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 330. +## Ends in an error in state: 332. ## ## 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 ] @@ -2054,7 +2054,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: 333. +## Ends in an error in state: 335. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -2066,7 +2066,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: 334. +## Ends in an error in state: 336. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -2078,7 +2078,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: 332. +## Ends in an error in state: 334. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2090,7 +2090,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: 331. +## Ends in an error in state: 333. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2105,7 +2105,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: 337. +## Ends in an error in state: 339. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2117,7 +2117,7 @@ interactive_expr: Switch True LBRACE VBAR LPAR Bytes RPAR WILD interactive_expr: Switch True LBRACE VBAR VBAR ## -## Ends in an error in state: 508. +## Ends in an error in state: 510. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2129,7 +2129,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: 521. +## Ends in an error in state: 523. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2141,7 +2141,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: 523. +## Ends in an error in state: 525. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2153,7 +2153,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 RPAR ## -## Ends in an error in state: 516. +## Ends in an error in state: 518. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2164,31 +2164,31 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 210, spurious reduction of production es6_func -> ARROW expr -## In state 218, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 511, spurious reduction of production base_expr(base_cond) -> fun_expr -## In state 514, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 515, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 212, spurious reduction of production es6_func -> ARROW expr +## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func +## 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 RPAR ## -## Ends in an error in state: 512. +## 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 ] @@ -2202,23 +2202,23 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, 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: 510. +## Ends in an error in state: 512. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2230,7 +2230,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: 509. +## Ends in an error in state: 511. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2241,16 +2241,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 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 336, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 338, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: Switch True LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 323. +## Ends in an error in state: 325. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2262,7 +2262,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: 325. +## Ends in an error in state: 327. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2274,7 +2274,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: 324. +## Ends in an error in state: 326. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] @@ -2287,7 +2287,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: 425. +## Ends in an error in state: 427. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ COMMA ] @@ -2300,7 +2300,7 @@ interactive_expr: Switch True LBRACE VBAR WILD WILD interactive_expr: Switch True LBRACE WILD ## -## Ends in an error in state: 507. +## Ends in an error in state: 509. ## ## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2312,7 +2312,7 @@ interactive_expr: Switch True LBRACE WILD interactive_expr: Switch True WILD ## -## Ends in an error in state: 506. +## Ends in an error in state: 508. ## ## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2324,7 +2324,7 @@ interactive_expr: Switch True WILD interactive_expr: Switch WILD ## -## Ends in an error in state: 80. +## Ends in an error in state: 82. ## ## switch_expr(base_cond) -> Switch . switch_expr_ LBRACE cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2336,7 +2336,7 @@ interactive_expr: Switch WILD interactive_expr: True ARROW WILD ## -## Ends in an error in state: 209. +## Ends in an error in state: 211. ## ## es6_func -> ARROW . expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] ## @@ -2348,7 +2348,7 @@ interactive_expr: True ARROW WILD interactive_expr: True BOOL_AND WILD ## -## Ends in an error in state: 163. +## Ends in an error in state: 165. ## ## bin_op(conj_expr_level,BOOL_AND,comp_expr_level) -> conj_expr_level BOOL_AND . comp_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2360,7 +2360,7 @@ interactive_expr: True BOOL_AND WILD interactive_expr: True BOOL_OR WILD ## -## Ends in an error in state: 207. +## Ends in an error in state: 209. ## ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level BOOL_OR . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -2372,7 +2372,7 @@ interactive_expr: True BOOL_OR WILD interactive_expr: True CAT WILD ## -## Ends in an error in state: 186. +## Ends in an error in state: 188. ## ## bin_op(add_expr_level,CAT,cat_expr_level) -> add_expr_level CAT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2384,7 +2384,7 @@ interactive_expr: True CAT WILD interactive_expr: True COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 129. +## Ends in an error in state: 131. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2396,15 +2396,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 127, spurious reduction of production option(type_expr_simple_args) -> -## In state 136, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 129, spurious reduction of production option(type_expr_simple_args) -> +## In state 138, 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: 128. +## Ends in an error in state: 130. ## ## par(nsepseq(type_expr_simple,COMMA)) -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2416,7 +2416,7 @@ interactive_expr: True COLON Ident LPAR WILD interactive_expr: True COLON Ident WILD ## -## Ends in an error in state: 127. +## Ends in an error in state: 129. ## ## type_expr_simple -> Ident . option(type_expr_simple_args) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2428,7 +2428,7 @@ interactive_expr: True COLON Ident WILD interactive_expr: True COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 139. +## Ends in an error in state: 141. ## ## type_expr_simple -> LPAR type_expr_simple ARROW type_expr_simple . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2439,15 +2439,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 127, spurious reduction of production option(type_expr_simple_args) -> -## In state 136, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 129, spurious reduction of production option(type_expr_simple_args) -> +## In state 138, 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: 138. +## Ends in an error in state: 140. ## ## type_expr_simple -> LPAR type_expr_simple ARROW . type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2459,7 +2459,7 @@ interactive_expr: True COLON LPAR Ident ARROW WILD interactive_expr: True COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 130. +## Ends in an error in state: 132. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2471,7 +2471,7 @@ interactive_expr: True COLON LPAR Ident COMMA WILD interactive_expr: True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 146. +## Ends in an error in state: 148. ## ## add_expr_level -> mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2486,7 +2486,7 @@ interactive_expr: True COLON LPAR Ident RPAR WILD interactive_expr: True COLON LPAR Ident VBAR ## -## Ends in an error in state: 137. +## Ends in an error in state: 139. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2499,15 +2499,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 127, spurious reduction of production option(type_expr_simple_args) -> -## In state 136, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 129, spurious reduction of production option(type_expr_simple_args) -> +## In state 138, 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: 126. +## Ends in an error in state: 128. ## ## type_expr_simple -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## type_expr_simple -> LPAR . type_expr_simple ARROW type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2520,7 +2520,7 @@ interactive_expr: True COLON LPAR WILD interactive_expr: True COLON WILD ## -## Ends in an error in state: 125. +## Ends in an error in state: 127. ## ## type_annotation_simple -> COLON . type_expr_simple [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2532,7 +2532,7 @@ interactive_expr: True COLON WILD interactive_expr: True EQEQ WILD ## -## Ends in an error in state: 196. +## Ends in an error in state: 198. ## ## bin_op(comp_expr_level,EQEQ,cat_expr_level) -> comp_expr_level EQEQ . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2544,7 +2544,7 @@ interactive_expr: True EQEQ WILD interactive_expr: True GE WILD ## -## Ends in an error in state: 194. +## Ends in an error in state: 196. ## ## bin_op(comp_expr_level,GE,cat_expr_level) -> comp_expr_level GE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2556,7 +2556,7 @@ interactive_expr: True GE WILD interactive_expr: True GT WILD ## -## Ends in an error in state: 192. +## Ends in an error in state: 194. ## ## bin_op(comp_expr_level,GT,cat_expr_level) -> comp_expr_level GT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2568,7 +2568,7 @@ interactive_expr: True GT WILD interactive_expr: True LE WILD ## -## Ends in an error in state: 190. +## Ends in an error in state: 192. ## ## bin_op(comp_expr_level,LE,cat_expr_level) -> comp_expr_level LE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2580,7 +2580,7 @@ interactive_expr: True LE WILD interactive_expr: True LPAR True COMMA WILD ## -## Ends in an error in state: 157. +## Ends in an error in state: 159. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2592,7 +2592,7 @@ interactive_expr: True LPAR True COMMA WILD interactive_expr: True LPAR True VBAR ## -## Ends in an error in state: 156. +## Ends in an error in state: 158. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2604,26 +2604,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: True LPAR WILD ## -## Ends in an error in state: 150. +## Ends in an error in state: 152. ## ## call_expr -> core_expr LPAR . nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -2636,7 +2636,7 @@ interactive_expr: True LPAR WILD interactive_expr: True LT WILD ## -## Ends in an error in state: 188. +## Ends in an error in state: 190. ## ## bin_op(comp_expr_level,LT,cat_expr_level) -> comp_expr_level LT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2648,7 +2648,7 @@ interactive_expr: True LT WILD interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 185. +## Ends in an error in state: 187. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2663,7 +2663,7 @@ interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD interactive_expr: True MINUS WILD ## -## Ends in an error in state: 184. +## Ends in an error in state: 186. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2675,7 +2675,7 @@ interactive_expr: True MINUS WILD interactive_expr: True Mod WILD ## -## Ends in an error in state: 182. +## Ends in an error in state: 184. ## ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level Mod . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2687,7 +2687,7 @@ interactive_expr: True Mod WILD interactive_expr: True NE WILD ## -## Ends in an error in state: 165. +## Ends in an error in state: 167. ## ## bin_op(comp_expr_level,NE,cat_expr_level) -> comp_expr_level NE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] ## @@ -2699,7 +2699,7 @@ interactive_expr: True NE WILD interactive_expr: True Or WILD ## -## Ends in an error in state: 160. +## Ends in an error in state: 162. ## ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level Or . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] ## @@ -2711,7 +2711,7 @@ interactive_expr: True Or WILD interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 179. +## Ends in an error in state: 181. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] @@ -2726,7 +2726,7 @@ interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD interactive_expr: True PLUS WILD ## -## Ends in an error in state: 178. +## Ends in an error in state: 180. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2738,7 +2738,7 @@ interactive_expr: True PLUS WILD interactive_expr: True SLASH WILD ## -## Ends in an error in state: 180. +## Ends in an error in state: 182. ## ## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level SLASH . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2750,7 +2750,7 @@ interactive_expr: True SLASH WILD interactive_expr: True TIMES WILD ## -## Ends in an error in state: 147. +## Ends in an error in state: 149. ## ## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level TIMES . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] ## @@ -2762,7 +2762,7 @@ interactive_expr: True TIMES WILD interactive_expr: True VBAR ## -## Ends in an error in state: 536. +## Ends in an error in state: 538. ## ## interactive_expr -> expr_with_let_expr . EOF [ # ] ## @@ -2773,27 +2773,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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 394, spurious reduction of production expr_with_let_expr -> expr +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## In state 396, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: True WILD ## -## Ends in an error in state: 149. +## Ends in an error in state: 151. ## ## call_expr -> core_expr . LPAR nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] ## call_expr -> core_expr . unit [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] @@ -2807,7 +2807,7 @@ interactive_expr: True WILD interactive_expr: WILD ## -## Ends in an error in state: 534. +## Ends in an error in state: 536. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2819,7 +2819,7 @@ interactive_expr: WILD contract: Attr WILD ## -## Ends in an error in state: 67. +## Ends in an error in state: 69. ## ## seq(Attr) -> Attr . seq(Attr) [ Let ] ## @@ -2829,9 +2829,9 @@ contract: Attr WILD -contract: Let Ident COLON Ident SEMI +contract: Let Ident COLON Constr SEMI ## -## Ends in an error in state: 370. +## Ends in an error in state: 372. ## ## let_binding -> Ident option(type_annotation) . EQ expr [ SEMI ] ## @@ -2842,18 +2842,19 @@ contract: Let Ident COLON Ident 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 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let Ident EQ WILD ## -## Ends in an error in state: 371. +## Ends in an error in state: 373. ## ## let_binding -> Ident option(type_annotation) EQ . expr [ SEMI ] ## @@ -2870,7 +2871,7 @@ let func = (a: int, b: int) => a + b; contract: Let Ident WILD ## -## Ends in an error in state: 369. +## Ends in an error in state: 371. ## ## let_binding -> Ident . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> Ident . [ COMMA ] @@ -2883,7 +2884,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 306. +## Ends in an error in state: 308. ## ## 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 ] @@ -2896,7 +2897,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: 305. +## Ends in an error in state: 307. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2910,7 +2911,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: 302. +## Ends in an error in state: 304. ## ## 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 ] @@ -2921,9 +2922,9 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD -contract: Let LBRACE Ident EQ Bytes RBRACE COLON Ident SEMI +contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr SEMI ## -## Ends in an error in state: 383. +## Ends in an error in state: 385. ## ## let_binding -> record_pattern option(type_annotation) . EQ expr [ SEMI ] ## @@ -2934,18 +2935,19 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON Ident 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 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD ## -## Ends in an error in state: 384. +## Ends in an error in state: 386. ## ## let_binding -> record_pattern option(type_annotation) EQ . expr [ SEMI ] ## @@ -2957,7 +2959,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 382. +## Ends in an error in state: 384. ## ## let_binding -> record_pattern . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> record_pattern . [ COMMA ] @@ -2970,7 +2972,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 301. +## Ends in an error in state: 303. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2984,7 +2986,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 279. +## Ends in an error in state: 281. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -2996,7 +2998,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 278. +## Ends in an error in state: 280. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -3008,7 +3010,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 277. +## Ends in an error in state: 279. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -3020,7 +3022,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 284. +## Ends in an error in state: 286. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3032,7 +3034,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 276. +## Ends in an error in state: 278. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3044,7 +3046,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 309. +## Ends in an error in state: 311. ## ## 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 ] @@ -3057,7 +3059,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: 311. +## Ends in an error in state: 313. ## ## 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 ] @@ -3070,7 +3072,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: 310. +## 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 ] @@ -3084,7 +3086,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 308. +## Ends in an error in state: 310. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3098,7 +3100,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 275. +## Ends in an error in state: 277. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3112,7 +3114,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 328. +## Ends in an error in state: 330. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3123,16 +3125,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 324, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 327, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 320, spurious reduction of production ptuple -> tuple(sub_pattern) +## In state 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 322, spurious reduction of production ptuple -> tuple(sub_pattern) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 321. +## Ends in an error in state: 323. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -3145,7 +3147,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 367. +## Ends in an error in state: 369. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -3156,15 +3158,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 283, spurious reduction of production constr_pattern -> Constr -## In state 366, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 285, spurious reduction of production constr_pattern -> Constr +## In state 368, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 283. +## Ends in an error in state: 285. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3175,9 +3177,9 @@ contract: Let LPAR Constr VBAR -contract: Let LPAR RPAR COLON Ident SEMI +contract: Let LPAR RPAR COLON Constr SEMI ## -## Ends in an error in state: 374. +## Ends in an error in state: 376. ## ## let_binding -> unit option(type_annotation) . EQ expr [ SEMI ] ## @@ -3188,18 +3190,19 @@ contract: Let LPAR RPAR COLON Ident 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 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LPAR RPAR EQ WILD ## -## Ends in an error in state: 375. +## Ends in an error in state: 377. ## ## let_binding -> unit option(type_annotation) EQ . expr [ SEMI ] ## @@ -3211,7 +3214,7 @@ contract: Let LPAR RPAR EQ WILD contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 373. +## Ends in an error in state: 375. ## ## let_binding -> unit . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> unit . [ COMMA ] @@ -3224,7 +3227,7 @@ contract: Let LPAR RPAR WILD contract: Let LPAR VBAR ## -## Ends in an error in state: 349. +## Ends in an error in state: 351. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3237,7 +3240,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 364. +## Ends in an error in state: 366. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3249,7 +3252,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 363. +## Ends in an error in state: 365. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3261,16 +3264,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 357, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 362, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) -## In state 354, spurious reduction of production irrefutable -> tuple(sub_irrefutable) +## In state 359, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 364, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 356, spurious reduction of production irrefutable -> tuple(sub_irrefutable) ## -contract: Let LPAR WILD RPAR COLON Ident SEMI +contract: Let LPAR WILD RPAR COLON Constr SEMI ## -## Ends in an error in state: 387. +## Ends in an error in state: 389. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ SEMI ] ## @@ -3281,18 +3284,19 @@ contract: Let LPAR WILD RPAR COLON Ident 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 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LPAR WILD RPAR EQ WILD ## -## Ends in an error in state: 388. +## Ends in an error in state: 390. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ SEMI ] ## @@ -3304,7 +3308,7 @@ contract: Let LPAR WILD RPAR EQ WILD contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 386. +## Ends in an error in state: 388. ## ## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] @@ -3317,7 +3321,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 355. +## Ends in an error in state: 357. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3330,7 +3334,7 @@ contract: Let LPAR WILD WILD contract: Let VBAR ## -## Ends in an error in state: 72. +## Ends in an error in state: 74. ## ## let_declaration -> seq(Attr) Let . let_binding [ SEMI ] ## @@ -3342,7 +3346,7 @@ contract: Let VBAR contract: Let WILD COLON Ident SEMI ## -## Ends in an error in state: 77. +## Ends in an error in state: 79. ## ## let_binding -> WILD option(type_annotation) . EQ expr [ SEMI ] ## @@ -3355,16 +3359,16 @@ contract: Let WILD COLON Ident SEMI ## 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 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 68, spurious reduction of production type_expr -> cartesian +## In state 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let WILD COLON WILD ## -## Ends in an error in state: 74. +## Ends in an error in state: 76. ## ## type_annotation -> COLON . type_expr [ EQ ] ## @@ -3374,9 +3378,9 @@ contract: Let WILD COLON WILD -contract: Let WILD COMMA Ident COLON Ident SEMI +contract: Let WILD COMMA Ident COLON Constr SEMI ## -## Ends in an error in state: 378. +## Ends in an error in state: 380. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ SEMI ] ## @@ -3387,18 +3391,19 @@ contract: Let WILD COMMA Ident COLON Ident 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 8, spurious reduction of production core_type -> Ident -## In state 15, spurious reduction of production cartesian -> core_type -## In state 66, spurious reduction of production type_expr -> cartesian -## In state 75, spurious reduction of production type_annotation -> COLON type_expr -## In state 76, spurious reduction of production option(type_annotation) -> type_annotation +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr +## In state 78, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let WILD COMMA Ident EQ WILD ## -## Ends in an error in state: 379. +## Ends in an error in state: 381. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ SEMI ] ## @@ -3410,7 +3415,7 @@ contract: Let WILD COMMA Ident EQ WILD contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 377. +## Ends in an error in state: 379. ## ## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ SEMI ] ## @@ -3421,15 +3426,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 357, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 362, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 359, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 364, 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: 356. +## Ends in an error in state: 358. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3441,7 +3446,7 @@ contract: Let WILD COMMA VBAR contract: Let WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 358. +## Ends in an error in state: 360. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3453,7 +3458,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 357. +## Ends in an error in state: 359. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3466,7 +3471,7 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 527. +## Ends in an error in state: 529. ## ## declaration -> let_declaration . SEMI [ Type Let EOF Attr ] ## @@ -3477,28 +3482,28 @@ 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 149, spurious reduction of production call_expr_level_in -> core_expr -## In state 167, spurious reduction of production option(type_annotation_simple) -> -## In state 168, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 169, spurious reduction of production unary_expr_level -> call_expr_level -## In state 122, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 146, spurious reduction of production add_expr_level -> mult_expr_level -## In state 177, spurious reduction of production cat_expr_level -> add_expr_level -## In state 198, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 205, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 212, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 159, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 216, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 217, spurious reduction of production expr -> base_cond__open(expr) -## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## In state 526, spurious reduction of production let_declaration -> seq(Attr) Let let_binding +## In state 151, spurious reduction of production call_expr_level_in -> core_expr +## In state 169, spurious reduction of production option(type_annotation_simple) -> +## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 171, spurious reduction of production unary_expr_level -> call_expr_level +## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 148, spurious reduction of production add_expr_level -> mult_expr_level +## In state 179, spurious reduction of production cat_expr_level -> add_expr_level +## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 219, 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 ## contract: Let WILD EQ WILD ## -## Ends in an error in state: 78. +## Ends in an error in state: 80. ## ## let_binding -> WILD option(type_annotation) EQ . expr [ SEMI ] ## @@ -3510,7 +3515,7 @@ contract: Let WILD EQ WILD contract: Let WILD WILD ## -## Ends in an error in state: 73. +## Ends in an error in state: 75. ## ## let_binding -> WILD . option(type_annotation) EQ expr [ SEMI ] ## sub_irrefutable -> WILD . [ COMMA ] @@ -3533,11 +3538,104 @@ contract: Type Ident EQ Constr DOT WILD +contract: Type Ident EQ Constr LPAR Ident RPAR WILD +## +## Ends in an error in state: 41. +## +## nsepseq(variant,VBAR) -> variant . [ SEMI RPAR RBRACE EQ COMMA ] +## nsepseq(variant,VBAR) -> variant . VBAR nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] +## +## The known suffix of the stack is as follows: +## variant +## + + + +contract: Type Ident EQ Constr LPAR Ident SEMI +## +## Ends in an error in state: 39. +## +## variant -> Constr LPAR cartesian . RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## +## The known suffix of the stack is as follows: +## Constr LPAR cartesian +## +## 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 Constr LPAR WILD +## +## Ends in an error in state: 6. +## +## variant -> Constr LPAR . cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## +## The known suffix of the stack is as follows: +## Constr LPAR +## + + + +contract: Type Ident EQ Constr RPAR +## +## Ends in an error in state: 71. +## +## declaration -> type_decl . SEMI [ Type Let EOF Attr ] +## +## The known suffix of the stack is as follows: +## type_decl +## +## 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 48, spurious reduction of production variant -> Constr +## In state 41, 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 +## + + + +contract: Type Ident EQ Constr SEMI WILD +## +## Ends in an error in state: 533. +## +## declarations -> declaration . [ EOF ] +## declarations -> declaration . declarations [ EOF ] +## +## The known suffix of the stack is as follows: +## declaration +## + + + +contract: Type Ident EQ Constr VBAR WILD +## +## Ends in an error in state: 42. +## +## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] +## +## The known suffix of the stack is as follows: +## variant VBAR +## + + + contract: Type Ident EQ Constr WILD ## -## Ends in an error in state: 11. +## Ends in an error in state: 48. ## ## core_type -> Constr . DOT Ident [ SEMI RPAR RBRACE EQ COMMA ] +## variant -> Constr . [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## variant -> Constr . LPAR cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] ## ## The known suffix of the stack is as follows: ## Constr @@ -3644,40 +3742,6 @@ contract: Type Ident EQ Ident LPAR WILD -contract: Type Ident EQ Ident RPAR -## -## Ends in an error in state: 69. -## -## declaration -> type_decl . SEMI [ Type Let EOF Attr ] -## -## The known suffix of the stack is as follows: -## type_decl -## -## 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 66, spurious reduction of production type_expr -> cartesian -## In state 63, spurious reduction of production type_decl -> Type Ident EQ type_expr -## - - - -contract: Type Ident EQ Ident SEMI WILD -## -## Ends in an error in state: 531. -## -## declarations -> declaration . [ EOF ] -## declarations -> declaration . declarations [ EOF ] -## -## The known suffix of the stack is as follows: -## declaration -## - - - contract: Type Ident EQ Ident WILD ## ## Ends in an error in state: 8. @@ -3692,9 +3756,9 @@ contract: Type Ident EQ Ident WILD -contract: Type Ident EQ LBRACE Ident COLON Ident RPAR +contract: Type Ident EQ LBRACE Ident COLON Constr SEMI ## -## Ends in an error in state: 56. +## Ends in an error in state: 58. ## ## nsepseq(field_decl,COMMA) -> field_decl . [ RBRACE ] ## nsepseq(field_decl,COMMA) -> field_decl . COMMA nsepseq(field_decl,COMMA) [ RBRACE ] @@ -3707,9 +3771,11 @@ contract: Type Ident EQ LBRACE Ident COLON 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 18, spurious reduction of production core_type -> Ident -## In state 51, spurious reduction of production type_expr_field -> core_type -## In state 48, spurious reduction of production field_decl -> Ident COLON type_expr_field +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 ## @@ -3726,9 +3792,9 @@ contract: Type Ident EQ LBRACE Ident COLON WILD -contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Ident RPAR +contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr SEMI ## -## Ends in an error in state: 60. +## Ends in an error in state: 62. ## ## nsepseq(field_decl,COMMA) -> field_decl . [ RBRACE ] ## nsepseq(field_decl,COMMA) -> field_decl . COMMA nsepseq(field_decl,COMMA) [ RBRACE ] @@ -3741,16 +3807,18 @@ contract: Type Ident EQ LBRACE Ident COMMA Ident COLON 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 18, spurious reduction of production core_type -> Ident -## In state 51, spurious reduction of production type_expr_field -> core_type -## In state 48, spurious reduction of production field_decl -> Ident COLON type_expr_field +## In state 48, spurious reduction of production variant -> Constr +## In state 41, 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 ## contract: Type Ident EQ LBRACE Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 61. +## Ends in an error in state: 63. ## ## nsepseq(field_decl,COMMA) -> field_decl COMMA . nsepseq(field_decl,COMMA) [ RBRACE ] ## seq(__anonymous_0(field_decl,COMMA)) -> field_decl COMMA . seq(__anonymous_0(field_decl,COMMA)) [ RBRACE ] @@ -3763,7 +3831,7 @@ contract: Type Ident EQ LBRACE Ident COMMA Ident COMMA WILD contract: Type Ident EQ LBRACE Ident COMMA WILD ## -## Ends in an error in state: 57. +## Ends in an error in state: 59. ## ## nsepseq(field_decl,COMMA) -> field_decl COMMA . nsepseq(field_decl,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_decl,COMMA)) -> field_decl COMMA . seq(__anonymous_0(field_decl,COMMA)) [ RBRACE ] @@ -3799,6 +3867,18 @@ contract: Type Ident EQ LBRACE WILD +contract: Type Ident EQ LPAR Constr WILD +## +## Ends in an error in state: 11. +## +## core_type -> Constr . DOT Ident [ SEMI RPAR EQ COMMA ] +## +## The known suffix of the stack is as follows: +## Constr +## + + + contract: Type Ident EQ LPAR Ident COMMA Ident COMMA WILD ## ## Ends in an error in state: 37. @@ -3903,62 +3983,6 @@ contract: Type Ident EQ LPAR WILD -contract: Type Ident EQ VBAR Constr LPAR Ident RPAR WILD -## -## Ends in an error in state: 41. -## -## nsepseq(variant,VBAR) -> variant . [ SEMI RPAR RBRACE EQ COMMA ] -## nsepseq(variant,VBAR) -> variant . VBAR nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] -## -## The known suffix of the stack is as follows: -## variant -## - - - -contract: Type Ident EQ VBAR Constr LPAR Ident SEMI -## -## Ends in an error in state: 39. -## -## variant -> Constr LPAR cartesian . RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] -## -## The known suffix of the stack is as follows: -## Constr LPAR cartesian -## -## 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 VBAR Constr LPAR WILD -## -## Ends in an error in state: 6. -## -## variant -> Constr LPAR . cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] -## -## The known suffix of the stack is as follows: -## Constr LPAR -## - - - -contract: Type Ident EQ VBAR Constr VBAR WILD -## -## Ends in an error in state: 42. -## -## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] -## -## The known suffix of the stack is as follows: -## variant VBAR -## - - - contract: Type Ident EQ VBAR Constr WILD ## ## Ends in an error in state: 5. diff --git a/src/test/contracts/match_bis.religo b/src/test/contracts/match_bis.religo index 2a8cd69b8..d1465d77b 100644 --- a/src/test/contracts/match_bis.religo +++ b/src/test/contracts/match_bis.religo @@ -3,7 +3,7 @@ type storage = int; /* variant defining pseudo multi-entrypoint actions */ type action = - | Increment(int) + Increment(int) | Decrement(int); let add = ((a: int), (b: int)) => a + b; From 3461af53dd2ea45e3ec7fcddef7030c79aa7cd1b Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 4 Feb 2020 12:52:12 +0100 Subject: [PATCH 10/14] ReasonLIGO: Make the semicolon optional in more cases. --- src/passes/1-parser/reasonligo/Parser.mly | 12 +- .../reasonligo/error.messages.checked-in | 1933 +++++++++-------- src/test/contracts/no_semicolon.religo | 13 + src/test/integration_tests.ml | 10 + 4 files changed, 1004 insertions(+), 964 deletions(-) create mode 100644 src/test/contracts/no_semicolon.religo diff --git a/src/passes/1-parser/reasonligo/Parser.mly b/src/passes/1-parser/reasonligo/Parser.mly index 6f625bb17..48765c19a 100644 --- a/src/passes/1-parser/reasonligo/Parser.mly +++ b/src/passes/1-parser/reasonligo/Parser.mly @@ -159,8 +159,8 @@ declarations: | declaration declarations { Utils.nseq_cons $1 $2 } declaration: -| type_decl ";" { TypeDecl $1 } -| let_declaration ";" { Let $1 } +| type_decl ";"? { TypeDecl $1 } +| let_declaration ";"? { Let $1 } (* Type declarations *) @@ -576,10 +576,10 @@ parenthesized_expr: "{" expr "}" | "(" expr ")" { $2 } if_then(right_expr): - "if" parenthesized_expr "{" closed_if "}" { + "if" parenthesized_expr "{" closed_if ";"? "}" { let the_unit = ghost, ghost in let ifnot = EUnit {region=ghost; value=the_unit} in - let region = cover $1 $5 in + let region = cover $1 $6 in let value = {kwd_if = $1; test = $2; kwd_then = $3; @@ -589,8 +589,8 @@ if_then(right_expr): in ECond {region; value} } if_then_else(right_expr): - "if" parenthesized_expr "{" closed_if ";" "}" - "else" "{" right_expr ";" "}" { + "if" parenthesized_expr "{" closed_if ";"? "}" + "else" "{" right_expr ";"? "}" { let region = cover $1 $11 in let value = {kwd_if = $1; test = $2; diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index 06d8635c9..477a32d89 100644 --- a/src/passes/1-parser/reasonligo/error.messages.checked-in +++ b/src/passes/1-parser/reasonligo/error.messages.checked-in @@ -1,8 +1,8 @@ interactive_expr: C_None WILD ## -## Ends in an error in state: 169. +## Ends in an error in state: 170. ## -## call_expr_level -> call_expr_level_in . option(type_annotation_simple) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## call_expr_level_in @@ -12,9 +12,9 @@ interactive_expr: C_None WILD interactive_expr: C_Some WILD ## -## Ends in an error in state: 121. +## Ends in an error in state: 122. ## -## constr_expr -> C_Some . core_expr [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## C_Some @@ -24,10 +24,10 @@ interactive_expr: C_Some WILD interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 108. +## Ends in an error in state: 109. ## -## module_field -> Constr DOT Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## projection -> Constr DOT Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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: ## Constr DOT Ident @@ -37,10 +37,10 @@ interactive_expr: Constr DOT Ident WILD interactive_expr: Constr DOT WILD ## -## Ends in an error in state: 107. +## Ends in an error in state: 108. ## -## module_field -> Constr DOT . Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## projection -> Constr DOT . Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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: ## Constr DOT @@ -50,12 +50,12 @@ interactive_expr: Constr DOT WILD interactive_expr: Constr WILD ## -## Ends in an error in state: 106. +## Ends in an error in state: 107. ## -## constr_expr -> Constr . core_expr [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## constr_expr -> Constr . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## module_field -> Constr . DOT Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## projection -> Constr . DOT Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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: ## Constr @@ -65,10 +65,10 @@ interactive_expr: Constr WILD interactive_expr: Ident DOT Ident WILD ## -## Ends in an error in state: 101. +## Ends in an error in state: 102. ## -## selection -> DOT Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## selection -> DOT Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## selection -> 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 ] +## selection -> 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 ] ## ## The known suffix of the stack is as follows: ## DOT Ident @@ -78,10 +78,10 @@ interactive_expr: Ident DOT Ident WILD interactive_expr: Ident DOT WILD ## -## Ends in an error in state: 100. +## Ends in an error in state: 101. ## -## selection -> DOT . Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## selection -> DOT . Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## selection -> 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 ] +## selection -> 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 ] ## ## The known suffix of the stack is as follows: ## DOT @@ -91,10 +91,10 @@ interactive_expr: Ident DOT WILD interactive_expr: Ident LBRACKET Int RBRACKET WILD ## -## Ends in an error in state: 99. +## Ends in an error in state: 100. ## -## selection -> LBRACKET Int RBRACKET . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## selection -> LBRACKET Int RBRACKET . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## selection -> LBRACKET Int RBRACKET . 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 ] +## selection -> LBRACKET Int RBRACKET . [ 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: ## LBRACKET Int RBRACKET @@ -104,10 +104,10 @@ interactive_expr: Ident LBRACKET Int RBRACKET WILD interactive_expr: Ident LBRACKET Int WILD ## -## Ends in an error in state: 98. +## Ends in an error in state: 99. ## -## selection -> LBRACKET Int . RBRACKET selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## selection -> LBRACKET Int . RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## selection -> LBRACKET Int . RBRACKET 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 ] +## selection -> LBRACKET Int . RBRACKET [ 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: ## LBRACKET Int @@ -117,10 +117,10 @@ interactive_expr: Ident LBRACKET Int WILD interactive_expr: Ident LBRACKET WILD ## -## Ends in an error in state: 97. +## Ends in an error in state: 98. ## -## selection -> LBRACKET . Int RBRACKET selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## selection -> LBRACKET . Int RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## selection -> LBRACKET . Int RBRACKET 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 ] +## selection -> LBRACKET . Int RBRACKET [ 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: ## LBRACKET @@ -130,10 +130,10 @@ interactive_expr: Ident LBRACKET WILD interactive_expr: Ident WILD ## -## Ends in an error in state: 96. +## Ends in an error in state: 97. ## -## common_expr -> Ident . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## projection -> Ident . selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## common_expr -> 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 -> 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: ## Ident @@ -143,7 +143,7 @@ interactive_expr: Ident WILD interactive_expr: If LBRACE True VBAR ## -## Ends in an error in state: 225. +## Ends in an error in state: 226. ## ## 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: If LBRACE WILD ## -## Ends in an error in state: 224. +## Ends in an error in state: 225. ## ## parenthesized_expr -> LBRACE . expr RBRACE [ LBRACE ] ## @@ -183,11 +183,11 @@ interactive_expr: If LBRACE WILD -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 ARROW Bytes VBAR ## -## Ends in an error in state: 401. +## Ends in an error in state: 402. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if @@ -196,118 +196,128 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 409, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True RBRACE +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: 406. +## Ends in an error in state: 407. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if . SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if . option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if ## ## 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 409, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD +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: 407. +## Ends in an error in state: 408. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI . RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) . RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) ## -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE WILD +interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else LBRACE WILD +## +## 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 ] +## +## The known suffix of the stack is as follows: +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE +## + + + +interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE Else WILD ## ## Ends in an error in state: 405. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else ## -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else WILD +interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True RBRACE WILD ## ## Ends in an error in state: 404. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE ## -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI RBRACE WILD +interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI PLUS ## ## Ends in an error in state: 403. ## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE -## - - - -interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE True SEMI WILD -## -## Ends in an error in state: 402. -## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI +## If parenthesized_expr LBRACE closed_if option(SEMI) ## interactive_expr: If LPAR True RPAR LBRACE If LPAR Bytes RPAR LBRACE 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 SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE @@ -317,9 +327,9 @@ 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: 346. +## Ends in an error in state: 347. ## -## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr @@ -329,9 +339,9 @@ 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: 345. +## Ends in an error in state: 346. ## -## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE closed_if SEMI RBRACE [ SEMI RBRACE ] +## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: ## If @@ -341,7 +351,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: 272. +## Ends in an error in state: 273. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -375,11 +385,11 @@ 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 RBRACE +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: 411. +## Ends in an error in state: 412. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if @@ -388,118 +398,123 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 400, spurious reduction of production base_expr(closed_if) -> disj_expr_level -## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 409, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD +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. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) +## + + + +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. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI . RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI -## - - - -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE True VBAR -## -## Ends in an error in state: 420. -## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else . SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else ## ## 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 418, spurious reduction of production base_expr(base_if_then_else) -> disj_expr_level -## In state 423, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 419, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else LBRACE WILD +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. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE +## + + + +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. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else ## -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE Else WILD +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. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE ## -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI RBRACE WILD +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. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE -## - - - -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE True SEMI WILD -## -## Ends in an error in state: 412. -## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI +## If parenthesized_expr LBRACE closed_if option(SEMI) ## 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: 344. +## Ends in an error in state: 345. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE @@ -509,9 +524,9 @@ 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: 343. +## Ends in an error in state: 344. ## -## if_then_else(base_if_then_else) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr @@ -521,9 +536,9 @@ 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: 342. +## Ends in an error in state: 343. ## -## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE base_if_then_else SEMI RBRACE [ VBAR SEMI RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If @@ -531,9 +546,9 @@ 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 RPAR +interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True ARROW Bytes Type ## -## Ends in an error in state: 424. +## Ends in an error in state: 425. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -544,31 +559,31 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 212, spurious reduction of production es6_func -> ARROW expr -## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 417, spurious reduction of production base_expr(base_if_then_else) -> fun_expr -## In state 423, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr(base_if_then_else) -## In state 419, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True RPAR +interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW True Type ## -## Ends in an error in state: 418. +## Ends in an error in state: 419. ## ## 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 ] @@ -582,23 +597,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## 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 ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE VBAR WILD ARROW WILD ## -## 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 ] ## @@ -610,7 +625,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: 340. +## Ends in an error in state: 341. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -621,16 +636,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 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 338, spurious reduction of production pattern -> tuple(sub_pattern) +## 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) ## interactive_expr: If LPAR True RPAR LBRACE Switch True LBRACE 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 ] ## @@ -642,7 +657,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: 270. +## Ends in an error in state: 271. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -654,7 +669,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: 229. +## Ends in an error in state: 230. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -668,8 +683,8 @@ interactive_expr: If LPAR True RPAR LBRACE True ARROW Bytes VBAR ## ## Ends in an error in state: 439. ## -## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE closed_if @@ -678,122 +693,124 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 212, spurious reduction of production es6_func -> ARROW expr -## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func -## In state 399, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 410, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 409, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## 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) ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True SEMI WILD +interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True SEMI PLUS ## ## Ends in an error in state: 445. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI . RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE True VBAR +interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE True VBAR ## ## Ends in an error in state: 444. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr . SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr ## ## 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 396, spurious reduction of production expr_with_let_expr -> expr +## 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 ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else LBRACE WILD +interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else LBRACE WILD ## ## Ends in an error in state: 443. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE . expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE Else WILD +interactive_expr: If LPAR True RPAR LBRACE True RBRACE Else WILD ## ## Ends in an error in state: 442. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE Else . LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE Else +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI RBRACE WILD +interactive_expr: If LPAR True RPAR LBRACE True RBRACE WILD ## ## Ends in an error in state: 441. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI RBRACE . Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI RBRACE +## If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE ## -interactive_expr: If LPAR True RPAR LBRACE True SEMI WILD +interactive_expr: If LPAR True RPAR LBRACE True SEMI PLUS ## ## Ends in an error in state: 440. ## -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if SEMI . RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## If parenthesized_expr LBRACE closed_if SEMI +## If parenthesized_expr LBRACE closed_if option(SEMI) ## interactive_expr: If LPAR True RPAR LBRACE True VBAR ## -## Ends in an error in state: 400. +## Ends in an error in state: 401. ## ## 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 ] @@ -807,26 +824,26 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## 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 ## interactive_expr: If LPAR True RPAR LBRACE 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 RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE . closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr LBRACE @@ -836,10 +853,10 @@ interactive_expr: If LPAR True RPAR LBRACE WILD interactive_expr: If LPAR True RPAR WILD ## -## Ends in an error in state: 227. +## Ends in an error in state: 228. ## -## if_then(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr_with_let_expr) -> If parenthesized_expr . LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If parenthesized_expr @@ -849,7 +866,7 @@ interactive_expr: If LPAR True RPAR WILD interactive_expr: If LPAR True VBAR ## -## Ends in an error in state: 222. +## Ends in an error in state: 223. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -860,26 +877,26 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: If LPAR WILD ## -## Ends in an error in state: 95. +## Ends in an error in state: 96. ## ## parenthesized_expr -> LPAR . expr RPAR [ LBRACE ] ## @@ -891,10 +908,10 @@ interactive_expr: If LPAR WILD interactive_expr: If WILD ## -## Ends in an error in state: 94. +## Ends in an error in state: 95. ## -## if_then(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## if_then_else(expr_with_let_expr) -> If . parenthesized_expr LBRACE closed_if SEMI RBRACE Else LBRACE expr_with_let_expr SEMI RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## If @@ -904,7 +921,7 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 248. +## Ends in an error in state: 249. ## ## projection -> Constr DOT Ident . selection [ COMMA ] ## @@ -916,7 +933,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 247. +## Ends in an error in state: 248. ## ## projection -> Constr DOT . Ident selection [ COMMA ] ## @@ -928,7 +945,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 246. +## Ends in an error in state: 247. ## ## projection -> Constr . DOT Ident selection [ COMMA ] ## @@ -940,7 +957,7 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 263. +## Ends in an error in state: 264. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -953,27 +970,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 262, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## 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 ## interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON WILD ## -## Ends in an error in state: 261. +## Ends in an error in state: 262. ## ## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] ## @@ -985,7 +1002,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: 267. +## Ends in an error in state: 268. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -998,27 +1015,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 262, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## 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 ## interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 268. +## Ends in an error in state: 269. ## ## 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 ] @@ -1031,7 +1048,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: 264. +## Ends in an error in state: 265. ## ## 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 ] @@ -1044,7 +1061,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: 254. +## Ends in an error in state: 255. ## ## nsepseq(field_name,DOT) -> Ident . [ COLON ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] @@ -1057,7 +1074,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: 253. +## Ends in an error in state: 254. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] ## @@ -1069,7 +1086,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD ## -## Ends in an error in state: 252. +## Ends in an error in state: 253. ## ## field_path_assignment -> Ident . [ RBRACE COMMA ] ## nsepseq(field_name,DOT) -> Ident . [ COLON ] @@ -1083,9 +1100,9 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## 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 TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LBRACE ELLIPSIS path COMMA @@ -1095,9 +1112,9 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## -## Ends in an error in state: 250. +## Ends in an error in state: 251. ## -## update_record -> LBRACE ELLIPSIS path . COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LBRACE ELLIPSIS path @@ -1106,16 +1123,16 @@ interactive_expr: LBRACE ELLIPSIS Ident DOT 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 101, spurious reduction of production selection -> DOT Ident -## In state 104, spurious reduction of production projection -> Ident selection -## In state 249, spurious reduction of production path -> projection +## 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 ## interactive_expr: LBRACE ELLIPSIS Ident WILD ## -## Ends in an error in state: 245. +## Ends in an error in state: 246. ## ## path -> Ident . [ COMMA ] ## projection -> Ident . selection [ COMMA ] @@ -1128,9 +1145,9 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS 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 [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LBRACE ELLIPSIS @@ -1140,7 +1157,7 @@ interactive_expr: LBRACE ELLIPSIS WILD interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 463. +## Ends in an error in state: 462. ## ## sequence_or_record_in -> field_assignment . COMMA sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1151,27 +1168,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 460, spurious reduction of production field_assignment -> Ident COLON expr +## 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 ## interactive_expr: LBRACE Ident COLON WILD ## -## Ends in an error in state: 459. +## Ends in an error in state: 458. ## ## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] ## @@ -1183,7 +1200,7 @@ interactive_expr: LBRACE Ident COLON WILD interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 469. +## Ends in an error in state: 468. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1196,27 +1213,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 460, spurious reduction of production field_assignment -> Ident COLON expr +## 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 ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 473. +## Ends in an error in state: 472. ## ## nsepseq(field_assignment,COMMA) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,COMMA) -> field_assignment . COMMA nsepseq(field_assignment,COMMA) [ RBRACE ] @@ -1229,27 +1246,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 460, spurious reduction of production field_assignment -> Ident COLON expr +## 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 ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 474. +## Ends in an error in state: 473. ## ## 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 ] @@ -1262,7 +1279,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: 470. +## Ends in an error in state: 469. ## ## 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 ] @@ -1275,7 +1292,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 465. +## Ends in an error in state: 464. ## ## field_assignment -> Ident . [ RBRACE COMMA ] ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] @@ -1288,7 +1305,7 @@ interactive_expr: LBRACE Ident COMMA Ident WILD interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 464. +## Ends in an error in state: 463. ## ## sequence_or_record_in -> field_assignment COMMA . sep_or_term_list(field_assignment,COMMA) [ RBRACE ] ## @@ -1300,7 +1317,7 @@ interactive_expr: LBRACE Ident COMMA WILD interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 458. +## Ends in an error in state: 457. ## ## 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 ] @@ -1315,7 +1332,7 @@ interactive_expr: LBRACE Ident WILD interactive_expr: LBRACE True SEMI True SEMI True SEMI WILD ## -## Ends in an error in state: 486. +## Ends in an error in state: 485. ## ## 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 ] @@ -1328,7 +1345,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: 485. +## Ends in an error in state: 484. ## ## 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 ] @@ -1341,27 +1358,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 396, spurious reduction of production expr_with_let_expr -> expr +## 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 ## interactive_expr: LBRACE True SEMI True SEMI WILD ## -## Ends in an error in state: 482. +## Ends in an error in state: 481. ## ## 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 ] @@ -1374,7 +1391,7 @@ interactive_expr: LBRACE True SEMI True SEMI WILD interactive_expr: LBRACE True SEMI True VBAR ## -## Ends in an error in state: 481. +## Ends in an error in state: 480. ## ## 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 ] @@ -1387,27 +1404,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 396, spurious reduction of production expr_with_let_expr -> expr +## 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 ## interactive_expr: LBRACE True SEMI WILD ## -## Ends in an error in state: 477. +## Ends in an error in state: 476. ## ## option(SEMI) -> SEMI . [ RBRACE ] ## sequence_or_record_in -> expr_with_let_expr SEMI . sep_or_term_list(expr_with_let_expr,SEMI) [ RBRACE ] @@ -1420,7 +1437,7 @@ interactive_expr: LBRACE True SEMI WILD interactive_expr: LBRACE True VBAR ## -## Ends in an error in state: 476. +## Ends in an error in state: 475. ## ## 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 ] @@ -1432,30 +1449,30 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 396, spurious reduction of production expr_with_let_expr -> expr +## 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 ## interactive_expr: LBRACE WILD ## -## Ends in an error in state: 91. +## Ends in an error in state: 92. ## -## sequence_or_record -> LBRACE . sequence_or_record_in RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## sequence_or_record -> LBRACE . sequence_or_record_in RBRACE [ 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 ] +## 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 GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: ## LBRACE @@ -1465,9 +1482,9 @@ interactive_expr: LBRACE WILD interactive_expr: LBRACKET True COMMA ELLIPSIS True VBAR ## -## Ends in an error in state: 495. +## Ends in an error in state: 494. ## -## list_or_spread -> LBRACKET expr COMMA ELLIPSIS expr . RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## LBRACKET expr COMMA ELLIPSIS expr @@ -1476,28 +1493,28 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: LBRACKET True COMMA ELLIPSIS WILD ## -## Ends in an error in state: 494. +## Ends in an error in state: 493. ## -## list_or_spread -> LBRACKET expr COMMA ELLIPSIS . expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## LBRACKET expr COMMA ELLIPSIS @@ -1507,7 +1524,7 @@ interactive_expr: LBRACKET True COMMA ELLIPSIS WILD interactive_expr: LBRACKET True COMMA True COMMA True COMMA WILD ## -## Ends in an error in state: 505. +## Ends in an error in state: 504. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## seq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1520,7 +1537,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: 504. +## Ends in an error in state: 503. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1533,26 +1550,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: LBRACKET True COMMA True COMMA WILD ## -## Ends in an error in state: 502. +## Ends in an error in state: 501. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## nseq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1565,7 +1582,7 @@ interactive_expr: LBRACKET True COMMA True COMMA WILD interactive_expr: LBRACKET True COMMA True VBAR ## -## Ends in an error in state: 501. +## Ends in an error in state: 500. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1578,29 +1595,29 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: LBRACKET True COMMA WILD ## -## Ends in an error in state: 493. +## Ends in an error in state: 492. ## -## list_or_spread -> LBRACKET expr COMMA . sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## list_or_spread -> LBRACKET expr COMMA . ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LBRACKET expr COMMA @@ -1610,10 +1627,10 @@ interactive_expr: LBRACKET True COMMA WILD interactive_expr: LBRACKET True VBAR ## -## Ends in an error in state: 492. +## Ends in an error in state: 491. ## -## list_or_spread -> LBRACKET expr . COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## list_or_spread -> LBRACKET expr . COMMA ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## option(expr) -> expr . [ RBRACKET ] ## ## The known suffix of the stack is as follows: @@ -1623,30 +1640,30 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: LBRACKET WILD ## -## Ends in an error in state: 89. +## Ends in an error in state: 90. ## -## list_or_spread -> LBRACKET . expr COMMA sep_or_term_list(expr,COMMA) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## list_or_spread -> LBRACKET . expr COMMA ELLIPSIS expr RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## list_or_spread -> LBRACKET . option(expr) RBRACKET [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## list_or_spread -> LBRACKET . option(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 ] ## ## The known suffix of the stack is as follows: ## LBRACKET @@ -1656,12 +1673,12 @@ interactive_expr: LBRACKET WILD interactive_expr: LPAR True COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 161. +## Ends in an error in state: 162. ## -## base_expr(expr) -> disj_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . es6_func [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -1670,20 +1687,20 @@ 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 129, spurious reduction of production option(type_expr_simple_args) -> -## In state 138, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) -## In state 145, spurious reduction of production type_annotation_simple -> COLON type_expr_simple -## In state 146, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple -## In state 147, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) +## 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) ## interactive_expr: LPAR True COMMA Bytes RPAR WILD ## -## Ends in an error in state: 126. +## Ends in an error in state: 127. ## -## disj_expr_level -> par(tuple(disj_expr_level)) . option(type_annotation_simple) [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## par(tuple(disj_expr_level)) @@ -1693,7 +1710,7 @@ interactive_expr: LPAR True COMMA Bytes RPAR WILD interactive_expr: LPAR True COMMA True COMMA WILD ## -## Ends in an error in state: 456. +## Ends in an error in state: 455. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1705,7 +1722,7 @@ interactive_expr: LPAR True COMMA True COMMA WILD interactive_expr: LPAR True COMMA True VBAR ## -## Ends in an error in state: 455. +## Ends in an error in state: 454. ## ## 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 ] @@ -1719,23 +1736,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## 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 ## interactive_expr: LPAR True COMMA WILD ## -## Ends in an error in state: 453. +## Ends in an error in state: 452. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1747,7 +1764,7 @@ interactive_expr: LPAR True COMMA WILD interactive_expr: LPAR True VBAR ## -## Ends in an error in state: 452. +## Ends in an error in state: 451. ## ## 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 ] @@ -1762,27 +1779,27 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## 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 ## interactive_expr: LPAR WILD ## -## Ends in an error in state: 92. +## Ends in an error in state: 93. ## -## par(expr) -> LPAR . expr RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## par(tuple(disj_expr_level)) -> LPAR . tuple(disj_expr_level) RPAR [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA COLON BOOL_OR ARROW ] -## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## par(expr) -> LPAR . expr RPAR [ 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 ] +## par(tuple(disj_expr_level)) -> LPAR . tuple(disj_expr_level) RPAR [ VBAR Type SEMI RPAR RBRACKET RBRACE Or Let EOF COMMA COLON BOOL_OR Attr ARROW ] +## unit -> LPAR . RPAR [ 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: ## LPAR @@ -1792,7 +1809,7 @@ interactive_expr: LPAR WILD interactive_expr: Let VBAR ## -## Ends in an error in state: 350. +## Ends in an error in state: 351. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1804,7 +1821,7 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI WILD ## -## 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 ] ## @@ -1816,7 +1833,7 @@ interactive_expr: Let WILD EQ Bytes SEMI WILD interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 392. +## Ends in an error in state: 393. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1827,29 +1844,29 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, 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 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 ## interactive_expr: MINUS WILD ## -## Ends in an error in state: 90. +## Ends in an error in state: 91. ## -## unary_expr_level -> MINUS . call_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## unary_expr_level -> MINUS . call_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 ] ## ## The known suffix of the stack is as follows: ## MINUS @@ -1859,9 +1876,9 @@ interactive_expr: MINUS WILD interactive_expr: NOT WILD ## -## Ends in an error in state: 88. +## Ends in an error in state: 89. ## -## unary_expr_level -> NOT . call_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## unary_expr_level -> NOT . call_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 ] ## ## The known suffix of the stack is as follows: ## NOT @@ -1871,10 +1888,10 @@ interactive_expr: NOT WILD interactive_expr: Switch Constr WILD ## -## Ends in an error in state: 110. +## Ends in an error in state: 111. ## -## module_field -> Constr . DOT Ident [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## projection -> Constr . DOT Ident selection [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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: ## Constr @@ -1884,7 +1901,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 243. +## Ends in an error in state: 244. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1896,7 +1913,7 @@ interactive_expr: Switch LBRACE WILD interactive_expr: Switch LBRACKET True SEMI True SEMI WILD ## -## Ends in an error in state: 241. +## Ends in an error in state: 242. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1909,7 +1926,7 @@ interactive_expr: Switch LBRACKET True SEMI True SEMI WILD interactive_expr: Switch LBRACKET True SEMI True VBAR ## -## Ends in an error in state: 240. +## Ends in an error in state: 241. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1922,26 +1939,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: Switch LBRACKET True SEMI WILD ## -## Ends in an error in state: 237. +## Ends in an error in state: 238. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1954,7 +1971,7 @@ interactive_expr: Switch LBRACKET True SEMI WILD interactive_expr: Switch LBRACKET True VBAR ## -## Ends in an error in state: 236. +## Ends in an error in state: 237. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1967,26 +1984,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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: Switch LBRACKET WILD ## -## Ends in an error in state: 230. +## Ends in an error in state: 231. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -1998,9 +2015,9 @@ interactive_expr: Switch LBRACKET WILD interactive_expr: Switch LPAR True VBAR ## -## Ends in an error in state: 450. +## Ends in an error in state: 449. ## -## par(expr) -> LPAR expr . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR expr @@ -2009,29 +2026,29 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: Switch LPAR WILD ## -## Ends in an error in state: 86. +## Ends in an error in state: 87. ## -## par(expr) -> LPAR . expr RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## unit -> LPAR . 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 ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -2041,7 +2058,7 @@ interactive_expr: Switch LPAR WILD interactive_expr: Switch True LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 332. +## Ends in an error in state: 333. ## ## 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 ] @@ -2054,7 +2071,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: 335. +## Ends in an error in state: 336. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -2066,7 +2083,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: 336. +## Ends in an error in state: 337. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -2078,7 +2095,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: 334. +## Ends in an error in state: 335. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2090,7 +2107,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: 333. +## Ends in an error in state: 334. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2105,7 +2122,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: 339. +## Ends in an error in state: 340. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2117,7 +2134,7 @@ interactive_expr: Switch True LBRACE VBAR LPAR Bytes RPAR WILD interactive_expr: Switch True LBRACE VBAR VBAR ## -## Ends in an error in state: 510. +## Ends in an error in state: 509. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2129,7 +2146,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: 523. +## Ends in an error in state: 522. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2141,7 +2158,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: 525. +## Ends in an error in state: 524. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2151,9 +2168,9 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Byte -interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW Bytes RPAR +interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW Bytes Type ## -## Ends in an error in state: 518. +## Ends in an error in state: 517. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2164,31 +2181,31 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True ARROW 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 212, spurious reduction of production es6_func -> ARROW expr -## In state 220, spurious reduction of production fun_expr -> disj_expr_level es6_func -## 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) +## 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) ## -interactive_expr: Switch True LBRACE VBAR WILD ARROW True RPAR +interactive_expr: Switch True LBRACE VBAR WILD ARROW True Type ## -## Ends in an error in state: 514. +## Ends in an error in state: 513. ## ## 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 ] @@ -2202,23 +2219,23 @@ interactive_expr: Switch True LBRACE VBAR WILD ARROW True 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level +## 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 ## interactive_expr: Switch True LBRACE VBAR WILD ARROW WILD ## -## Ends in an error in state: 512. +## Ends in an error in state: 511. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2230,7 +2247,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: 511. +## Ends in an error in state: 510. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2241,16 +2258,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 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 338, spurious reduction of production pattern -> tuple(sub_pattern) +## 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) ## interactive_expr: Switch True LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 325. +## Ends in an error in state: 326. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2262,7 +2279,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: 327. +## Ends in an error in state: 328. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2274,7 +2291,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: 326. +## Ends in an error in state: 327. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] @@ -2300,9 +2317,9 @@ interactive_expr: Switch True LBRACE VBAR WILD WILD interactive_expr: Switch True LBRACE WILD ## -## Ends in an error in state: 509. +## Ends in an error in state: 508. ## -## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Switch switch_expr_ LBRACE @@ -2312,9 +2329,9 @@ interactive_expr: Switch True LBRACE WILD interactive_expr: Switch True WILD ## -## Ends in an error in state: 508. +## Ends in an error in state: 507. ## -## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Switch switch_expr_ @@ -2324,9 +2341,9 @@ interactive_expr: Switch True WILD interactive_expr: Switch WILD ## -## Ends in an error in state: 82. +## Ends in an error in state: 83. ## -## switch_expr(base_cond) -> Switch . switch_expr_ LBRACE cases(base_cond) RBRACE [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## switch_expr(base_cond) -> Switch . switch_expr_ LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Switch @@ -2336,9 +2353,9 @@ interactive_expr: Switch WILD interactive_expr: True ARROW WILD ## -## Ends in an error in state: 211. +## Ends in an error in state: 212. ## -## es6_func -> ARROW . expr [ VBAR SEMI RPAR RBRACKET RBRACE EOF COMMA ] +## es6_func -> ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## ARROW @@ -2348,9 +2365,9 @@ interactive_expr: True ARROW WILD interactive_expr: True BOOL_AND WILD ## -## Ends in an error in state: 165. +## Ends in an error in state: 166. ## -## bin_op(conj_expr_level,BOOL_AND,comp_expr_level) -> conj_expr_level BOOL_AND . comp_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## conj_expr_level BOOL_AND @@ -2360,9 +2377,9 @@ interactive_expr: True BOOL_AND WILD interactive_expr: True BOOL_OR WILD ## -## Ends in an error in state: 209. +## Ends in an error in state: 210. ## -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level BOOL_OR . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## disj_expr_level BOOL_OR @@ -2372,9 +2389,9 @@ interactive_expr: True BOOL_OR WILD interactive_expr: True CAT WILD ## -## Ends in an error in state: 188. +## Ends in an error in state: 189. ## -## bin_op(add_expr_level,CAT,cat_expr_level) -> add_expr_level CAT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## add_expr_level CAT @@ -2384,7 +2401,7 @@ interactive_expr: True CAT WILD interactive_expr: True COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 131. +## Ends in an error in state: 132. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2396,17 +2413,17 @@ 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 129, spurious reduction of production option(type_expr_simple_args) -> -## In state 138, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## 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) ## interactive_expr: True COLON Ident LPAR WILD ## -## Ends in an error in state: 130. +## Ends in an error in state: 131. ## -## par(nsepseq(type_expr_simple,COMMA)) -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -2416,9 +2433,9 @@ interactive_expr: True COLON Ident LPAR WILD interactive_expr: True COLON Ident WILD ## -## Ends in an error in state: 129. +## Ends in an error in state: 130. ## -## type_expr_simple -> Ident . option(type_expr_simple_args) [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## Ident @@ -2428,9 +2445,9 @@ interactive_expr: True COLON Ident WILD interactive_expr: True COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 141. +## Ends in an error in state: 142. ## -## type_expr_simple -> LPAR type_expr_simple ARROW type_expr_simple . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## LPAR type_expr_simple ARROW type_expr_simple @@ -2439,17 +2456,17 @@ 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 129, spurious reduction of production option(type_expr_simple_args) -> -## In state 138, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## 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) ## interactive_expr: True COLON LPAR Ident ARROW WILD ## -## Ends in an error in state: 140. +## Ends in an error in state: 141. ## -## type_expr_simple -> LPAR type_expr_simple ARROW . type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## LPAR type_expr_simple ARROW @@ -2459,7 +2476,7 @@ interactive_expr: True COLON LPAR Ident ARROW WILD interactive_expr: True COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 132. +## Ends in an error in state: 133. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2471,12 +2488,12 @@ interactive_expr: True COLON LPAR Ident COMMA WILD interactive_expr: True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 148. +## Ends in an error in state: 149. ## -## add_expr_level -> mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level . SLASH unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level . TIMES unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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 ] +## 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 ] ## ## The known suffix of the stack is as follows: ## mult_expr_level @@ -2486,11 +2503,11 @@ interactive_expr: True COLON LPAR Ident RPAR WILD interactive_expr: True COLON LPAR Ident VBAR ## -## Ends in an error in state: 139. +## Ends in an error in state: 140. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] -## type_expr_simple -> LPAR type_expr_simple . ARROW type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## LPAR type_expr_simple @@ -2499,18 +2516,18 @@ 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 129, spurious reduction of production option(type_expr_simple_args) -> -## In state 138, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## 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) ## interactive_expr: True COLON LPAR WILD ## -## Ends in an error in state: 128. +## Ends in an error in state: 129. ## -## type_expr_simple -> LPAR . nsepseq(type_expr_simple,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## type_expr_simple -> LPAR . type_expr_simple ARROW type_expr_simple RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -2520,9 +2537,9 @@ interactive_expr: True COLON LPAR WILD interactive_expr: True COLON WILD ## -## Ends in an error in state: 127. +## Ends in an error in state: 128. ## -## type_annotation_simple -> COLON . type_expr_simple [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## COLON @@ -2532,9 +2549,9 @@ interactive_expr: True COLON WILD interactive_expr: True EQEQ WILD ## -## Ends in an error in state: 198. +## Ends in an error in state: 199. ## -## bin_op(comp_expr_level,EQEQ,cat_expr_level) -> comp_expr_level EQEQ . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level EQEQ @@ -2544,9 +2561,9 @@ interactive_expr: True EQEQ WILD interactive_expr: True GE WILD ## -## Ends in an error in state: 196. +## Ends in an error in state: 197. ## -## bin_op(comp_expr_level,GE,cat_expr_level) -> comp_expr_level GE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level GE @@ -2556,9 +2573,9 @@ interactive_expr: True GE WILD interactive_expr: True GT WILD ## -## Ends in an error in state: 194. +## Ends in an error in state: 195. ## -## bin_op(comp_expr_level,GT,cat_expr_level) -> comp_expr_level GT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level GT @@ -2568,9 +2585,9 @@ interactive_expr: True GT WILD interactive_expr: True LE WILD ## -## Ends in an error in state: 192. +## Ends in an error in state: 193. ## -## bin_op(comp_expr_level,LE,cat_expr_level) -> comp_expr_level LE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level LE @@ -2580,7 +2597,7 @@ interactive_expr: True LE WILD interactive_expr: True LPAR True COMMA WILD ## -## Ends in an error in state: 159. +## Ends in an error in state: 160. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2592,7 +2609,7 @@ interactive_expr: True LPAR True COMMA WILD interactive_expr: True LPAR True VBAR ## -## Ends in an error in state: 158. +## Ends in an error in state: 159. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2604,29 +2621,29 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) +## 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) ## interactive_expr: True LPAR WILD ## -## Ends in an error in state: 152. +## Ends in an error in state: 153. ## -## call_expr -> core_expr LPAR . nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## unit -> LPAR . RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## core_expr LPAR @@ -2636,9 +2653,9 @@ interactive_expr: True LPAR WILD interactive_expr: True LT WILD ## -## Ends in an error in state: 190. +## Ends in an error in state: 191. ## -## bin_op(comp_expr_level,LT,cat_expr_level) -> comp_expr_level LT . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level LT @@ -2648,12 +2665,12 @@ interactive_expr: True LT WILD interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 187. +## Ends in an error in state: 188. ## -## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level . SLASH unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level . TIMES unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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 ] +## 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 ] ## ## The known suffix of the stack is as follows: ## add_expr_level MINUS mult_expr_level @@ -2663,9 +2680,9 @@ interactive_expr: True MINUS True COLON LPAR Ident RPAR WILD interactive_expr: True MINUS WILD ## -## Ends in an error in state: 186. +## Ends in an error in state: 187. ## -## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## add_expr_level MINUS @@ -2675,9 +2692,9 @@ interactive_expr: True MINUS WILD interactive_expr: True Mod WILD ## -## Ends in an error in state: 184. +## Ends in an error in state: 185. ## -## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level Mod . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND 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 ] ## ## The known suffix of the stack is as follows: ## mult_expr_level Mod @@ -2687,9 +2704,9 @@ interactive_expr: True Mod WILD interactive_expr: True NE WILD ## -## Ends in an error in state: 167. +## Ends in an error in state: 168. ## -## bin_op(comp_expr_level,NE,cat_expr_level) -> comp_expr_level NE . cat_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or NE LT LE GT GE EQEQ EOF COMMA BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## comp_expr_level NE @@ -2699,9 +2716,9 @@ interactive_expr: True NE WILD interactive_expr: True Or WILD ## -## Ends in an error in state: 162. +## Ends in an error in state: 163. ## -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level Or . conj_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE Or EOF COMMA BOOL_OR 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 ] ## ## The known suffix of the stack is as follows: ## disj_expr_level Or @@ -2711,12 +2728,12 @@ interactive_expr: True Or WILD interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 181. +## Ends in an error in state: 182. ## -## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS mult_expr_level . [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level . SLASH unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] -## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level . TIMES unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## 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 ] +## 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 ] ## ## The known suffix of the stack is as follows: ## add_expr_level PLUS mult_expr_level @@ -2726,9 +2743,9 @@ interactive_expr: True PLUS True COLON LPAR Ident RPAR WILD interactive_expr: True PLUS WILD ## -## Ends in an error in state: 180. +## Ends in an error in state: 181. ## -## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS . mult_expr_level [ VBAR SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## add_expr_level PLUS @@ -2738,9 +2755,9 @@ interactive_expr: True PLUS WILD interactive_expr: True SLASH WILD ## -## Ends in an error in state: 182. +## Ends in an error in state: 183. ## -## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level SLASH . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## mult_expr_level SLASH @@ -2750,9 +2767,9 @@ interactive_expr: True SLASH WILD interactive_expr: True TIMES WILD ## -## Ends in an error in state: 149. +## Ends in an error in state: 150. ## -## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level TIMES . unary_expr_level [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] ## ## The known suffix of the stack is as follows: ## mult_expr_level TIMES @@ -2762,7 +2779,7 @@ interactive_expr: True TIMES WILD interactive_expr: True VBAR ## -## Ends in an error in state: 538. +## Ends in an error in state: 537. ## ## interactive_expr -> expr_with_let_expr . EOF [ # ] ## @@ -2773,31 +2790,31 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, spurious reduction of production expr -> base_cond__open(expr) -## In state 396, spurious reduction of production expr_with_let_expr -> expr +## 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 ## interactive_expr: True WILD ## -## Ends in an error in state: 151. +## Ends in an error in state: 152. ## -## call_expr -> core_expr . LPAR nsepseq(expr,COMMA) RPAR [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## call_expr -> core_expr . unit [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] -## call_expr_level_in -> core_expr . [ VBAR TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND ARROW ] +## 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 ] +## call_expr_level_in -> 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 ] ## ## The known suffix of the stack is as follows: ## core_expr @@ -2807,7 +2824,7 @@ interactive_expr: True WILD interactive_expr: WILD ## -## Ends in an error in state: 536. +## Ends in an error in state: 535. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2829,11 +2846,11 @@ contract: Attr WILD -contract: Let Ident COLON Constr SEMI +contract: Let Ident COLON Constr Type ## -## Ends in an error in state: 372. +## Ends in an error in state: 373. ## -## let_binding -> Ident option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> Ident option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## Ident option(type_annotation) @@ -2846,17 +2863,17 @@ contract: Let Ident COLON Constr SEMI ## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let Ident EQ WILD ## -## Ends in an error in state: 373. +## Ends in an error in state: 374. ## -## let_binding -> Ident option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> Ident option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## Ident option(type_annotation) EQ @@ -2871,9 +2888,9 @@ let func = (a: int, b: int) => a + b; contract: Let Ident WILD ## -## Ends in an error in state: 371. +## Ends in an error in state: 372. ## -## let_binding -> Ident . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> Ident . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> Ident . [ COMMA ] ## ## The known suffix of the stack is as follows: @@ -2884,7 +2901,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 308. +## Ends in an error in state: 309. ## ## 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 ] @@ -2897,7 +2914,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: 307. +## Ends in an error in state: 308. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2911,7 +2928,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: 304. +## Ends in an error in state: 305. ## ## 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 ] @@ -2922,11 +2939,11 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD -contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr SEMI +contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr Type ## -## Ends in an error in state: 385. +## Ends in an error in state: 386. ## -## let_binding -> record_pattern option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> record_pattern option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## record_pattern option(type_annotation) @@ -2939,17 +2956,17 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr SEMI ## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD ## -## Ends in an error in state: 386. +## Ends in an error in state: 387. ## -## let_binding -> record_pattern option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> record_pattern option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## record_pattern option(type_annotation) EQ @@ -2959,9 +2976,9 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ WILD contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 384. +## Ends in an error in state: 385. ## -## let_binding -> record_pattern . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> record_pattern . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> record_pattern . [ COMMA ] ## ## The known suffix of the stack is as follows: @@ -2972,7 +2989,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 303. +## Ends in an error in state: 304. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2986,7 +3003,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 281. +## Ends in an error in state: 282. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -2998,7 +3015,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 280. +## Ends in an error in state: 281. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -3010,7 +3027,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 279. +## Ends in an error in state: 280. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -3022,7 +3039,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 286. +## Ends in an error in state: 287. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3034,7 +3051,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 278. +## Ends in an error in state: 279. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3046,7 +3063,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 311. +## Ends in an error in state: 312. ## ## 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 ] @@ -3059,7 +3076,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: 313. +## Ends in an error in state: 314. ## ## 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 ] @@ -3072,7 +3089,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: 312. +## Ends in an error in state: 313. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3086,7 +3103,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 310. +## Ends in an error in state: 311. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3100,7 +3117,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 277. +## Ends in an error in state: 278. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3114,7 +3131,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 330. +## Ends in an error in state: 331. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3125,16 +3142,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 326, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 329, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 322, spurious reduction of production ptuple -> tuple(sub_pattern) +## 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) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 323. +## Ends in an error in state: 324. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -3147,7 +3164,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 369. +## Ends in an error in state: 370. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -3158,15 +3175,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 285, spurious reduction of production constr_pattern -> Constr -## In state 368, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 286, spurious reduction of production constr_pattern -> Constr +## In state 369, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 285. +## Ends in an error in state: 286. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3177,11 +3194,11 @@ contract: Let LPAR Constr VBAR -contract: Let LPAR RPAR COLON Constr SEMI +contract: Let LPAR RPAR COLON Constr Type ## -## Ends in an error in state: 376. +## Ends in an error in state: 377. ## -## let_binding -> unit option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> unit option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## unit option(type_annotation) @@ -3194,17 +3211,17 @@ contract: Let LPAR RPAR COLON Constr SEMI ## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LPAR RPAR EQ WILD ## -## Ends in an error in state: 377. +## Ends in an error in state: 378. ## -## let_binding -> unit option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> unit option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## unit option(type_annotation) EQ @@ -3214,9 +3231,9 @@ contract: Let LPAR RPAR EQ WILD contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 375. +## Ends in an error in state: 376. ## -## let_binding -> unit . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> unit . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> unit . [ COMMA ] ## ## The known suffix of the stack is as follows: @@ -3227,7 +3244,7 @@ contract: Let LPAR RPAR WILD contract: Let LPAR VBAR ## -## Ends in an error in state: 351. +## Ends in an error in state: 352. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3240,7 +3257,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 366. +## Ends in an error in state: 367. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3252,7 +3269,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 365. +## Ends in an error in state: 366. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3264,18 +3281,18 @@ 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 359, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 364, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) -## In state 356, spurious reduction of production irrefutable -> tuple(sub_irrefutable) +## 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) ## -contract: Let LPAR WILD RPAR COLON Constr SEMI +contract: Let LPAR WILD RPAR COLON Constr Type ## -## Ends in an error in state: 389. +## Ends in an error in state: 390. ## -## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## par(closed_irrefutable) option(type_annotation) @@ -3288,17 +3305,17 @@ contract: Let LPAR WILD RPAR COLON Constr SEMI ## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let LPAR WILD RPAR EQ WILD ## -## Ends in an error in state: 390. +## Ends in an error in state: 391. ## -## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## par(closed_irrefutable) option(type_annotation) EQ @@ -3308,9 +3325,9 @@ contract: Let LPAR WILD RPAR EQ WILD contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 388. +## Ends in an error in state: 389. ## -## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] ## ## The known suffix of the stack is as follows: @@ -3321,7 +3338,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 357. +## Ends in an error in state: 358. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3334,9 +3351,9 @@ contract: Let LPAR WILD WILD contract: Let VBAR ## -## Ends in an error in state: 74. +## Ends in an error in state: 75. ## -## let_declaration -> seq(Attr) Let . let_binding [ SEMI ] +## let_declaration -> seq(Attr) Let . let_binding [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## seq(Attr) Let @@ -3344,11 +3361,11 @@ contract: Let VBAR -contract: Let WILD COLON Ident SEMI +contract: Let WILD COLON Ident Type ## -## Ends in an error in state: 79. +## Ends in an error in state: 80. ## -## let_binding -> WILD option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> WILD option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## WILD option(type_annotation) @@ -3360,15 +3377,15 @@ contract: Let WILD COLON Ident SEMI ## 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let WILD COLON WILD ## -## Ends in an error in state: 76. +## Ends in an error in state: 77. ## ## type_annotation -> COLON . type_expr [ EQ ] ## @@ -3378,11 +3395,11 @@ contract: Let WILD COLON WILD -contract: Let WILD COMMA Ident COLON Constr SEMI +contract: Let WILD COMMA Ident COLON Constr Type ## -## Ends in an error in state: 380. +## Ends in an error in state: 381. ## -## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ SEMI ] +## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## tuple(sub_irrefutable) option(type_annotation) @@ -3395,17 +3412,17 @@ contract: Let WILD COMMA Ident COLON Constr SEMI ## In state 41, 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 77, spurious reduction of production type_annotation -> COLON type_expr -## In state 78, spurious reduction of production option(type_annotation) -> type_annotation +## In state 78, spurious reduction of production type_annotation -> COLON type_expr +## In state 79, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let WILD COMMA Ident EQ WILD ## -## Ends in an error in state: 381. +## Ends in an error in state: 382. ## -## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## tuple(sub_irrefutable) option(type_annotation) EQ @@ -3415,9 +3432,9 @@ contract: Let WILD COMMA Ident EQ WILD contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 379. +## Ends in an error in state: 380. ## -## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## tuple(sub_irrefutable) @@ -3426,15 +3443,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 359, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 364, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## 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) ## contract: Let WILD COMMA VBAR ## -## Ends in an error in state: 358. +## Ends in an error in state: 359. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3446,7 +3463,7 @@ contract: Let WILD COMMA VBAR contract: Let WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 360. +## Ends in an error in state: 361. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3458,7 +3475,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 359. +## Ends in an error in state: 360. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3471,9 +3488,9 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 529. +## Ends in an error in state: 528. ## -## declaration -> let_declaration . SEMI [ Type Let EOF Attr ] +## declaration -> let_declaration . option(SEMI) [ Type Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## let_declaration @@ -3482,30 +3499,30 @@ 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 151, spurious reduction of production call_expr_level_in -> core_expr -## In state 169, spurious reduction of production option(type_annotation_simple) -> -## In state 170, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 171, spurious reduction of production unary_expr_level -> call_expr_level -## In state 124, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 148, spurious reduction of production add_expr_level -> mult_expr_level -## In state 179, spurious reduction of production cat_expr_level -> add_expr_level -## In state 200, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 207, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 214, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 161, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 218, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 219, 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 +## 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 ## contract: Let WILD EQ WILD ## -## Ends in an error in state: 80. +## Ends in an error in state: 81. ## -## let_binding -> WILD option(type_annotation) EQ . expr [ SEMI ] +## let_binding -> WILD option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## WILD option(type_annotation) EQ @@ -3515,9 +3532,9 @@ contract: Let WILD EQ WILD contract: Let WILD WILD ## -## Ends in an error in state: 75. +## Ends in an error in state: 76. ## -## let_binding -> WILD . option(type_annotation) EQ expr [ SEMI ] +## let_binding -> WILD . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> WILD . [ COMMA ] ## ## The known suffix of the stack is as follows: @@ -3530,7 +3547,7 @@ contract: Type Ident EQ Constr DOT WILD ## ## Ends in an error in state: 12. ## -## core_type -> Constr DOT . Ident [ SEMI RPAR RBRACE EQ COMMA ] +## core_type -> Constr DOT . Ident [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr DOT @@ -3542,8 +3559,8 @@ contract: Type Ident EQ Constr LPAR Ident RPAR WILD ## ## Ends in an error in state: 41. ## -## nsepseq(variant,VBAR) -> variant . [ SEMI RPAR RBRACE EQ COMMA ] -## nsepseq(variant,VBAR) -> variant . VBAR nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## variant @@ -3551,11 +3568,11 @@ contract: Type Ident EQ Constr LPAR Ident RPAR WILD -contract: Type Ident EQ Constr LPAR Ident SEMI +contract: Type Ident EQ Constr LPAR Ident Type ## ## Ends in an error in state: 39. ## -## variant -> Constr LPAR cartesian . RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## variant -> Constr LPAR cartesian . RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr LPAR cartesian @@ -3574,7 +3591,7 @@ contract: Type Ident EQ Constr LPAR WILD ## ## Ends in an error in state: 6. ## -## variant -> Constr LPAR . cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## variant -> Constr LPAR . cartesian RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr LPAR @@ -3586,7 +3603,7 @@ contract: Type Ident EQ Constr RPAR ## ## Ends in an error in state: 71. ## -## declaration -> type_decl . SEMI [ Type Let EOF Attr ] +## declaration -> type_decl . option(SEMI) [ Type Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## type_decl @@ -3606,7 +3623,7 @@ contract: Type Ident EQ Constr RPAR contract: Type Ident EQ Constr SEMI WILD ## -## Ends in an error in state: 533. +## Ends in an error in state: 532. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -3621,7 +3638,7 @@ contract: Type Ident EQ Constr VBAR WILD ## ## Ends in an error in state: 42. ## -## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] +## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## variant VBAR @@ -3633,9 +3650,9 @@ contract: Type Ident EQ Constr WILD ## ## Ends in an error in state: 48. ## -## core_type -> Constr . DOT Ident [ SEMI RPAR RBRACE EQ COMMA ] -## variant -> Constr . [ VBAR SEMI RPAR RBRACE EQ COMMA ] -## variant -> Constr . LPAR cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## Constr @@ -3647,7 +3664,7 @@ contract: Type Ident EQ Ident ARROW WILD ## ## Ends in an error in state: 25. ## -## type_expr_func -> ARROW . cartesian [ SEMI RPAR EQ COMMA ] +## type_expr_func -> ARROW . cartesian [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## ARROW @@ -3699,7 +3716,7 @@ contract: Type Ident EQ Ident LPAR Ident WILD -contract: Type Ident EQ Ident LPAR LPAR Ident SEMI +contract: Type Ident EQ Ident LPAR LPAR Ident Type ## ## Ends in an error in state: 16. ## @@ -3734,7 +3751,7 @@ contract: Type Ident EQ Ident LPAR WILD ## ## Ends in an error in state: 9. ## -## par(__anonymous_1) -> LPAR . nsepseq(core_type,COMMA) RPAR [ SEMI RPAR RBRACE EQ COMMA ] +## par(__anonymous_1) -> LPAR . nsepseq(core_type,COMMA) RPAR [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -3746,9 +3763,9 @@ contract: Type Ident EQ Ident WILD ## ## Ends in an error in state: 8. ## -## cartesian -> Ident . type_expr_func [ SEMI RPAR EQ COMMA ] -## core_type -> Ident . [ SEMI RPAR EQ COMMA ] -## core_type -> Ident . par(__anonymous_1) [ SEMI RPAR EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## Ident @@ -3756,7 +3773,7 @@ contract: Type Ident EQ Ident WILD -contract: Type Ident EQ LBRACE Ident COLON Constr SEMI +contract: Type Ident EQ LBRACE Ident COLON Constr Type ## ## Ends in an error in state: 58. ## @@ -3792,7 +3809,7 @@ contract: Type Ident EQ LBRACE Ident COLON WILD -contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr SEMI +contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr Type ## ## Ends in an error in state: 62. ## @@ -3859,7 +3876,7 @@ contract: Type Ident EQ LBRACE WILD ## ## Ends in an error in state: 45. ## -## record_type -> LBRACE . sep_or_term_list(field_decl,COMMA) RBRACE [ SEMI RPAR RBRACE EQ COMMA ] +## record_type -> LBRACE . sep_or_term_list(field_decl,COMMA) RBRACE [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LBRACE @@ -3871,7 +3888,7 @@ contract: Type Ident EQ LPAR Constr WILD ## ## Ends in an error in state: 11. ## -## core_type -> Constr . DOT Ident [ SEMI RPAR EQ COMMA ] +## core_type -> Constr . DOT Ident [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr @@ -3895,7 +3912,7 @@ contract: Type Ident EQ LPAR Ident COMMA Ident RPAR WILD ## ## Ends in an error in state: 33. ## -## cartesian -> LPAR cartesian COMMA nsepseq(cartesian,COMMA) RPAR . option(type_expr_func) [ SEMI RPAR EQ COMMA ] +## cartesian -> LPAR cartesian COMMA nsepseq(cartesian,COMMA) RPAR . option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LPAR cartesian COMMA nsepseq(cartesian,COMMA) RPAR @@ -3903,7 +3920,7 @@ contract: Type Ident EQ LPAR Ident COMMA Ident RPAR WILD -contract: Type Ident EQ LPAR Ident COMMA Ident SEMI +contract: Type Ident EQ LPAR Ident COMMA Ident Type ## ## Ends in an error in state: 36. ## @@ -3927,7 +3944,7 @@ contract: Type Ident EQ LPAR Ident COMMA WILD ## ## Ends in an error in state: 31. ## -## cartesian -> LPAR cartesian COMMA . nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ SEMI RPAR EQ COMMA ] +## cartesian -> LPAR cartesian COMMA . nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## LPAR cartesian COMMA @@ -3939,8 +3956,8 @@ contract: Type Ident EQ LPAR Ident RPAR WILD ## ## Ends in an error in state: 29. ## -## cartesian -> LPAR cartesian RPAR . type_expr_func [ SEMI RPAR EQ COMMA ] -## par(cartesian) -> LPAR cartesian RPAR . [ SEMI RPAR EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR cartesian RPAR @@ -3948,13 +3965,13 @@ contract: Type Ident EQ LPAR Ident RPAR WILD -contract: Type Ident EQ LPAR Ident SEMI +contract: Type Ident EQ LPAR Ident Type ## ## Ends in an error in state: 28. ## -## cartesian -> LPAR cartesian . RPAR type_expr_func [ SEMI RPAR EQ COMMA ] -## cartesian -> LPAR cartesian . COMMA nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ SEMI RPAR EQ COMMA ] -## par(cartesian) -> LPAR cartesian . RPAR [ SEMI RPAR EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR cartesian @@ -3973,9 +3990,9 @@ contract: Type Ident EQ LPAR WILD ## ## Ends in an error in state: 7. ## -## cartesian -> LPAR . cartesian RPAR type_expr_func [ SEMI RPAR EQ COMMA ] -## cartesian -> LPAR . cartesian COMMA nsepseq(cartesian,COMMA) RPAR option(type_expr_func) [ SEMI RPAR EQ COMMA ] -## par(cartesian) -> LPAR . cartesian RPAR [ SEMI RPAR EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## LPAR @@ -3987,8 +4004,8 @@ contract: Type Ident EQ VBAR Constr WILD ## ## Ends in an error in state: 5. ## -## variant -> Constr . [ VBAR SEMI RPAR RBRACE EQ COMMA ] -## variant -> Constr . LPAR cartesian RPAR [ VBAR SEMI RPAR RBRACE EQ COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: ## Constr @@ -4000,7 +4017,7 @@ contract: Type Ident EQ VBAR WILD ## ## Ends in an error in state: 4. ## -## sum_type -> VBAR . nsepseq(variant,VBAR) [ SEMI RPAR RBRACE EQ COMMA ] +## sum_type -> VBAR . nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## VBAR @@ -4012,7 +4029,7 @@ contract: Type Ident EQ WILD ## ## Ends in an error in state: 3. ## -## type_decl -> Type Ident EQ . type_expr [ SEMI ] +## type_decl -> Type Ident EQ . type_expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## Type Ident EQ @@ -4024,7 +4041,7 @@ contract: Type Ident WILD ## ## Ends in an error in state: 2. ## -## type_decl -> Type Ident . EQ type_expr [ SEMI ] +## type_decl -> Type Ident . EQ type_expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## Type Ident @@ -4036,7 +4053,7 @@ contract: Type WILD ## ## Ends in an error in state: 1. ## -## type_decl -> Type . Ident EQ type_expr [ SEMI ] +## type_decl -> Type . Ident EQ type_expr [ Type SEMI Let EOF Attr ] ## ## The known suffix of the stack is as follows: ## Type diff --git a/src/test/contracts/no_semicolon.religo b/src/test/contracts/no_semicolon.religo new file mode 100644 index 000000000..633053d61 --- /dev/null +++ b/src/test/contracts/no_semicolon.religo @@ -0,0 +1,13 @@ +type f = int + +let a = (b: f) => { + if (b == 2) { + 3 + } else { + 4 + } +} + +let c = (c: f) => { + 3 +} \ No newline at end of file diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 720f03b0f..97e09d2c2 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -2178,6 +2178,15 @@ let tuple_type_religo () : unit result = in ok () +let no_semicolon_religo () : unit result = + let%bind program = retype_file "./contracts/no_semicolon.religo" in + let%bind () = + let input _ = e_int 2 in + let expected _ = e_int 3 in + expect_eq_n program "a" input expected + in + ok () + let main = test_suite "Integration (End to End)" [ test "bytes unpack" bytes_unpack ; test "bytes unpack (mligo)" bytes_unpack_mligo ; @@ -2342,4 +2351,5 @@ let main = test_suite "Integration (End to End)" [ test "empty case (religo)" empty_case_religo ; test "tuple type (mligo)" tuple_type_mligo ; test "tuple type (religo)" tuple_type_religo ; + test "no semicolon (religo)" no_semicolon_religo ; ] From 795f0d40568e1db1ee5f0ee335e3fd63a58fcee9 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 4 Feb 2020 13:31:41 +0100 Subject: [PATCH 11/14] ReasonLIGO: missing ')' error message. --- src/bin/expect_tests/error_messages_tests.ml | 16 ++++++++++++++++ .../reasonligo/error.messages.checked-in | 2 +- src/test/contracts/negative/missing_rpar.religo | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/test/contracts/negative/missing_rpar.religo diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index cf800a6ac..190afda5d 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -21,3 +21,19 @@ let%expect_test _ = * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new * Check the changelog by running 'ligo changelog' |} ] ; +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 `)`. + {} + + + If you're not sure how to fix this error, you can + do one of the following: + + * Visit our documentation: https://ligolang.org/docs/intro/what-and-why/ + * Ask a question on our Discord: https://discord.gg/9rhYaEt + * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new + * Check the changelog by running 'ligo changelog' |} ] ; + diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index 06d8635c9..43720b2f3 100644 --- a/src/passes/1-parser/reasonligo/error.messages.checked-in +++ b/src/passes/1-parser/reasonligo/error.messages.checked-in @@ -2619,7 +2619,7 @@ interactive_expr: True LPAR True VBAR ## In state 219, spurious reduction of production expr -> base_cond__open(expr) ## - +Missing `)`. interactive_expr: True LPAR WILD ## diff --git a/src/test/contracts/negative/missing_rpar.religo b/src/test/contracts/negative/missing_rpar.religo new file mode 100644 index 000000000..452c0ad1c --- /dev/null +++ b/src/test/contracts/negative/missing_rpar.religo @@ -0,0 +1,5 @@ +type foo = big_map(int, int); + +let test_case = (n: int, m: foo): foo => Big_map.update(23, Some(n), m + +let z = 4; \ No newline at end of file From 4195026d73d20539feaf19b8054abacec68f579f Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Wulfman Date: Tue, 28 Jan 2020 13:44:33 +0100 Subject: [PATCH 12/14] add get_contract_opt and get_entrypoint_opt to ligo --- src/passes/8-compiler/compiler_program.ml | 20 ++++++++++++ src/passes/operators/operators.ml | 37 +++++++++++++++++++++++ src/stages/common/PP.ml | 2 ++ src/stages/common/types.ml | 2 ++ src/test/contracts/entrypoints.ligo | 11 +++++++ 5 files changed, 72 insertions(+) diff --git a/src/passes/8-compiler/compiler_program.ml b/src/passes/8-compiler/compiler_program.ml index c1f7cc5b6..e4e91f921 100644 --- a/src/passes/8-compiler/compiler_program.ml +++ b/src/passes/8-compiler/compiler_program.ml @@ -80,6 +80,12 @@ let get_operator : constant -> type_value -> expression list -> predicate result prim ~children:[r_ty] I_CONTRACT ; i_assert_some_msg (i_push_string "bad address for get_contract") ; ] + | C_CONTRACT_OPT -> + let%bind tc = get_t_option ty in + let%bind r = get_t_contract tc in + let%bind r_ty = Compiler_type.type_ r in + ok @@ simple_unary @@ prim ~children:[r_ty] I_CONTRACT ; + | C_CONTRACT_ENTRYPOINT -> let%bind r = get_t_contract ty in let%bind r_ty = Compiler_type.type_ r in @@ -94,6 +100,20 @@ let get_operator : constant -> type_value -> expression list -> predicate result prim ~annot:[entry] ~children:[r_ty] I_CONTRACT ; i_assert_some_msg (i_push_string @@ Format.sprintf "bad address for get_entrypoint (%s)" entry) ; ] + | C_CONTRACT_ENTRYPOINT_OPT -> + let%bind tc = get_t_option ty in + let%bind r = get_t_contract tc in + let%bind r_ty = Compiler_type.type_ r in + let%bind entry = match lst with + | [ { content = E_literal (D_string entry); type_value = _ } ; _addr ] -> ok entry + | [ _entry ; _addr ] -> + fail @@ contract_entrypoint_must_be_literal ~loc:__LOC__ + | _ -> + fail @@ corner_case ~loc:__LOC__ "mini_c . CONTRACT_ENTRYPOINT" in + ok @@ simple_binary @@ seq [ + i_drop ; (* drop the entrypoint... *) + prim ~annot:[entry] ~children:[r_ty] I_CONTRACT ; + ] | x -> simple_fail (Format.asprintf "predicate \"%a\" doesn't exist" Stage_common.PP.constant x) ) diff --git a/src/passes/operators/operators.ml b/src/passes/operators/operators.ml index 3c2c91910..49f693030 100644 --- a/src/passes/operators/operators.ml +++ b/src/passes/operators/operators.ml @@ -70,7 +70,9 @@ module Simplify = struct | "get_chain_id" -> ok C_CHAIN_ID | "transaction" -> ok C_CALL | "get_contract" -> ok C_CONTRACT + | "get_contract_opt"-> ok C_CONTRACT_OPT | "get_entrypoint" -> ok C_CONTRACT_ENTRYPOINT + | "get_entrypoint_opt" -> ok C_CONTRACT_ENTRYPOINT_OPT | "size" -> ok C_SIZE | "int" -> ok C_INT | "abs" -> ok C_ABS @@ -228,7 +230,9 @@ module Simplify = struct | "Operation.transaction" -> ok C_CALL | "Operation.set_delegate" -> ok C_SET_DELEGATE | "Operation.get_contract" -> ok C_CONTRACT + | "Operation.get_contract_opt" -> ok C_CONTRACT_OPT | "Operation.get_entrypoint" -> ok C_CONTRACT_ENTRYPOINT + | "Operation.get_entrypoint_opt" -> ok C_CONTRACT_ENTRYPOINT_OPT | "int" -> ok C_INT | "abs" -> ok C_ABS | "unit" -> ok C_UNIT @@ -657,6 +661,20 @@ module Typer = struct get_t_contract tv in ok @@ t_contract tv' () + let get_contract_opt = typer_1_opt "CONTRACT OPT" @@ fun addr_tv tv_opt -> + if not (type_value_eq (addr_tv, t_address ())) + then fail @@ simple_error (Format.asprintf "get_contract_opt expects an address, got %a" PP.type_value addr_tv) + else + let%bind tv = + trace_option (simple_error "get_contract_opt needs a type annotation") tv_opt in + let%bind tv = + trace_strong (simple_error "get_entrypoint_opt has a not-option annotation") @@ + get_t_option tv in + let%bind tv' = + trace_strong (simple_error "get_entrypoint_opt has a not-option(contract) annotation") @@ + get_t_contract tv in + ok @@ t_option (t_contract tv' ()) () + let get_entrypoint = typer_2_opt "CONTRACT_ENTRYPOINT" @@ fun entry_tv addr_tv tv_opt -> if not (type_value_eq (entry_tv, t_string ())) then fail @@ simple_error (Format.asprintf "get_entrypoint expects a string entrypoint label for first argument, got %a" PP.type_value entry_tv) @@ -671,6 +689,23 @@ module Typer = struct get_t_contract tv in ok @@ t_contract tv' () + let get_entrypoint_opt = typer_2_opt "CONTRACT_ENTRYPOINT_OPT" @@ fun entry_tv addr_tv tv_opt -> + if not (type_value_eq (entry_tv, t_string ())) + then fail @@ simple_error (Format.asprintf "get_entrypoint_opt expects a string entrypoint label for first argument, got %a" PP.type_value entry_tv) + else + if not (type_value_eq (addr_tv, t_address ())) + then fail @@ simple_error (Format.asprintf "get_entrypoint_opt expects an address for second argument, got %a" PP.type_value addr_tv) + else + let%bind tv = + trace_option (simple_error "get_entrypoint_opt needs a type annotation") tv_opt in + let%bind tv = + trace_strong (simple_error "get_entrypoint_opt has a not-option annotation") @@ + get_t_option tv in + let%bind tv' = + trace_strong (simple_error "get_entrypoint_opt has a not-option(contract) annotation") @@ + get_t_contract tv in + ok @@ t_option (t_contract tv' ())() + let set_delegate = typer_1 "SET_DELEGATE" @@ fun delegate_opt -> let%bind () = assert_eq_1 delegate_opt (t_option (t_key_hash ()) ()) in ok @@ t_operation () @@ -1020,7 +1055,9 @@ module Typer = struct | C_CHAIN_ID -> ok @@ chain_id ; (*BLOCKCHAIN *) | C_CONTRACT -> ok @@ get_contract ; + | C_CONTRACT_OPT -> ok @@ get_contract_opt ; | C_CONTRACT_ENTRYPOINT -> ok @@ get_entrypoint ; + | C_CONTRACT_ENTRYPOINT_OPT -> ok @@ get_entrypoint_opt ; | C_AMOUNT -> ok @@ amount ; | C_BALANCE -> ok @@ balance ; | C_CALL -> ok @@ transaction ; diff --git a/src/stages/common/PP.ml b/src/stages/common/PP.ml index deebe08ee..773b5eaab 100644 --- a/src/stages/common/PP.ml +++ b/src/stages/common/PP.ml @@ -108,7 +108,9 @@ let constant ppf : constant -> unit = function (* Blockchain *) | C_CALL -> fprintf ppf "CALL" | C_CONTRACT -> fprintf ppf "CONTRACT" + | C_CONTRACT_OPT -> fprintf ppf "CONTRACT_OPT" | C_CONTRACT_ENTRYPOINT -> fprintf ppf "CONTRACT_ENTRYPOINT" + | C_CONTRACT_ENTRYPOINT_OPT -> fprintf ppf "CONTRACT_ENTRYPOINT_OPT" | C_AMOUNT -> fprintf ppf "AMOUNT" | C_BALANCE -> fprintf ppf "BALANCE" | C_SOURCE -> fprintf ppf "SOURCE" diff --git a/src/stages/common/types.ml b/src/stages/common/types.ml index 70c3bc80a..a0c6f9cb6 100644 --- a/src/stages/common/types.ml +++ b/src/stages/common/types.ml @@ -225,7 +225,9 @@ type constant = (* Blockchain *) | C_CALL | C_CONTRACT + | C_CONTRACT_OPT | C_CONTRACT_ENTRYPOINT + | C_CONTRACT_ENTRYPOINT_OPT | C_AMOUNT | C_BALANCE | C_SOURCE diff --git a/src/test/contracts/entrypoints.ligo b/src/test/contracts/entrypoints.ligo index 1d49a468c..d884a1ec9 100644 --- a/src/test/contracts/entrypoints.ligo +++ b/src/test/contracts/entrypoints.ligo @@ -3,3 +3,14 @@ function cb(const a : address; const s : unit) : list(operation) * unit is const c : contract(unit) = get_entrypoint("%cb", a) } with (list transaction(unit, 0mutez, c) end, s) + + +function cbo(const a : address; const s : unit) : list(operation) * unit is + block { + const c : contract(unit) = + case (get_entrypoint_opt("%cbo", a) : option(contract (unit))) of + | Some (c) -> c + | None -> (failwith ("entrypoint not found") : contract (unit)) + end + } + with (list transaction(unit, 0mutez, c) end, s) From 7c4871babc4a22fb252dfe59eb902191cb5c3673 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Wulfman Date: Wed, 29 Jan 2020 14:09:02 +0100 Subject: [PATCH 13/14] add test --- src/test/contracts/get_contract.ligo | 16 ++++++++++++++++ src/test/integration_tests.ml | 21 +++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/test/contracts/get_contract.ligo diff --git a/src/test/contracts/get_contract.ligo b/src/test/contracts/get_contract.ligo new file mode 100644 index 000000000..12d58aba6 --- /dev/null +++ b/src/test/contracts/get_contract.ligo @@ -0,0 +1,16 @@ +function cb(const s : unit) : list(operation) * unit is + block { + const c : contract(unit) = get_contract(source) + } + with (list transaction(unit, 0mutez, c) end, s) + + +function cbo(const s : unit) : list(operation) * unit is + block { + const c : contract(unit) = + case (get_contract_opt(source) : option(contract (unit))) of + | Some (c) -> c + | None -> (failwith ("contract not found") : contract (unit)) + end + } + with (list transaction(unit, 0mutez, c) end, s) diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 720f03b0f..4d848e698 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -1916,6 +1916,26 @@ let attributes_religo () : unit result = in ok () +let get_contract_ligo () : unit result = + let%bind program = type_file "./contracts/get_contract.ligo" in + let%bind () = + let make_input = fun _n -> e_unit () in + let make_expected : int -> Ast_simplified.expression -> unit result = fun _n result -> + let%bind (ops , storage) = get_e_pair result.expression in + let%bind () = + let%bind lst = get_e_list ops.expression in + Assert.assert_list_size lst 1 in + let expected_storage = e_unit () in + Ast_simplified.Misc.assert_value_eq (expected_storage , storage) + in + let%bind () = + let amount = Memory_proto_alpha.Protocol.Alpha_context.Tez.zero in + let options = Proto_alpha_utils.Memory_proto_alpha.make_options ~amount () in + let%bind () = expect_n_strict_pos_small ~options program "cb" make_input make_expected in + expect_n_strict_pos_small ~options program "cbo" make_input make_expected in + ok () + in + ok() let entrypoints_ligo () : unit result = let%bind _program = type_file "./contracts/entrypoints.ligo" in @@ -2328,6 +2348,7 @@ let main = test_suite "Integration (End to End)" [ test "tuples_sequences_functions (religo)" tuples_sequences_functions_religo ; test "simple_access (ligo)" simple_access_ligo; test "deep_access (ligo)" deep_access_ligo; + test "get_contract (ligo)" get_contract_ligo; test "entrypoints (ligo)" entrypoints_ligo ; test "curry (mligo)" curry ; test "type tuple destruct (mligo)" type_tuple_destruct ; From 0f9b92b83fcb01030e2f9d017ab081bb81584110 Mon Sep 17 00:00:00 2001 From: Sander Spies Date: Tue, 4 Feb 2020 14:02:57 +0100 Subject: [PATCH 14/14] Oops. --- src/bin/expect_tests/error_messages_tests.ml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bin/expect_tests/error_messages_tests.ml b/src/bin/expect_tests/error_messages_tests.ml index 190afda5d..284b21e89 100644 --- a/src/bin/expect_tests/error_messages_tests.ml +++ b/src/bin/expect_tests/error_messages_tests.ml @@ -21,7 +21,6 @@ let%expect_test _ = * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new * Check the changelog by running 'ligo changelog' |} ] ; -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":