From 36cecfb019d91b11791646eecfde6e9a52ecd2be Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht <2654428-rinderkn@users.noreply.gitlab.com> Date: Wed, 20 May 2020 16:36:44 +0000 Subject: [PATCH] * Renamed AST.TStringLiteral into AST.TString * Fixed parsing of "begin let x = e1 in e2; e3 end" --- src/bin/expect_tests/contract_tests.ml | 54 +- src/passes/1-parser/cameligo/AST.ml | 4 +- src/passes/1-parser/cameligo/Parser.mly | 73 +- src/passes/1-parser/cameligo/ParserLog.ml | 6 +- .../cameligo/error.messages.checked-in | 2997 +++++++++++------ src/passes/1-parser/reasonligo/Parser.mly | 191 +- .../reasonligo/error.messages.checked-in | 1919 +++++------ .../2-concrete_to_imperative/cameligo.ml | 6 +- src/test/contracts/letin.mligo | 22 + src/test/contracts/letin.religo | 21 + src/test/integration_tests.ml | 37 +- 11 files changed, 3050 insertions(+), 2280 deletions(-) diff --git a/src/bin/expect_tests/contract_tests.ml b/src/bin/expect_tests/contract_tests.ml index bc2ec34eb..6de7be144 100644 --- a/src/bin/expect_tests/contract_tests.ml +++ b/src/bin/expect_tests/contract_tests.ml @@ -1692,4 +1692,56 @@ let%expect_test _ = * Visit our documentation: https://ligolang.org/docs/intro/introduction * 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' |}] + * Check the changelog by running 'ligo changelog' |}]; + + run_ligo_good ["print-ast"; contract "letin.mligo"]; + [%expect {| + type storage = (int , + int) + const main : (int , + storage) -> ((TO_list(operation)) , + storage) = lambda (n:Some((int , + storage))) : None return let x = let x = 7 : int in (ADD(x , + n.0) , + ADD(n.1.0 , + n.1.1)) : (int , + int) in (list[] : (TO_list(operation)) , + x) + const f0 = lambda (a:Some(string)) : None return true(unit) + const f1 = lambda (a:Some(string)) : None return true(unit) + const f2 = lambda (a:Some(string)) : None return true(unit) + const letin_nesting = lambda (_:Some(unit)) : None return let s = "test" in let p0 = (f0)@(s) in { ASSERTION(p0); + let p1 = (f1)@(s) in { ASSERTION(p1); + let p2 = (f2)@(s) in { ASSERTION(p2); + s}}} + const letin_nesting2 = lambda (x:Some(int)) : None return let y = 2 in let z = 3 in ADD(ADD(x , + y) , + z) + |}]; + + run_ligo_good ["print-ast"; contract "letin.religo"]; + [%expect {| + type storage = (int , + int) + const main : (int , + storage) -> ((TO_list(operation)) , + storage) = lambda (n:Some((int , + storage))) : None return let x = let x = 7 : int in (ADD(x , + n.0) , + ADD(n.1.0 , + n.1.1)) : (int , + int) in (list[] : (TO_list(operation)) , + x) + const f0 = lambda (a:Some(string)) : None return true(unit) + const f1 = lambda (a:Some(string)) : None return true(unit) + const f2 = lambda (a:Some(string)) : None return true(unit) + const letin_nesting = lambda (_:Some(unit)) : None return let s = "test" in let p0 = (f0)@(s) in { ASSERTION(p0); + let p1 = (f1)@(s) in { ASSERTION(p1); + let p2 = (f2)@(s) in { ASSERTION(p2); + s}}} + const letin_nesting2 = lambda (x:Some(int)) : None return let y = 2 in let z = 3 in ADD(ADD(x , + y) , + z) + |}]; + + diff --git a/src/passes/1-parser/cameligo/AST.ml b/src/passes/1-parser/cameligo/AST.ml index 1282806fb..5ade8c346 100644 --- a/src/passes/1-parser/cameligo/AST.ml +++ b/src/passes/1-parser/cameligo/AST.ml @@ -166,7 +166,7 @@ and type_expr = | TFun of (type_expr * arrow * type_expr) reg | TPar of type_expr par reg | TVar of variable -| TStringLiteral of Lexer.lexeme reg +| TString of Lexer.lexeme reg and cartesian = (type_expr, times) nsepseq reg @@ -410,7 +410,7 @@ let type_expr_to_region = function | TApp {region; _} | TFun {region; _} | TPar {region; _} -| TStringLiteral {region; _} +| TString {region; _} | TVar {region; _} -> region let list_pattern_to_region = function diff --git a/src/passes/1-parser/cameligo/Parser.mly b/src/passes/1-parser/cameligo/Parser.mly index 7d7f32be5..24b747f93 100644 --- a/src/passes/1-parser/cameligo/Parser.mly +++ b/src/passes/1-parser/cameligo/Parser.mly @@ -147,9 +147,9 @@ cartesian: in TProd {region; value} } core_type: - type_name { TVar $1 } -| par(type_expr) { TPar $1 } -| "" { TStringLiteral $1 } + type_name { TVar $1 } +| par(type_expr) { TPar $1 } +| "" { TString $1 } | module_name "." type_name { let module_name = $1.value in let type_name = $3.value in @@ -457,15 +457,14 @@ case_clause(right_expr): let_expr(right_expr): "let" ioption("rec") let_binding seq(Attr) "in" right_expr { - let kwd_let = $1 - and kwd_rec = $2 - and binding = $3 - and attributes = $4 - and kwd_in = $5 - and body = $6 in - let stop = expr_to_region body in - let region = cover kwd_let stop - and value = {kwd_let; kwd_rec; binding; kwd_in; body; attributes} + let stop = expr_to_region $6 in + let region = cover $1 stop + and value = {kwd_let = $1; + kwd_rec = $2; + binding = $3; + attributes = $4; + kwd_in = $5; + body = $6} in ELetIn {region; value} } fun_expr(right_expr): @@ -476,8 +475,7 @@ fun_expr(right_expr): binders = $2; lhs_type = None; arrow = $3; - body = $4 - } + body = $4} in EFun {region; value} } disj_expr_level: @@ -653,7 +651,8 @@ update_record: field_path_assignment : nsepseq(field_name,".") "=" expr { - let region = cover (nsepseq_to_region (fun x -> x.region) $1) (expr_to_region $3) in + let start = nsepseq_to_region (fun x -> x.region) $1 in + let region = cover start (expr_to_region $3) in let value = {field_path = $1; assignment = $2; field_expr = $3} @@ -669,18 +668,52 @@ field_assignment: field_expr = $3} in {region; value} } +path : + "" { Name $1 } +| projection { Path $1 } + sequence: - "begin" sep_or_term_list(expr,";")? "end" { + "begin" series? "end" { let region = cover $1 $3 and compound = BeginEnd ($1,$3) in let elements, terminator = match $2 with None -> None, None | Some (ne_elements, terminator) -> - Some ne_elements, terminator in + Some ne_elements, terminator in let value = {compound; elements; terminator} in {region; value} } -path : - "" { Name $1 } -| projection { Path $1 } +series: + last_expr { + let expr, term = $1 in (expr, []), term + } +| seq_expr ";" series { + let rest, term = $3 in + let seq = Utils.nsepseq_cons $1 $2 rest + in seq, term } + +last_expr: + seq_expr ";"? +| fun_expr(seq_expr) ";"? +| match_expr(seq_expr) ";"? { + $1,$2 + } +| "let" ioption("rec") let_binding seq(Attr) "in" series { + let seq, term = $6 in + let stop = nsepseq_to_region expr_to_region seq in + let region = cover $1 stop in + let compound = BeginEnd (Region.ghost, Region.ghost) in + let elements = Some seq in + let value = {compound; elements; terminator=term} in + let body = ESeq {region; value} in + let value = {kwd_let = $1; + kwd_rec = $2; + binding = $3; + attributes = $4; + kwd_in = $5; + body} + in ELetIn {region; value}, term } + +seq_expr: + disj_expr_level | if_then_else (seq_expr) { $1 } diff --git a/src/passes/1-parser/cameligo/ParserLog.ml b/src/passes/1-parser/cameligo/ParserLog.ml index f1de7c5a6..a3b159dae 100644 --- a/src/passes/1-parser/cameligo/ParserLog.ml +++ b/src/passes/1-parser/cameligo/ParserLog.ml @@ -162,7 +162,7 @@ and print_type_expr state = function | TPar par -> print_type_par state par | TVar var -> print_var state var | TFun t -> print_fun_type state t -| TStringLiteral s -> print_string state s +| TString s -> print_string state s and print_fun_type state {value; _} = let domain, arrow, range = value in @@ -1140,8 +1140,8 @@ and pp_type_expr state = function | TVar v -> pp_node state "TVar"; pp_ident (state#pad 1 0) v - | TStringLiteral s -> - pp_node state "String"; + | TString s -> + pp_node state "TString"; pp_string (state#pad 1 0) s and pp_type_tuple state {value; _} = diff --git a/src/passes/1-parser/cameligo/error.messages.checked-in b/src/passes/1-parser/cameligo/error.messages.checked-in index 270e55960..58869eaf3 100644 --- a/src/passes/1-parser/cameligo/error.messages.checked-in +++ b/src/passes/1-parser/cameligo/error.messages.checked-in @@ -1,40 +1,971 @@ -interactive_expr: Begin True RBRACKET +interactive_expr: Begin Fun WILD ARROW Bytes SEMI With ## -## Ends in an error in state: 218. +## Ends in an error in state: 483. ## -## sequence -> Begin option(sep_or_term_list(expr,SEMI)) . End [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] +## sequence -> Begin option(series) . End [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## ## The known suffix of the stack is as follows: -## Begin option(sep_or_term_list(expr,SEMI)) +## Begin option(series) +## + + + +interactive_expr: Begin Fun WILD ARROW With +## +## Ends in an error in state: 465. +## +## fun_expr(seq_expr) -> Fun nseq(irrefutable) ARROW . seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Fun nseq(irrefutable) ARROW +## + + + +interactive_expr: Begin Fun With +## +## Ends in an error in state: 463. +## +## fun_expr(seq_expr) -> Fun . nseq(irrefutable) ARROW seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Fun +## + + + +interactive_expr: Begin If True Then Fun WILD ARROW With +## +## Ends in an error in state: 452. +## +## fun_expr(closed_if) -> Fun nseq(irrefutable) ARROW . closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Fun nseq(irrefutable) ARROW +## + + + +interactive_expr: Begin If True Then Fun With +## +## Ends in an error in state: 450. +## +## fun_expr(closed_if) -> Fun . nseq(irrefutable) ARROW closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Fun +## + + + +interactive_expr: Begin If True Then If True Then True COMMA Bytes With +## +## Ends in an error in state: 455. +## +## if_then_else(closed_if) -> If expr Then closed_if . Else closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## If expr Then 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 243, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 221, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) -## In state 217, spurious reduction of production option(sep_or_term_list(expr,SEMI)) -> sep_or_term_list(expr,SEMI) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 342, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level +## In state 341, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) +## In state 218, spurious reduction of production tuple_expr -> tuple(disj_expr_level) +## In state 453, spurious reduction of production base_expr(closed_if) -> tuple_expr +## In state 353, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 352, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## + + + +interactive_expr: Begin If True Then If True Then True Else With +## +## Ends in an error in state: 456. +## +## if_then_else(closed_if) -> If expr Then closed_if Else . closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## If expr Then closed_if Else +## + + + +interactive_expr: Begin If True Then If True Then With +## +## Ends in an error in state: 449. +## +## if_then_else(closed_if) -> If expr Then . closed_if Else closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## If expr Then +## + + + +interactive_expr: Begin If True Then If True With +## +## Ends in an error in state: 448. +## +## if_then_else(closed_if) -> If expr . Then closed_if Else closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## If 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## + + + +interactive_expr: Begin If True Then If With +## +## Ends in an error in state: 447. +## +## if_then_else(closed_if) -> If . expr Then closed_if Else closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## If +## + + + +interactive_expr: Begin If True Then Let Rec WILD EQ Bytes Attr Type +## +## Ends in an error in state: 445. +## +## let_expr(closed_if) -> Let Rec let_binding seq(Attr) . In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let Rec let_binding seq(Attr) +## +## 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 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## + + + +interactive_expr: Begin If True Then Let Rec WILD EQ Bytes In With +## +## Ends in an error in state: 446. +## +## let_expr(closed_if) -> Let Rec let_binding seq(Attr) In . closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let Rec let_binding seq(Attr) In +## + + + +interactive_expr: Begin If True Then Let Rec WILD EQ Bytes With +## +## Ends in an error in state: 444. +## +## let_expr(closed_if) -> Let Rec let_binding . seq(Attr) In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let Rec 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## + + + +interactive_expr: Begin If True Then Let Rec With +## +## Ends in an error in state: 443. +## +## let_expr(closed_if) -> Let Rec . let_binding seq(Attr) In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let Rec +## + + + +interactive_expr: Begin If True Then Let WILD EQ Bytes Attr Type +## +## Ends in an error in state: 458. +## +## let_expr(closed_if) -> Let let_binding seq(Attr) . In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let let_binding seq(Attr) +## +## 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 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## + + + +interactive_expr: Begin If True Then Let WILD EQ Bytes In With +## +## Ends in an error in state: 459. +## +## let_expr(closed_if) -> Let let_binding seq(Attr) In . closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let let_binding seq(Attr) In +## + + + +interactive_expr: Begin If True Then Let WILD EQ Bytes With +## +## Ends in an error in state: 457. +## +## let_expr(closed_if) -> Let let_binding . seq(Attr) In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## + + + +interactive_expr: Begin If True Then Let With +## +## Ends in an error in state: 442. +## +## let_expr(closed_if) -> Let . let_binding seq(Attr) In closed_if [ Else ] +## let_expr(closed_if) -> Let . Rec let_binding seq(Attr) In closed_if [ Else ] +## +## The known suffix of the stack is as follows: +## Let +## + + + +interactive_expr: Begin If True Then Match True Type +## +## Ends in an error in state: 264. +## +## match_expr(base_if_then_else) -> Match expr . With option(VBAR) cases(base_if_then_else) [ Else ] +## +## The known suffix of the stack is as follows: +## Match 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## + + + +interactive_expr: Begin If True Then Match True With VBAR Begin +## +## Ends in an error in state: 266. +## +## match_expr(base_if_then_else) -> Match expr With option(VBAR) . cases(base_if_then_else) [ Else ] +## +## The known suffix of the stack is as follows: +## Match expr With option(VBAR) +## + + + +interactive_expr: Begin If True Then Match True With WILD ARROW Bytes With +## +## Ends in an error in state: 404. +## +## cases(base_cond) -> cases(base_cond) . VBAR case_clause(base_cond) [ VBAR ] +## cases(base_if_then_else) -> cases(base_cond) . VBAR case_clause(base_if_then_else) [ Else ] +## +## The known suffix of the stack is as follows: +## cases(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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 390, spurious reduction of production base_expr(base_cond) -> disj_expr_level +## In state 354, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) +## In state 355, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 401, spurious reduction of production case_clause(base_cond) -> pattern ARROW base_cond +## In state 409, spurious reduction of production cases(base_cond) -> case_clause(base_cond) +## + + + +interactive_expr: Begin If True Then Match True With With +## +## Ends in an error in state: 265. +## +## match_expr(base_if_then_else) -> Match expr With . option(VBAR) cases(base_if_then_else) [ Else ] +## +## The known suffix of the stack is as follows: +## Match expr With +## + + + +interactive_expr: Begin If True Then Match With +## +## Ends in an error in state: 263. +## +## match_expr(base_if_then_else) -> Match . expr With option(VBAR) cases(base_if_then_else) [ Else ] +## +## The known suffix of the stack is as follows: +## Match +## + + + +interactive_expr: Begin If True Then True COMMA Bytes With +## +## Ends in an error in state: 460. +## +## if_then_else(seq_expr) -> If expr Then closed_if . Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If expr Then 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 342, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level +## In state 341, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) +## In state 218, spurious reduction of production tuple_expr -> tuple(disj_expr_level) +## In state 453, spurious reduction of production base_expr(closed_if) -> tuple_expr +## In state 353, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) +## In state 352, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## + + + +interactive_expr: Begin If True Then True Else With +## +## Ends in an error in state: 461. +## +## if_then_else(seq_expr) -> If expr Then closed_if Else . seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If expr Then closed_if Else +## + + + +interactive_expr: Begin If True Then True With +## +## Ends in an error in state: 454. +## +## base_expr(closed_if) -> disj_expr_level . [ Else ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ Or Else COMMA BOOL_OR ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ Or Else COMMA BOOL_OR ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ Else ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## + + + +interactive_expr: Begin If True Then With +## +## Ends in an error in state: 441. +## +## if_then_else(seq_expr) -> If expr Then . closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If expr Then +## + + + +interactive_expr: Begin If True With +## +## Ends in an error in state: 440. +## +## if_then_else(seq_expr) -> If expr . Then closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## + + + +interactive_expr: Begin If With +## +## Ends in an error in state: 439. +## +## if_then_else(seq_expr) -> If . expr Then closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If +## + + + +interactive_expr: Begin Let Rec WILD EQ Bytes Attr Type +## +## Ends in an error in state: 437. +## +## last_expr -> Let Rec let_binding seq(Attr) . In series [ End ] +## +## The known suffix of the stack is as follows: +## Let Rec let_binding seq(Attr) +## +## 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 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## + + + +interactive_expr: Begin Let Rec WILD EQ Bytes In With +## +## Ends in an error in state: 438. +## +## last_expr -> Let Rec let_binding seq(Attr) In . series [ End ] +## +## The known suffix of the stack is as follows: +## Let Rec let_binding seq(Attr) In +## + + + +interactive_expr: Begin Let Rec WILD EQ Bytes With +## +## Ends in an error in state: 436. +## +## last_expr -> Let Rec let_binding . seq(Attr) In series [ End ] +## +## The known suffix of the stack is as follows: +## Let Rec 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## + + + +interactive_expr: Begin Let Rec With +## +## Ends in an error in state: 435. +## +## last_expr -> Let Rec . let_binding seq(Attr) In series [ End ] +## +## The known suffix of the stack is as follows: +## Let Rec +## + + + +interactive_expr: Begin Let WILD EQ Bytes Attr Type +## +## Ends in an error in state: 479. +## +## last_expr -> Let let_binding seq(Attr) . In series [ End ] +## +## The known suffix of the stack is as follows: +## Let let_binding seq(Attr) +## +## 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 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## + + + +interactive_expr: Begin Let WILD EQ Bytes In With +## +## Ends in an error in state: 480. +## +## last_expr -> Let let_binding seq(Attr) In . series [ End ] +## +## The known suffix of the stack is as follows: +## Let let_binding seq(Attr) In +## + + + +interactive_expr: Begin Let WILD EQ Bytes With +## +## Ends in an error in state: 478. +## +## last_expr -> Let let_binding . seq(Attr) In series [ End ] +## +## The known suffix of the stack is as follows: +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## + + + +interactive_expr: Begin Let With +## +## Ends in an error in state: 434. +## +## last_expr -> Let . let_binding seq(Attr) In series [ End ] +## last_expr -> Let . Rec let_binding seq(Attr) In series [ End ] +## +## The known suffix of the stack is as follows: +## Let +## + + + +interactive_expr: Begin Match True Type +## +## Ends in an error in state: 240. +## +## match_expr(seq_expr) -> Match expr . With option(VBAR) cases(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Match 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## + + + +interactive_expr: Begin Match True With VBAR Begin +## +## Ends in an error in state: 243. +## +## match_expr(seq_expr) -> Match expr With option(VBAR) . cases(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Match expr With option(VBAR) +## + + + +interactive_expr: Begin Match True With WILD ARROW Bytes VBAR With +## +## Ends in an error in state: 431. +## +## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ VBAR ] +## cases(seq_expr) -> cases(base_cond) VBAR . case_clause(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## cases(base_cond) VBAR +## + + + +interactive_expr: Begin Match True With WILD ARROW If True Then True Else With +## +## Ends in an error in state: 424. +## +## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ VBAR ] +## if_then_else(seq_expr) -> If expr Then closed_if Else . seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If expr Then closed_if Else +## + + + +interactive_expr: Begin Match True With WILD ARROW If True Then With +## +## Ends in an error in state: 422. +## +## if_then(base_cond) -> If expr Then . base_cond [ VBAR ] +## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ VBAR ] +## if_then_else(seq_expr) -> If expr Then . closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If expr Then +## + + + +interactive_expr: Begin Match True With WILD ARROW If True With +## +## Ends in an error in state: 421. +## +## if_then(base_cond) -> If expr . Then base_cond [ VBAR ] +## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ VBAR ] +## if_then_else(seq_expr) -> If expr . Then closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## + + + +interactive_expr: Begin Match True With WILD ARROW If With +## +## Ends in an error in state: 420. +## +## if_then(base_cond) -> If . expr Then base_cond [ VBAR ] +## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ VBAR ] +## if_then_else(seq_expr) -> If . expr Then closed_if Else seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## If +## + + + +interactive_expr: Begin Match True With WILD ARROW True COMMA Bytes With +## +## Ends in an error in state: 430. +## +## cases(base_cond) -> cases(base_cond) . VBAR case_clause(base_cond) [ VBAR ] +## cases(seq_expr) -> cases(base_cond) . VBAR case_clause(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## cases(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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 342, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level +## In state 341, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) +## In state 218, spurious reduction of production tuple_expr -> tuple(disj_expr_level) +## In state 415, spurious reduction of production base_expr(base_cond) -> tuple_expr +## In state 354, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) +## In state 355, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 401, spurious reduction of production case_clause(base_cond) -> pattern ARROW base_cond +## In state 409, spurious reduction of production cases(base_cond) -> case_clause(base_cond) +## + + + +interactive_expr: Begin Match True With WILD ARROW True With +## +## Ends in an error in state: 427. +## +## base_expr(base_cond) -> disj_expr_level . [ VBAR ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI Or End COMMA BOOL_OR ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI Or End COMMA BOOL_OR ] +## seq_expr -> disj_expr_level . [ SEMI End ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ VBAR ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## + + + +interactive_expr: Begin Match True With WILD ARROW With +## +## Ends in an error in state: 254. +## +## case_clause(base_cond) -> pattern ARROW . base_cond [ VBAR ] +## case_clause(seq_expr) -> pattern ARROW . seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## pattern ARROW +## + + + +interactive_expr: Begin Match True With WILD CONS Bytes SEMI +## +## Ends in an error in state: 253. +## +## case_clause(base_cond) -> pattern . ARROW base_cond [ VBAR ] +## case_clause(seq_expr) -> pattern . ARROW seq_expr [ SEMI End ] +## +## The known suffix of the stack is as follows: +## pattern +## +## 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 96, spurious reduction of production tail -> sub_pattern +## In state 247, spurious reduction of production pattern -> sub_pattern CONS tail +## + + + +interactive_expr: Begin Match True With With +## +## Ends in an error in state: 241. +## +## match_expr(seq_expr) -> Match expr With . option(VBAR) cases(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Match expr With +## + + + +interactive_expr: Begin Match With +## +## Ends in an error in state: 203. +## +## match_expr(seq_expr) -> Match . expr With option(VBAR) cases(seq_expr) [ SEMI End ] +## +## The known suffix of the stack is as follows: +## Match +## + + + +interactive_expr: Begin True SEMI With +## +## Ends in an error in state: 469. +## +## option(SEMI) -> SEMI . [ End ] +## series -> seq_expr SEMI . series [ End ] +## +## The known suffix of the stack is as follows: +## seq_expr SEMI +## + + + +interactive_expr: Begin True With +## +## Ends in an error in state: 462. +## +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ SEMI Or End BOOL_OR ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ SEMI Or End BOOL_OR ] +## seq_expr -> disj_expr_level . [ SEMI End ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: Begin With ## -## Ends in an error in state: 201. +## Ends in an error in state: 202. ## -## sequence -> Begin . option(sep_or_term_list(expr,SEMI)) End [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] +## sequence -> Begin . option(series) End [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## ## The known suffix of the stack is as follows: ## Begin @@ -44,7 +975,7 @@ interactive_expr: Begin With interactive_expr: C_None WILD ## -## Ends in an error in state: 222. +## Ends in an error in state: 219. ## ## add_expr_level -> mult_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -59,7 +990,7 @@ interactive_expr: C_None WILD interactive_expr: C_Some With ## -## Ends in an error in state: 202. +## Ends in an error in state: 204. ## ## constr_expr -> C_Some . core_expr [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -71,7 +1002,7 @@ interactive_expr: C_Some With interactive_expr: Constr DOT Ident DOT With ## -## Ends in an error in state: 196. +## Ends in an error in state: 197. ## ## projection -> Constr DOT Ident DOT . nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -83,7 +1014,7 @@ interactive_expr: Constr DOT Ident DOT With interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 195. +## Ends in an error in state: 196. ## ## module_fun -> Ident . [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -96,7 +1027,7 @@ interactive_expr: Constr DOT Ident WILD interactive_expr: Constr DOT With ## -## Ends in an error in state: 193. +## Ends in an error in state: 194. ## ## module_field -> Constr DOT . module_fun [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -109,7 +1040,7 @@ interactive_expr: Constr DOT With interactive_expr: Constr WILD ## -## Ends in an error in state: 192. +## Ends in an error in state: 193. ## ## constr_expr -> Constr . core_expr [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## constr_expr -> Constr . [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -124,9 +1055,9 @@ interactive_expr: Constr WILD interactive_expr: Fun WILD ARROW With ## -## Ends in an error in state: 190. +## Ends in an error in state: 191. ## -## fun_expr(expr) -> Fun nseq(irrefutable) ARROW . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(expr) -> Fun nseq(irrefutable) ARROW . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun nseq(irrefutable) ARROW @@ -136,7 +1067,7 @@ interactive_expr: Fun WILD ARROW With interactive_expr: Fun WILD RPAR ## -## Ends in an error in state: 308. +## Ends in an error in state: 357. ## ## nseq(irrefutable) -> irrefutable . seq(irrefutable) [ ARROW ] ## @@ -147,14 +1078,14 @@ interactive_expr: Fun WILD 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 134, spurious reduction of production irrefutable -> sub_irrefutable +## In state 135, spurious reduction of production irrefutable -> sub_irrefutable ## interactive_expr: Fun WILD WILD RPAR ## -## Ends in an error in state: 310. +## Ends in an error in state: 359. ## ## seq(irrefutable) -> irrefutable . seq(irrefutable) [ ARROW ] ## @@ -165,16 +1096,16 @@ interactive_expr: Fun WILD WILD 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 134, spurious reduction of production irrefutable -> sub_irrefutable +## In state 135, spurious reduction of production irrefutable -> sub_irrefutable ## interactive_expr: Fun With ## -## Ends in an error in state: 188. +## Ends in an error in state: 189. ## -## fun_expr(expr) -> Fun . nseq(irrefutable) ARROW expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(expr) -> Fun . nseq(irrefutable) ARROW expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun @@ -184,7 +1115,7 @@ interactive_expr: Fun With interactive_expr: Ident DOT Int DOT With ## -## Ends in an error in state: 185. +## Ends in an error in state: 186. ## ## nsepseq(selection,DOT) -> selection DOT . nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -196,7 +1127,7 @@ interactive_expr: Ident DOT Int DOT With interactive_expr: Ident DOT Int WILD ## -## Ends in an error in state: 184. +## Ends in an error in state: 185. ## ## nsepseq(selection,DOT) -> selection . [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## nsepseq(selection,DOT) -> selection . DOT nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -209,7 +1140,7 @@ interactive_expr: Ident DOT Int WILD interactive_expr: Ident DOT With ## -## Ends in an error in state: 181. +## Ends in an error in state: 182. ## ## projection -> Ident DOT . nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -221,7 +1152,7 @@ interactive_expr: Ident DOT With interactive_expr: Ident WILD ## -## Ends in an error in state: 180. +## Ends in an error in state: 181. ## ## core_expr -> Ident . [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## projection -> Ident . DOT nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -234,10 +1165,10 @@ interactive_expr: Ident WILD interactive_expr: If True Then Fun WILD ARROW With ## -## Ends in an error in state: 426. +## Ends in an error in state: 504. ## ## fun_expr(closed_if) -> Fun nseq(irrefutable) ARROW . closed_if [ Else ] -## fun_expr(expr) -> Fun nseq(irrefutable) ARROW . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(expr) -> Fun nseq(irrefutable) ARROW . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun nseq(irrefutable) ARROW @@ -247,10 +1178,10 @@ interactive_expr: If True Then Fun WILD ARROW With interactive_expr: If True Then Fun With ## -## Ends in an error in state: 424. +## Ends in an error in state: 502. ## ## fun_expr(closed_if) -> Fun . nseq(irrefutable) ARROW closed_if [ Else ] -## fun_expr(expr) -> Fun . nseq(irrefutable) ARROW expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(expr) -> Fun . nseq(irrefutable) ARROW expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun @@ -260,10 +1191,10 @@ interactive_expr: If True Then Fun With interactive_expr: If True Then If True Then True Else With ## -## Ends in an error in state: 431. +## Ends in an error in state: 509. ## ## if_then_else(closed_if) -> If expr Then closed_if Else . closed_if [ Else ] -## if_then_else(expr) -> If expr Then closed_if Else . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(expr) -> If expr Then closed_if Else . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then closed_if Else @@ -273,11 +1204,11 @@ interactive_expr: If True Then If True Then True Else With interactive_expr: If True Then If True Then With ## -## Ends in an error in state: 423. +## Ends in an error in state: 501. ## -## if_then(expr) -> If expr Then . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If expr Then . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If expr Then . closed_if Else closed_if [ Else ] -## if_then_else(expr) -> If expr Then . closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(expr) -> If expr Then . closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then @@ -287,11 +1218,11 @@ interactive_expr: If True Then If True Then With interactive_expr: If True Then If True With ## -## Ends in an error in state: 422. +## Ends in an error in state: 500. ## -## if_then(expr) -> If expr . Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If expr . Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If expr . Then closed_if Else closed_if [ Else ] -## if_then_else(expr) -> If expr . Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(expr) -> If expr . Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr @@ -300,29 +1231,29 @@ interactive_expr: If True Then If True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If True Then If With ## -## Ends in an error in state: 421. +## Ends in an error in state: 499. ## -## if_then(expr) -> If . expr Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If . expr Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If . expr Then closed_if Else closed_if [ Else ] -## if_then_else(expr) -> If . expr Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(expr) -> If . expr Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If @@ -332,10 +1263,10 @@ interactive_expr: If True Then If With interactive_expr: If True Then Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 419. +## Ends in an error in state: 497. ## ## let_expr(closed_if) -> Let Rec let_binding seq(Attr) . In closed_if [ Else ] -## let_expr(expr) -> Let Rec let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) @@ -344,18 +1275,18 @@ interactive_expr: If True Then Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: If True Then Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 420. +## Ends in an error in state: 498. ## ## let_expr(closed_if) -> Let Rec let_binding seq(Attr) In . closed_if [ Else ] -## let_expr(expr) -> Let Rec let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) In @@ -365,10 +1296,10 @@ interactive_expr: If True Then Let Rec WILD EQ Bytes In With interactive_expr: If True Then Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 418. +## Ends in an error in state: 496. ## ## let_expr(closed_if) -> Let Rec let_binding . seq(Attr) In closed_if [ Else ] -## let_expr(expr) -> Let Rec let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding @@ -377,29 +1308,29 @@ interactive_expr: If True Then Let Rec WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: If True Then Let Rec With ## -## Ends in an error in state: 417. +## Ends in an error in state: 495. ## ## let_expr(closed_if) -> Let Rec . let_binding seq(Attr) In closed_if [ Else ] -## let_expr(expr) -> Let Rec . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec @@ -409,10 +1340,10 @@ interactive_expr: If True Then Let Rec With interactive_expr: If True Then Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 435. +## Ends in an error in state: 513. ## ## let_expr(closed_if) -> Let let_binding seq(Attr) . In closed_if [ Else ] -## let_expr(expr) -> Let let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) @@ -421,18 +1352,18 @@ interactive_expr: If True Then Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: If True Then Let WILD EQ Bytes In With ## -## Ends in an error in state: 436. +## Ends in an error in state: 514. ## ## let_expr(closed_if) -> Let let_binding seq(Attr) In . closed_if [ Else ] -## let_expr(expr) -> Let let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) In @@ -442,10 +1373,10 @@ interactive_expr: If True Then Let WILD EQ Bytes In With interactive_expr: If True Then Let WILD EQ Bytes With ## -## Ends in an error in state: 434. +## Ends in an error in state: 512. ## ## let_expr(closed_if) -> Let let_binding . seq(Attr) In closed_if [ Else ] -## let_expr(expr) -> Let let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding @@ -454,31 +1385,31 @@ interactive_expr: If True Then Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: If True Then Let With ## -## Ends in an error in state: 416. +## Ends in an error in state: 494. ## ## let_expr(closed_if) -> Let . let_binding seq(Attr) In closed_if [ Else ] ## let_expr(closed_if) -> Let . Rec let_binding seq(Attr) In closed_if [ Else ] -## let_expr(expr) -> Let . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## let_expr(expr) -> Let . Rec let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## let_expr(expr) -> Let . Rec let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let @@ -488,9 +1419,9 @@ interactive_expr: If True Then Let With interactive_expr: If True Then Match True Type ## -## Ends in an error in state: 315. +## Ends in an error in state: 490. ## -## match_expr(base_cond) -> Match expr . With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr . With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## match_expr(base_if_then_else) -> Match expr . With option(VBAR) cases(base_if_then_else) [ Else ] ## ## The known suffix of the stack is as follows: @@ -500,27 +1431,27 @@ interactive_expr: If True Then Match True Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If True Then Match True With VBAR Begin ## -## Ends in an error in state: 318. +## Ends in an error in state: 492. ## -## match_expr(base_cond) -> Match expr With option(VBAR) . cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr With option(VBAR) . cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## match_expr(base_if_then_else) -> Match expr With option(VBAR) . cases(base_if_then_else) [ Else ] ## ## The known suffix of the stack is as follows: @@ -531,9 +1462,9 @@ interactive_expr: If True Then Match True With VBAR Begin interactive_expr: If True Then Match True With WILD ARROW Bytes VBAR With ## -## Ends in an error in state: 345. +## Ends in an error in state: 405. ## -## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## cases(base_if_then_else) -> cases(base_cond) VBAR . case_clause(base_if_then_else) [ Else ] ## ## The known suffix of the stack is as follows: @@ -544,9 +1475,9 @@ interactive_expr: If True Then Match True With WILD ARROW Bytes VBAR With interactive_expr: If True Then Match True With WILD ARROW Fun WILD ARROW With ## -## Ends in an error in state: 398. +## Ends in an error in state: 385. ## -## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## fun_expr(base_if_then_else) -> Fun nseq(irrefutable) ARROW . base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -557,9 +1488,9 @@ interactive_expr: If True Then Match True With WILD ARROW Fun WILD ARROW With interactive_expr: If True Then Match True With WILD ARROW Fun With ## -## Ends in an error in state: 396. +## Ends in an error in state: 383. ## -## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## fun_expr(base_if_then_else) -> Fun . nseq(irrefutable) ARROW base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -570,9 +1501,9 @@ interactive_expr: If True Then Match True With WILD ARROW Fun With interactive_expr: If True Then Match True With WILD ARROW If True Then True Else With ## -## Ends in an error in state: 395. +## Ends in an error in state: 382. ## -## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(base_if_then_else) -> If expr Then closed_if Else . base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -583,10 +1514,10 @@ interactive_expr: If True Then Match True With WILD ARROW If True Then True Else interactive_expr: If True Then Match True With WILD ARROW If True Then With ## -## Ends in an error in state: 337. +## Ends in an error in state: 276. ## -## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(base_if_then_else) -> If expr Then . closed_if Else base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -597,10 +1528,10 @@ interactive_expr: If True Then Match True With WILD ARROW If True Then With interactive_expr: If True Then Match True With WILD ARROW If True With ## -## Ends in an error in state: 336. +## Ends in an error in state: 275. ## -## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(base_if_then_else) -> If expr . Then closed_if Else base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -610,28 +1541,28 @@ interactive_expr: If True Then Match True With WILD ARROW If True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If True Then Match True With WILD ARROW If With ## -## Ends in an error in state: 335. +## Ends in an error in state: 274. ## -## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(base_if_then_else) -> If . expr Then closed_if Else base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -642,9 +1573,9 @@ interactive_expr: If True Then Match True With WILD ARROW If With interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 333. +## Ends in an error in state: 272. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let Rec let_binding seq(Attr) . In base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -654,17 +1585,17 @@ interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes ## 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 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 334. +## Ends in an error in state: 273. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let Rec let_binding seq(Attr) In . base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -675,9 +1606,9 @@ interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 332. +## Ends in an error in state: 271. ## -## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let Rec let_binding . seq(Attr) In base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -687,28 +1618,28 @@ interactive_expr: If True Then Match True With WILD ARROW Let Rec WILD EQ Bytes ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: If True Then Match True With WILD ARROW Let Rec With ## -## Ends in an error in state: 331. +## Ends in an error in state: 270. ## -## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let Rec . let_binding seq(Attr) In base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -719,9 +1650,9 @@ interactive_expr: If True Then Match True With WILD ARROW Let Rec With interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 410. +## Ends in an error in state: 397. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let let_binding seq(Attr) . In base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -731,17 +1662,17 @@ interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes Attr ## 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 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes In With ## -## Ends in an error in state: 411. +## Ends in an error in state: 398. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let let_binding seq(Attr) In . base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -752,9 +1683,9 @@ interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes In W interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes With ## -## Ends in an error in state: 409. +## Ends in an error in state: 396. ## -## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let let_binding . seq(Attr) In base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -764,29 +1695,29 @@ interactive_expr: If True Then Match True With WILD ARROW Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: If True Then Match True With WILD ARROW Let With ## -## Ends in an error in state: 330. +## Ends in an error in state: 269. ## -## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(base_if_then_else) -> Let . let_binding seq(Attr) In base_if_then_else [ Else ] ## let_expr(base_if_then_else) -> Let . Rec let_binding seq(Attr) In base_if_then_else [ Else ] ## @@ -796,11 +1727,41 @@ interactive_expr: If True Then Match True With WILD ARROW Let With +interactive_expr: If True Then Match True With WILD ARROW True End +## +## Ends in an error in state: 390. +## +## base_expr(base_cond) -> disj_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## base_expr(base_if_then_else) -> disj_expr_level . [ Else ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## + + + interactive_expr: If True Then Match True With WILD ARROW With ## -## Ends in an error in state: 329. +## Ends in an error in state: 268. ## -## case_clause(base_cond) -> pattern ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## case_clause(base_cond) -> pattern ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## case_clause(base_if_then_else) -> pattern ARROW . base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -811,9 +1772,9 @@ interactive_expr: If True Then Match True With WILD ARROW With interactive_expr: If True Then Match True With WILD CONS Bytes SEMI ## -## Ends in an error in state: 328. +## Ends in an error in state: 267. ## -## case_clause(base_cond) -> pattern . ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## case_clause(base_cond) -> pattern . ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## case_clause(base_if_then_else) -> pattern . ARROW base_if_then_else [ Else ] ## ## The known suffix of the stack is as follows: @@ -823,17 +1784,17 @@ interactive_expr: If True Then Match True With WILD CONS Bytes 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 95, spurious reduction of production tail -> sub_pattern -## In state 322, spurious reduction of production pattern -> sub_pattern CONS tail +## In state 96, spurious reduction of production tail -> sub_pattern +## In state 247, spurious reduction of production pattern -> sub_pattern CONS tail ## interactive_expr: If True Then Match True With With ## -## Ends in an error in state: 316. +## Ends in an error in state: 491. ## -## match_expr(base_cond) -> Match expr With . option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr With . option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## match_expr(base_if_then_else) -> Match expr With . option(VBAR) cases(base_if_then_else) [ Else ] ## ## The known suffix of the stack is as follows: @@ -844,9 +1805,9 @@ interactive_expr: If True Then Match True With With interactive_expr: If True Then Match With ## -## Ends in an error in state: 314. +## Ends in an error in state: 489. ## -## match_expr(base_cond) -> Match . expr With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match . expr With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## match_expr(base_if_then_else) -> Match . expr With option(VBAR) cases(base_if_then_else) [ Else ] ## ## The known suffix of the stack is as follows: @@ -857,10 +1818,10 @@ interactive_expr: If True Then Match With interactive_expr: If True Then True COMMA Bytes VBAR ## -## Ends in an error in state: 427. +## Ends in an error in state: 505. ## ## base_expr(closed_if) -> tuple_expr . [ Else ] -## base_expr(expr) -> tuple_expr . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## base_expr(expr) -> tuple_expr . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## tuple_expr @@ -869,27 +1830,27 @@ interactive_expr: If True Then True COMMA 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 295, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level -## In state 294, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) -## In state 216, spurious reduction of production tuple_expr -> tuple(disj_expr_level) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 342, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level +## In state 341, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) +## In state 218, spurious reduction of production tuple_expr -> tuple(disj_expr_level) ## interactive_expr: If True Then True Else With ## -## Ends in an error in state: 439. +## Ends in an error in state: 517. ## -## if_then_else(expr) -> If expr Then closed_if Else . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(expr) -> If expr Then closed_if Else . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then closed_if Else @@ -899,13 +1860,13 @@ interactive_expr: If True Then True Else With interactive_expr: If True Then True VBAR ## -## Ends in an error in state: 428. +## Ends in an error in state: 506. ## ## base_expr(closed_if) -> disj_expr_level . [ Else ] -## base_expr(expr) -> disj_expr_level . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In End Else EOF COMMA COLON BOOL_OR Attr ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In End Else EOF COMMA COLON BOOL_OR Attr ] -## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End Else EOF COLON Attr ] +## base_expr(expr) -> disj_expr_level . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -914,25 +1875,25 @@ interactive_expr: If True Then 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: If True Then With ## -## Ends in an error in state: 313. +## Ends in an error in state: 488. ## -## if_then(expr) -> If expr Then . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(expr) -> If expr Then . closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If expr Then . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(expr) -> If expr Then . closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then @@ -942,10 +1903,10 @@ interactive_expr: If True Then With interactive_expr: If True With ## -## Ends in an error in state: 312. +## Ends in an error in state: 487. ## -## if_then(expr) -> If expr . Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(expr) -> If expr . Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If expr . Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(expr) -> If expr . Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr @@ -954,28 +1915,28 @@ interactive_expr: If True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: If With ## -## Ends in an error in state: 179. +## Ends in an error in state: 180. ## -## if_then(expr) -> If . expr Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(expr) -> If . expr Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(expr) -> If . expr Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(expr) -> If . expr Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If @@ -985,7 +1946,7 @@ interactive_expr: If With interactive_expr: LBRACE Constr DOT Ident With ## -## Ends in an error in state: 443. +## Ends in an error in state: 521. ## ## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With ] ## @@ -997,7 +1958,7 @@ interactive_expr: LBRACE Constr DOT Ident With interactive_expr: LBRACE Constr DOT With ## -## Ends in an error in state: 442. +## Ends in an error in state: 520. ## ## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With ] ## @@ -1009,7 +1970,7 @@ interactive_expr: LBRACE Constr DOT With interactive_expr: LBRACE Constr With ## -## Ends in an error in state: 441. +## Ends in an error in state: 519. ## ## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With ] ## @@ -1021,7 +1982,7 @@ interactive_expr: LBRACE Constr With interactive_expr: LBRACE Ident DOT Ident VBAR ## -## Ends in an error in state: 447. +## Ends in an error in state: 525. ## ## update_record -> LBRACE path . With sep_or_term_list(field_path_assignment,SEMI) RBRACE [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -1032,16 +1993,16 @@ interactive_expr: LBRACE 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 184, spurious reduction of production nsepseq(selection,DOT) -> selection -## In state 187, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) -## In state 446, spurious reduction of production path -> projection +## In state 185, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 188, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 524, spurious reduction of production path -> projection ## interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 474. +## Ends in an error in state: 552. ## ## nsepseq(field_assignment,SEMI) -> field_assignment SEMI . nsepseq(field_assignment,SEMI) [ RBRACE ] ## seq(__anonymous_0(field_assignment,SEMI)) -> field_assignment SEMI . seq(__anonymous_0(field_assignment,SEMI)) [ RBRACE ] @@ -1054,7 +2015,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes With ## -## Ends in an error in state: 473. +## Ends in an error in state: 551. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACE ] @@ -1067,26 +2028,26 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 440, spurious reduction of production field_assignment -> Ident EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 518, spurious reduction of production field_assignment -> Ident EQ expr ## interactive_expr: LBRACE Ident EQ Bytes SEMI Ident With ## -## Ends in an error in state: 470. +## Ends in an error in state: 548. ## ## field_assignment -> Ident . EQ expr [ SEMI RBRACE ] ## @@ -1098,7 +2059,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI Ident With interactive_expr: LBRACE Ident EQ Bytes SEMI With ## -## Ends in an error in state: 469. +## Ends in an error in state: 547. ## ## nsepseq(field_assignment,SEMI) -> field_assignment SEMI . nsepseq(field_assignment,SEMI) [ RBRACE ] ## nseq(__anonymous_0(field_assignment,SEMI)) -> field_assignment SEMI . seq(__anonymous_0(field_assignment,SEMI)) [ RBRACE ] @@ -1111,7 +2072,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident EQ Bytes With ## -## Ends in an error in state: 468. +## Ends in an error in state: 546. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACE ] @@ -1124,26 +2085,26 @@ interactive_expr: LBRACE Ident EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 440, spurious reduction of production field_assignment -> Ident EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 518, spurious reduction of production field_assignment -> Ident EQ expr ## interactive_expr: LBRACE Ident EQ With ## -## Ends in an error in state: 177. +## Ends in an error in state: 178. ## ## field_assignment -> Ident EQ . expr [ SEMI RBRACE ] ## @@ -1155,7 +2116,7 @@ interactive_expr: LBRACE Ident EQ With interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 176. +## Ends in an error in state: 177. ## ## field_assignment -> Ident . EQ expr [ SEMI RBRACE ] ## path -> Ident . [ With ] @@ -1169,7 +2130,7 @@ interactive_expr: LBRACE Ident WILD interactive_expr: LBRACE Ident With Ident DOT With ## -## Ends in an error in state: 450. +## Ends in an error in state: 528. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ EQ ] ## @@ -1181,7 +2142,7 @@ interactive_expr: LBRACE Ident With Ident DOT With interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 464. +## Ends in an error in state: 542. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment SEMI . nsepseq(field_path_assignment,SEMI) [ RBRACE ] ## seq(__anonymous_0(field_path_assignment,SEMI)) -> field_path_assignment SEMI . seq(__anonymous_0(field_path_assignment,SEMI)) [ RBRACE ] @@ -1194,7 +2155,7 @@ interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes With ## -## Ends in an error in state: 463. +## Ends in an error in state: 541. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . SEMI nsepseq(field_path_assignment,SEMI) [ RBRACE ] @@ -1207,26 +2168,26 @@ interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 458, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 536, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr ## interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI With ## -## Ends in an error in state: 460. +## Ends in an error in state: 538. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment SEMI . nsepseq(field_path_assignment,SEMI) [ RBRACE ] ## nseq(__anonymous_0(field_path_assignment,SEMI)) -> field_path_assignment SEMI . seq(__anonymous_0(field_path_assignment,SEMI)) [ RBRACE ] @@ -1239,7 +2200,7 @@ interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident With Ident EQ Bytes With ## -## Ends in an error in state: 459. +## Ends in an error in state: 537. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . SEMI nsepseq(field_path_assignment,SEMI) [ RBRACE ] @@ -1252,26 +2213,26 @@ interactive_expr: LBRACE Ident With Ident EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 458, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 536, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr ## interactive_expr: LBRACE Ident With Ident EQ With ## -## Ends in an error in state: 457. +## Ends in an error in state: 535. ## ## field_path_assignment -> nsepseq(field_name,DOT) EQ . expr [ SEMI RBRACE ] ## @@ -1283,7 +2244,7 @@ interactive_expr: LBRACE Ident With Ident EQ With interactive_expr: LBRACE Ident With Ident With ## -## Ends in an error in state: 449. +## Ends in an error in state: 527. ## ## nsepseq(field_name,DOT) -> Ident . [ EQ ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ EQ ] @@ -1296,7 +2257,7 @@ interactive_expr: LBRACE Ident With Ident With interactive_expr: LBRACE Ident With With ## -## Ends in an error in state: 448. +## Ends in an error in state: 526. ## ## update_record -> LBRACE path With . sep_or_term_list(field_path_assignment,SEMI) RBRACE [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -1308,7 +2269,7 @@ interactive_expr: LBRACE Ident With With interactive_expr: LBRACE With ## -## Ends in an error in state: 175. +## Ends in an error in state: 176. ## ## record_expr -> LBRACE . sep_or_term_list(field_assignment,SEMI) RBRACE [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## update_record -> LBRACE . path With sep_or_term_list(field_path_assignment,SEMI) RBRACE [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -1319,44 +2280,12 @@ interactive_expr: LBRACE With -interactive_expr: LBRACKET True End -## -## Ends in an error in state: 479. -## -## list__(expr) -> LBRACKET option(sep_or_term_list(expr,SEMI)) . RBRACKET [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] -## -## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 243, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 221, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) -## In state 217, spurious reduction of production option(sep_or_term_list(expr,SEMI)) -> sep_or_term_list(expr,SEMI) -## - - - interactive_expr: LBRACKET True SEMI True SEMI With ## -## Ends in an error in state: 248. +## Ends in an error in state: 567. ## -## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] -## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] +## 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 @@ -1366,11 +2295,11 @@ interactive_expr: LBRACKET True SEMI True SEMI With interactive_expr: LBRACKET True SEMI True With ## -## Ends in an error in state: 247. +## Ends in an error in state: 566. ## -## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] -## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] -## seq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] +## 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 @@ -1379,28 +2308,28 @@ interactive_expr: LBRACKET True SEMI True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET True SEMI With ## -## Ends in an error in state: 244. +## Ends in an error in state: 563. ## -## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] -## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] +## 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 @@ -1410,11 +2339,11 @@ interactive_expr: LBRACKET True SEMI With interactive_expr: LBRACKET True With ## -## Ends in an error in state: 243. +## Ends in an error in state: 562. ## -## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] -## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] -## nseq(__anonymous_0(expr,SEMI)) -> expr . SEMI seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] +## 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 @@ -1423,25 +2352,25 @@ interactive_expr: LBRACKET True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LBRACKET With ## -## Ends in an error in state: 167. +## Ends in an error in state: 168. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -1451,9 +2380,9 @@ interactive_expr: LBRACKET With -interactive_expr: LPAR True COLON Ident VBAR +interactive_expr: LPAR True COLON String VBAR ## -## Ends in an error in state: 510. +## Ends in an error in state: 580. ## ## par(__anonymous_1) -> LPAR expr COLON type_expr . RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -1464,16 +2393,16 @@ interactive_expr: LPAR True COLON 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type ## interactive_expr: LPAR True COLON With ## -## Ends in an error in state: 509. +## Ends in an error in state: 579. ## ## par(__anonymous_1) -> LPAR expr COLON . type_expr RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## @@ -1485,7 +2414,7 @@ interactive_expr: LPAR True COLON With interactive_expr: LPAR True With ## -## Ends in an error in state: 507. +## Ends in an error in state: 577. ## ## par(__anonymous_1) -> LPAR expr . COLON type_expr RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## par(expr) -> LPAR expr . RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -1497,25 +2426,25 @@ interactive_expr: LPAR True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: LPAR With ## -## Ends in an error in state: 164. +## Ends in an error in state: 165. ## ## par(__anonymous_1) -> LPAR . expr COLON type_expr RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## par(expr) -> LPAR . expr RPAR [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -1529,9 +2458,9 @@ interactive_expr: LPAR With interactive_expr: Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 173. +## Ends in an error in state: 174. ## -## let_expr(expr) -> Let Rec let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) @@ -1540,17 +2469,17 @@ interactive_expr: Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 174. +## Ends in an error in state: 175. ## -## let_expr(expr) -> Let Rec let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) In @@ -1560,9 +2489,9 @@ interactive_expr: Let Rec WILD EQ Bytes In With interactive_expr: Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 170. +## Ends in an error in state: 171. ## -## let_expr(expr) -> Let Rec let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding @@ -1571,28 +2500,28 @@ interactive_expr: Let Rec WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Let Rec With ## -## Ends in an error in state: 169. +## Ends in an error in state: 170. ## -## let_expr(expr) -> Let Rec . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let Rec . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec @@ -1602,9 +2531,9 @@ interactive_expr: Let Rec With interactive_expr: Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 477. +## Ends in an error in state: 555. ## -## let_expr(expr) -> Let let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) @@ -1613,17 +2542,17 @@ interactive_expr: Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Let WILD EQ Bytes In With ## -## Ends in an error in state: 478. +## Ends in an error in state: 556. ## -## let_expr(expr) -> Let let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) In @@ -1633,9 +2562,9 @@ interactive_expr: Let WILD EQ Bytes In With interactive_expr: Let WILD EQ Bytes With ## -## Ends in an error in state: 476. +## Ends in an error in state: 554. ## -## let_expr(expr) -> Let let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding @@ -1644,29 +2573,29 @@ interactive_expr: Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Let With ## -## Ends in an error in state: 168. +## Ends in an error in state: 169. ## -## let_expr(expr) -> Let . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## let_expr(expr) -> Let . Rec let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(expr) -> Let . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## let_expr(expr) -> Let . Rec let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let @@ -1676,7 +2605,7 @@ interactive_expr: Let With interactive_expr: MINUS With ## -## Ends in an error in state: 166. +## Ends in an error in state: 167. ## ## unary_expr_level -> MINUS . call_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -1688,9 +2617,9 @@ interactive_expr: MINUS With interactive_expr: Match True Type ## -## Ends in an error in state: 482. +## Ends in an error in state: 570. ## -## match_expr(base_cond) -> Match expr . With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr . With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Match expr @@ -1699,25 +2628,25 @@ interactive_expr: Match True Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Match True With LPAR Bytes RPAR With ## -## Ends in an error in state: 320. +## Ends in an error in state: 245. ## ## pattern -> sub_pattern . CONS tail [ ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] @@ -1730,9 +2659,9 @@ interactive_expr: Match True With LPAR Bytes RPAR With interactive_expr: Match True With VBAR Begin ## -## Ends in an error in state: 484. +## Ends in an error in state: 572. ## -## match_expr(base_cond) -> Match expr With option(VBAR) . cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr With option(VBAR) . cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Match expr With option(VBAR) @@ -1742,9 +2671,9 @@ interactive_expr: Match True With VBAR Begin interactive_expr: Match True With WILD ARROW Bytes VBAR With ## -## Ends in an error in state: 506. +## Ends in an error in state: 576. ## -## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## cases(base_cond) VBAR @@ -1754,9 +2683,9 @@ interactive_expr: Match True With WILD ARROW Bytes VBAR With interactive_expr: Match True With WILD ARROW Fun WILD ARROW With ## -## Ends in an error in state: 499. +## Ends in an error in state: 414. ## -## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun nseq(irrefutable) ARROW @@ -1766,9 +2695,9 @@ interactive_expr: Match True With WILD ARROW Fun WILD ARROW With interactive_expr: Match True With WILD ARROW Fun With ## -## Ends in an error in state: 497. +## Ends in an error in state: 412. ## -## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Fun @@ -1778,9 +2707,9 @@ interactive_expr: Match True With WILD ARROW Fun With interactive_expr: Match True With WILD ARROW If True Then Fun WILD ARROW With ## -## Ends in an error in state: 360. +## Ends in an error in state: 287. ## -## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun nseq(irrefutable) ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## fun_expr(closed_if) -> Fun nseq(irrefutable) ARROW . closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1791,9 +2720,9 @@ interactive_expr: Match True With WILD ARROW If True Then Fun WILD ARROW With interactive_expr: Match True With WILD ARROW If True Then Fun With ## -## Ends in an error in state: 358. +## Ends in an error in state: 285. ## -## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## fun_expr(base_cond) -> Fun . nseq(irrefutable) ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## fun_expr(closed_if) -> Fun . nseq(irrefutable) ARROW closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1804,9 +2733,9 @@ interactive_expr: Match True With WILD ARROW If True Then Fun With interactive_expr: Match True With WILD ARROW If True Then If True Then True Else With ## -## Ends in an error in state: 379. +## Ends in an error in state: 362. ## -## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If expr Then closed_if Else . closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1817,10 +2746,10 @@ interactive_expr: Match True With WILD ARROW If True Then If True Then True Else interactive_expr: Match True With WILD ARROW If True Then If True Then With ## -## Ends in an error in state: 357. +## Ends in an error in state: 284. ## -## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If expr Then . closed_if Else closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1831,10 +2760,10 @@ interactive_expr: Match True With WILD ARROW If True Then If True Then With interactive_expr: Match True With WILD ARROW If True Then If True With ## -## Ends in an error in state: 356. +## Ends in an error in state: 283. ## -## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If expr . Then closed_if Else closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1844,28 +2773,28 @@ interactive_expr: Match True With WILD ARROW If True Then If True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Match True With WILD ARROW If True Then If With ## -## Ends in an error in state: 355. +## Ends in an error in state: 282. ## -## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(closed_if) -> If . expr Then closed_if Else closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1876,9 +2805,9 @@ interactive_expr: Match True With WILD ARROW If True Then If With interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 353. +## Ends in an error in state: 280. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let Rec let_binding seq(Attr) . In closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1888,17 +2817,17 @@ interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes ## 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 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 354. +## Ends in an error in state: 281. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let Rec let_binding seq(Attr) In . closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1909,9 +2838,9 @@ interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 352. +## Ends in an error in state: 279. ## -## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let Rec let_binding . seq(Attr) In closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1921,28 +2850,28 @@ interactive_expr: Match True With WILD ARROW If True Then Let Rec WILD EQ Bytes ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Match True With WILD ARROW If True Then Let Rec With ## -## Ends in an error in state: 351. +## Ends in an error in state: 278. ## -## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let Rec . let_binding seq(Attr) In closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1953,9 +2882,9 @@ interactive_expr: Match True With WILD ARROW If True Then Let Rec With interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 390. +## Ends in an error in state: 377. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let let_binding seq(Attr) . In closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1965,17 +2894,17 @@ interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes Attr ## 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 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes In With ## -## Ends in an error in state: 391. +## Ends in an error in state: 378. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let let_binding seq(Attr) In . closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1986,9 +2915,9 @@ interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes In W interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes With ## -## Ends in an error in state: 389. +## Ends in an error in state: 376. ## -## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let let_binding . seq(Attr) In closed_if [ Else ] ## ## The known suffix of the stack is as follows: @@ -1998,29 +2927,29 @@ interactive_expr: Match True With WILD ARROW If True Then Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Match True With WILD ARROW If True Then Let With ## -## Ends in an error in state: 350. +## Ends in an error in state: 277. ## -## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(closed_if) -> Let . let_binding seq(Attr) In closed_if [ Else ] ## let_expr(closed_if) -> Let . Rec let_binding seq(Attr) In closed_if [ Else ] ## @@ -2030,108 +2959,11 @@ interactive_expr: Match True With WILD ARROW If True Then Let With -interactive_expr: Match True With WILD ARROW If True Then Match True Type -## -## Ends in an error in state: 339. -## -## match_expr(base_if_then_else) -> Match expr . With option(VBAR) cases(base_if_then_else) [ Else ] -## -## The known suffix of the stack is as follows: -## Match 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## - - - -interactive_expr: Match True With WILD ARROW If True Then Match True With VBAR Begin -## -## Ends in an error in state: 341. -## -## match_expr(base_if_then_else) -> Match expr With option(VBAR) . cases(base_if_then_else) [ Else ] -## -## The known suffix of the stack is as follows: -## Match expr With option(VBAR) -## - - - -interactive_expr: Match True With WILD ARROW If True Then Match True With WILD ARROW Bytes With -## -## Ends in an error in state: 344. -## -## cases(base_cond) -> cases(base_cond) . VBAR case_clause(base_cond) [ VBAR ] -## cases(base_if_then_else) -> cases(base_cond) . VBAR case_clause(base_if_then_else) [ Else ] -## -## The known suffix of the stack is as follows: -## cases(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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 403, spurious reduction of production base_expr(base_cond) -> disj_expr_level -## In state 375, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 376, spurious reduction of production base_cond -> base_cond__open(base_cond) -## In state 414, spurious reduction of production case_clause(base_cond) -> pattern ARROW base_cond -## In state 349, spurious reduction of production cases(base_cond) -> case_clause(base_cond) -## - - - -interactive_expr: Match True With WILD ARROW If True Then Match True With With -## -## Ends in an error in state: 340. -## -## match_expr(base_if_then_else) -> Match expr With . option(VBAR) cases(base_if_then_else) [ Else ] -## -## The known suffix of the stack is as follows: -## Match expr With -## - - - -interactive_expr: Match True With WILD ARROW If True Then Match With -## -## Ends in an error in state: 338. -## -## match_expr(base_if_then_else) -> Match . expr With option(VBAR) cases(base_if_then_else) [ Else ] -## -## The known suffix of the stack is as follows: -## Match -## - - - interactive_expr: Match True With WILD ARROW If True Then True Else With ## -## Ends in an error in state: 496. +## Ends in an error in state: 411. ## -## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then closed_if Else . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then closed_if Else @@ -2139,12 +2971,42 @@ interactive_expr: Match True With WILD ARROW If True Then True Else With +interactive_expr: Match True With WILD ARROW If True Then True End +## +## Ends in an error in state: 297. +## +## base_expr(base_cond) -> disj_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## base_expr(closed_if) -> disj_expr_level . [ Else ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## + + + interactive_expr: Match True With WILD ARROW If True Then With ## -## Ends in an error in state: 494. +## Ends in an error in state: 262. ## -## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr Then . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr Then . closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr Then @@ -2154,10 +3016,10 @@ interactive_expr: Match True With WILD ARROW If True Then With interactive_expr: Match True With WILD ARROW If True With ## -## Ends in an error in state: 493. +## Ends in an error in state: 261. ## -## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If expr . Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If expr . Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If expr @@ -2166,28 +3028,28 @@ interactive_expr: Match True With WILD ARROW If True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: Match True With WILD ARROW If With ## -## Ends in an error in state: 492. +## Ends in an error in state: 260. ## -## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## if_then(base_cond) -> If . expr Then base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## if_then_else(base_cond) -> If . expr Then closed_if Else base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## If @@ -2197,9 +3059,9 @@ interactive_expr: Match True With WILD ARROW If With interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 490. +## Ends in an error in state: 258. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) @@ -2208,17 +3070,17 @@ interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 491. +## Ends in an error in state: 259. ## -## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding seq(Attr) In @@ -2228,9 +3090,9 @@ interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes In With interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 489. +## Ends in an error in state: 257. ## -## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec let_binding @@ -2239,28 +3101,28 @@ interactive_expr: Match True With WILD ARROW Let Rec WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Match True With WILD ARROW Let Rec With ## -## Ends in an error in state: 488. +## Ends in an error in state: 256. ## -## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let Rec . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let Rec @@ -2270,9 +3132,9 @@ interactive_expr: Match True With WILD ARROW Let Rec With interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 503. +## Ends in an error in state: 418. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) . In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) @@ -2281,17 +3143,17 @@ interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 171, spurious reduction of production seq(Attr) -> -## In state 172, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 172, spurious reduction of production seq(Attr) -> +## In state 173, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes In With ## -## Ends in an error in state: 504. +## Ends in an error in state: 419. ## -## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding seq(Attr) In . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding seq(Attr) In @@ -2301,9 +3163,9 @@ interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes In With interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes With ## -## Ends in an error in state: 502. +## Ends in an error in state: 417. ## -## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let let_binding . seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let let_binding @@ -2312,29 +3174,29 @@ interactive_expr: Match True With WILD ARROW Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## interactive_expr: Match True With WILD ARROW Let With ## -## Ends in an error in state: 487. +## Ends in an error in state: 255. ## -## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## let_expr(base_cond) -> Let . let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## let_expr(base_cond) -> Let . Rec let_binding seq(Attr) In base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Let @@ -2344,10 +3206,10 @@ interactive_expr: Match True With WILD ARROW Let With interactive_expr: Match True With WILD ARROW True COMMA Bytes Else ## -## Ends in an error in state: 505. +## Ends in an error in state: 575. ## -## cases(base_cond) -> cases(base_cond) . VBAR case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## match_expr(base_cond) -> Match expr With option(VBAR) cases(base_cond) . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## cases(base_cond) -> cases(base_cond) . VBAR case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## match_expr(base_cond) -> Match expr With option(VBAR) cases(base_cond) . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Match expr With option(VBAR) cases(base_cond) @@ -2356,35 +3218,35 @@ interactive_expr: Match True With WILD ARROW True COMMA Bytes Else ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 295, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level -## In state 294, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) -## In state 216, spurious reduction of production tuple_expr -> tuple(disj_expr_level) -## In state 500, spurious reduction of production base_expr(base_cond) -> tuple_expr -## In state 375, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 376, spurious reduction of production base_cond -> base_cond__open(base_cond) -## In state 414, spurious reduction of production case_clause(base_cond) -> pattern ARROW base_cond -## In state 349, spurious reduction of production cases(base_cond) -> case_clause(base_cond) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 342, spurious reduction of production nsepseq(disj_expr_level,COMMA) -> disj_expr_level +## In state 341, spurious reduction of production tuple(disj_expr_level) -> disj_expr_level COMMA nsepseq(disj_expr_level,COMMA) +## In state 218, spurious reduction of production tuple_expr -> tuple(disj_expr_level) +## In state 415, spurious reduction of production base_expr(base_cond) -> tuple_expr +## In state 354, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) +## In state 355, spurious reduction of production base_cond -> base_cond__open(base_cond) +## In state 401, spurious reduction of production case_clause(base_cond) -> pattern ARROW base_cond +## In state 409, spurious reduction of production cases(base_cond) -> case_clause(base_cond) ## -interactive_expr: Match True With WILD ARROW True Else +interactive_expr: Match True With WILD ARROW True End ## -## Ends in an error in state: 501. +## Ends in an error in state: 416. ## -## base_expr(base_cond) -> disj_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In End EOF COMMA COLON BOOL_OR Attr ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In End EOF COMMA COLON BOOL_OR Attr ] -## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## base_expr(base_cond) -> disj_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In EOF COMMA COLON BOOL_OR Attr ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -2393,24 +3255,24 @@ interactive_expr: Match True With WILD ARROW True Else ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: Match True With WILD ARROW With ## -## Ends in an error in state: 486. +## Ends in an error in state: 574. ## -## case_clause(base_cond) -> pattern ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## case_clause(base_cond) -> pattern ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## pattern ARROW @@ -2420,7 +3282,7 @@ interactive_expr: Match True With WILD ARROW With interactive_expr: Match True With WILD COMMA WILD COMMA With ## -## Ends in an error in state: 325. +## Ends in an error in state: 250. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2432,7 +3294,7 @@ interactive_expr: Match True With WILD COMMA WILD COMMA With interactive_expr: Match True With WILD COMMA WILD With ## -## Ends in an error in state: 324. +## Ends in an error in state: 249. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] @@ -2445,7 +3307,7 @@ interactive_expr: Match True With WILD COMMA WILD With interactive_expr: Match True With WILD COMMA With ## -## Ends in an error in state: 323. +## Ends in an error in state: 248. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2457,9 +3319,9 @@ interactive_expr: Match True With WILD COMMA With interactive_expr: Match True With WILD CONS Bytes SEMI ## -## Ends in an error in state: 485. +## Ends in an error in state: 573. ## -## case_clause(base_cond) -> pattern . ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## case_clause(base_cond) -> pattern . ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## pattern @@ -2468,15 +3330,15 @@ interactive_expr: Match True With WILD CONS Bytes 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 95, spurious reduction of production tail -> sub_pattern -## In state 322, spurious reduction of production pattern -> sub_pattern CONS tail +## In state 96, spurious reduction of production tail -> sub_pattern +## In state 247, spurious reduction of production pattern -> sub_pattern CONS tail ## interactive_expr: Match True With WILD CONS With ## -## Ends in an error in state: 321. +## Ends in an error in state: 246. ## ## pattern -> sub_pattern CONS . tail [ ARROW ] ## @@ -2488,7 +3350,7 @@ interactive_expr: Match True With WILD CONS With interactive_expr: Match True With WILD With ## -## Ends in an error in state: 342. +## Ends in an error in state: 402. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ CONS COMMA ] @@ -2501,9 +3363,9 @@ interactive_expr: Match True With WILD With interactive_expr: Match True With With ## -## Ends in an error in state: 483. +## Ends in an error in state: 571. ## -## match_expr(base_cond) -> Match expr With . option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match expr With . option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Match expr With @@ -2513,9 +3375,9 @@ interactive_expr: Match True With With interactive_expr: Match With ## -## Ends in an error in state: 165. +## Ends in an error in state: 166. ## -## match_expr(base_cond) -> Match . expr With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## match_expr(base_cond) -> Match . expr With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## Match @@ -2525,7 +3387,7 @@ interactive_expr: Match With interactive_expr: Not With ## -## Ends in an error in state: 161. +## Ends in an error in state: 162. ## ## unary_expr_level -> Not . call_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2537,7 +3399,7 @@ interactive_expr: Not With interactive_expr: True BOOL_AND With ## -## Ends in an error in state: 270. +## Ends in an error in state: 317. ## ## bin_op(conj_expr_level,BOOL_AND,comp_expr_level) -> conj_expr_level BOOL_AND . comp_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In End Else EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2549,7 +3411,7 @@ interactive_expr: True BOOL_AND With interactive_expr: True BOOL_OR With ## -## Ends in an error in state: 301. +## Ends in an error in state: 348. ## ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level BOOL_OR . conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In End Else EOF COMMA COLON BOOL_OR Attr ] ## @@ -2561,7 +3423,7 @@ interactive_expr: True BOOL_OR With interactive_expr: True CAT With ## -## Ends in an error in state: 253. +## Ends in an error in state: 300. ## ## bin_op(cons_expr_level,CAT,cat_expr_level) -> cons_expr_level CAT . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2573,9 +3435,9 @@ interactive_expr: True CAT With interactive_expr: True COMMA True COMMA With ## -## Ends in an error in state: 296. +## Ends in an error in state: 343. ## -## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End Else EOF COLON Attr ] +## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level COMMA @@ -2583,11 +3445,40 @@ interactive_expr: True COMMA True COMMA With +interactive_expr: True COMMA True End +## +## Ends in an error in state: 342. +## +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In Else EOF COMMA COLON BOOL_OR Attr ] +## nsepseq(disj_expr_level,COMMA) -> disj_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] +## nsepseq(disj_expr_level,COMMA) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] +## +## The known suffix of the stack is as follows: +## disj_expr_level +## +## 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 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## + + + interactive_expr: True COMMA With ## -## Ends in an error in state: 293. +## Ends in an error in state: 340. ## -## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In End Else EOF COLON Attr ] +## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In Else EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level COMMA @@ -2597,7 +3488,7 @@ interactive_expr: True COMMA With interactive_expr: True CONS With ## -## Ends in an error in state: 267. +## Ends in an error in state: 314. ## ## bin_op(add_expr_level,CONS,cons_expr_level) -> add_expr_level CONS . cons_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2609,7 +3500,7 @@ interactive_expr: True CONS With interactive_expr: True Constr With ## -## Ends in an error in state: 199. +## Ends in an error in state: 200. ## ## module_field -> Constr . DOT module_fun [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] ## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With VBAR Type True Then TIMES String SLASH SEMI RPAR RBRACKET RBRACE PLUS Or Nat NE Mutez Mod MINUS Let LT LPAR LE LBRACKET LBRACE Int In Ident GT GE False End Else EQ EOF Constr CONS COMMA COLON CAT Bytes Begin BOOL_OR BOOL_AND Attr ] @@ -2622,7 +3513,7 @@ interactive_expr: True Constr With interactive_expr: True EQ With ## -## Ends in an error in state: 282. +## Ends in an error in state: 329. ## ## bin_op(comp_expr_level,EQ,cat_expr_level) -> comp_expr_level EQ . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2634,7 +3525,7 @@ interactive_expr: True EQ With interactive_expr: True GE With ## -## Ends in an error in state: 280. +## Ends in an error in state: 327. ## ## bin_op(comp_expr_level,GE,cat_expr_level) -> comp_expr_level GE . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2646,7 +3537,7 @@ interactive_expr: True GE With interactive_expr: True GT With ## -## Ends in an error in state: 278. +## Ends in an error in state: 325. ## ## bin_op(comp_expr_level,GT,cat_expr_level) -> comp_expr_level GT . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2658,7 +3549,7 @@ interactive_expr: True GT With interactive_expr: True LE With ## -## Ends in an error in state: 276. +## Ends in an error in state: 323. ## ## bin_op(comp_expr_level,LE,cat_expr_level) -> comp_expr_level LE . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2670,7 +3561,7 @@ interactive_expr: True LE With interactive_expr: True LT With ## -## Ends in an error in state: 274. +## Ends in an error in state: 321. ## ## bin_op(comp_expr_level,LT,cat_expr_level) -> comp_expr_level LT . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2682,7 +3573,7 @@ interactive_expr: True LT With interactive_expr: True MINUS C_None WILD ## -## Ends in an error in state: 266. +## Ends in an error in state: 313. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS mult_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -2697,7 +3588,7 @@ interactive_expr: True MINUS C_None WILD interactive_expr: True MINUS With ## -## Ends in an error in state: 265. +## Ends in an error in state: 312. ## ## bin_op(add_expr_level,MINUS,mult_expr_level) -> add_expr_level MINUS . mult_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2709,7 +3600,7 @@ interactive_expr: True MINUS With interactive_expr: True Mod With ## -## Ends in an error in state: 236. +## Ends in an error in state: 233. ## ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level Mod . unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2721,7 +3612,7 @@ interactive_expr: True Mod With interactive_expr: True NE With ## -## Ends in an error in state: 272. +## Ends in an error in state: 319. ## ## bin_op(comp_expr_level,NE,cat_expr_level) -> comp_expr_level NE . cat_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or NE Let LT LE In GT GE End Else EQ EOF COMMA COLON BOOL_OR BOOL_AND Attr ] ## @@ -2733,7 +3624,7 @@ interactive_expr: True NE With interactive_expr: True Or With ## -## Ends in an error in state: 251. +## Ends in an error in state: 298. ## ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level Or . conj_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Or Let In End Else EOF COMMA COLON BOOL_OR Attr ] ## @@ -2745,7 +3636,7 @@ interactive_expr: True Or With interactive_expr: True PLUS C_None WILD ## -## Ends in an error in state: 264. +## Ends in an error in state: 311. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS mult_expr_level . [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## bin_op(mult_expr_level,Mod,unary_expr_level) -> mult_expr_level . Mod unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -2760,7 +3651,7 @@ interactive_expr: True PLUS C_None WILD interactive_expr: True PLUS With ## -## Ends in an error in state: 263. +## Ends in an error in state: 310. ## ## bin_op(add_expr_level,PLUS,mult_expr_level) -> add_expr_level PLUS . mult_expr_level [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE PLUS Or NE MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2772,7 +3663,7 @@ interactive_expr: True PLUS With interactive_expr: True SLASH With ## -## Ends in an error in state: 234. +## Ends in an error in state: 231. ## ## bin_op(mult_expr_level,SLASH,unary_expr_level) -> mult_expr_level SLASH . unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2784,7 +3675,7 @@ interactive_expr: True SLASH With interactive_expr: True TIMES With ## -## Ends in an error in state: 223. +## Ends in an error in state: 220. ## ## bin_op(mult_expr_level,TIMES,unary_expr_level) -> mult_expr_level TIMES . unary_expr_level [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2796,7 +3687,7 @@ interactive_expr: True TIMES With interactive_expr: True True True WILD ## -## Ends in an error in state: 229. +## Ends in an error in state: 226. ## ## seq(core_expr) -> core_expr . seq(core_expr) [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2808,7 +3699,7 @@ interactive_expr: True True True WILD interactive_expr: True True WILD ## -## Ends in an error in state: 227. +## Ends in an error in state: 224. ## ## nseq(core_expr) -> core_expr . seq(core_expr) [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## @@ -2820,12 +3711,12 @@ interactive_expr: True True WILD interactive_expr: True VBAR ## -## Ends in an error in state: 250. +## Ends in an error in state: 366. ## -## base_expr(expr) -> disj_expr_level . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In End EOF COMMA COLON BOOL_OR Attr ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In End EOF COMMA COLON BOOL_OR Attr ] -## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In End EOF COLON Attr ] +## base_expr(expr) -> disj_expr_level . [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] +## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In EOF COMMA COLON BOOL_OR Attr ] +## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ With Type Then SEMI RPAR RBRACKET RBRACE Or Let In EOF COMMA COLON BOOL_OR Attr ] +## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -2834,22 +3725,22 @@ 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: True WILD ## -## Ends in an error in state: 225. +## Ends in an error in state: 222. ## ## call_expr -> core_expr . nseq(core_expr) [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## call_expr_level -> core_expr . [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -2862,7 +3753,7 @@ interactive_expr: True WILD interactive_expr: True With ## -## Ends in an error in state: 527. +## Ends in an error in state: 597. ## ## interactive_expr -> expr . EOF [ # ] ## @@ -2873,25 +3764,25 @@ interactive_expr: True With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) ## interactive_expr: With ## -## Ends in an error in state: 525. +## Ends in an error in state: 595. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2901,9 +3792,9 @@ interactive_expr: With -contract: Let Ident WILD COLON Ident VBAR +contract: Let Ident WILD COLON String VBAR ## -## Ends in an error in state: 157. +## Ends in an error in state: 158. ## ## let_binding -> Ident nseq(sub_irrefutable) option(type_annotation) . EQ expr [ Type Let In EOF Attr ] ## @@ -2914,18 +3805,18 @@ contract: Let Ident WILD COLON 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type -## In state 155, spurious reduction of production type_annotation -> COLON type_expr -## In state 156, spurious reduction of production option(type_annotation) -> type_annotation +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type +## In state 156, spurious reduction of production type_annotation -> COLON type_expr +## In state 157, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let Ident WILD EQ With ## -## Ends in an error in state: 158. +## Ends in an error in state: 159. ## ## let_binding -> Ident nseq(sub_irrefutable) option(type_annotation) EQ . expr [ Type Let In EOF Attr ] ## @@ -2937,7 +3828,7 @@ contract: Let Ident WILD EQ With contract: Let Ident WILD WILD With ## -## Ends in an error in state: 150. +## Ends in an error in state: 151. ## ## seq(sub_irrefutable) -> sub_irrefutable . seq(sub_irrefutable) [ EQ COLON ] ## @@ -2949,7 +3840,7 @@ contract: Let Ident WILD WILD With contract: Let Ident WILD With ## -## Ends in an error in state: 149. +## Ends in an error in state: 150. ## ## nseq(sub_irrefutable) -> sub_irrefutable . seq(sub_irrefutable) [ EQ COLON ] ## @@ -2961,7 +3852,7 @@ contract: Let Ident WILD With contract: Let Ident With ## -## Ends in an error in state: 148. +## Ends in an error in state: 149. ## ## let_binding -> Ident . nseq(sub_irrefutable) option(type_annotation) EQ expr [ Type Let In EOF Attr ] ## sub_irrefutable -> Ident . [ EQ COMMA COLON ] @@ -2974,7 +3865,7 @@ contract: Let Ident With contract: Let LBRACE Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 126. +## Ends in an error in state: 127. ## ## nsepseq(field_pattern,SEMI) -> field_pattern SEMI . nsepseq(field_pattern,SEMI) [ RBRACE ] ## seq(__anonymous_0(field_pattern,SEMI)) -> field_pattern SEMI . seq(__anonymous_0(field_pattern,SEMI)) [ RBRACE ] @@ -2987,7 +3878,7 @@ contract: Let LBRACE Ident EQ Bytes SEMI Ident EQ Bytes SEMI With contract: Let LBRACE Ident EQ Bytes SEMI Ident EQ Bytes With ## -## Ends in an error in state: 125. +## Ends in an error in state: 126. ## ## nsepseq(field_pattern,SEMI) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,SEMI) -> field_pattern . SEMI nsepseq(field_pattern,SEMI) [ RBRACE ] @@ -3001,7 +3892,7 @@ contract: Let LBRACE Ident EQ Bytes SEMI Ident EQ Bytes With contract: Let LBRACE Ident EQ Bytes SEMI With ## -## Ends in an error in state: 122. +## Ends in an error in state: 123. ## ## nsepseq(field_pattern,SEMI) -> field_pattern SEMI . nsepseq(field_pattern,SEMI) [ RBRACE ] ## nseq(__anonymous_0(field_pattern,SEMI)) -> field_pattern SEMI . seq(__anonymous_0(field_pattern,SEMI)) [ RBRACE ] @@ -3014,7 +3905,7 @@ contract: Let LBRACE Ident EQ Bytes SEMI With contract: Let LBRACE Ident EQ Bytes With ## -## Ends in an error in state: 121. +## Ends in an error in state: 122. ## ## nsepseq(field_pattern,SEMI) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,SEMI) -> field_pattern . SEMI nsepseq(field_pattern,SEMI) [ RBRACE ] @@ -3028,7 +3919,7 @@ contract: Let LBRACE Ident EQ Bytes With contract: Let LBRACE Ident EQ With ## -## Ends in an error in state: 68. +## Ends in an error in state: 69. ## ## field_pattern -> Ident EQ . sub_pattern [ SEMI RBRACE ] ## @@ -3040,7 +3931,7 @@ contract: Let LBRACE Ident EQ With contract: Let LBRACE Ident With ## -## Ends in an error in state: 67. +## Ends in an error in state: 68. ## ## field_pattern -> Ident . EQ sub_pattern [ SEMI RBRACE ] ## @@ -3052,7 +3943,7 @@ contract: Let LBRACE Ident With contract: Let LBRACE With ## -## Ends in an error in state: 66. +## Ends in an error in state: 67. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,SEMI) RBRACE [ WILD SEMI RPAR RBRACKET RBRACE LPAR LBRACE Ident EQ Constr CONS COMMA COLON ARROW ] ## @@ -3064,7 +3955,7 @@ contract: Let LBRACE With contract: Let LPAR Constr C_Some With ## -## Ends in an error in state: 79. +## Ends in an error in state: 80. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] ## @@ -3076,7 +3967,7 @@ contract: Let LPAR Constr C_Some With contract: Let LPAR Constr Constr With ## -## Ends in an error in state: 78. +## Ends in an error in state: 79. ## ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] @@ -3089,7 +3980,7 @@ contract: Let LPAR Constr Constr With contract: Let LPAR Constr LBRACKET WILD RPAR ## -## Ends in an error in state: 91. +## Ends in an error in state: 92. ## ## nsepseq(tail,SEMI) -> tail . [ RBRACKET ] ## nsepseq(tail,SEMI) -> tail . SEMI nsepseq(tail,SEMI) [ RBRACKET ] @@ -3102,14 +3993,14 @@ contract: Let LPAR Constr LBRACKET WILD 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 95, spurious reduction of production tail -> sub_pattern +## In state 96, spurious reduction of production tail -> sub_pattern ## contract: Let LPAR Constr LBRACKET WILD SEMI WILD RPAR ## -## Ends in an error in state: 93. +## Ends in an error in state: 94. ## ## nsepseq(tail,SEMI) -> tail . [ RBRACKET ] ## nsepseq(tail,SEMI) -> tail . SEMI nsepseq(tail,SEMI) [ RBRACKET ] @@ -3122,14 +4013,14 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD 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 95, spurious reduction of production tail -> sub_pattern +## In state 96, spurious reduction of production tail -> sub_pattern ## contract: Let LPAR Constr LBRACKET WILD SEMI WILD SEMI With ## -## Ends in an error in state: 94. +## Ends in an error in state: 95. ## ## nsepseq(tail,SEMI) -> tail SEMI . nsepseq(tail,SEMI) [ RBRACKET ] ## seq(__anonymous_0(tail,SEMI)) -> tail SEMI . seq(__anonymous_0(tail,SEMI)) [ RBRACKET ] @@ -3142,7 +4033,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD SEMI With contract: Let LPAR Constr LBRACKET WILD SEMI With ## -## Ends in an error in state: 92. +## Ends in an error in state: 93. ## ## nsepseq(tail,SEMI) -> tail SEMI . nsepseq(tail,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(tail,SEMI)) -> tail SEMI . seq(__anonymous_0(tail,SEMI)) [ RBRACKET ] @@ -3155,7 +4046,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI With contract: Let LPAR Constr LBRACKET With ## -## Ends in an error in state: 74. +## Ends in an error in state: 75. ## ## list__(tail) -> LBRACKET . option(sep_or_term_list(tail,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] ## @@ -3167,7 +4058,7 @@ contract: Let LPAR Constr LBRACKET With contract: Let LPAR Constr LPAR WILD COMMA WILD COMMA With ## -## Ends in an error in state: 111. +## Ends in an error in state: 112. ## ## nsepseq(tail,COMMA) -> tail COMMA . nsepseq(tail,COMMA) [ RPAR ] ## @@ -3179,7 +4070,7 @@ contract: Let LPAR Constr LPAR WILD COMMA WILD COMMA With contract: Let LPAR Constr LPAR WILD COMMA WILD SEMI ## -## Ends in an error in state: 110. +## Ends in an error in state: 111. ## ## nsepseq(tail,COMMA) -> tail . [ RPAR ] ## nsepseq(tail,COMMA) -> tail . COMMA nsepseq(tail,COMMA) [ RPAR ] @@ -3191,14 +4082,14 @@ contract: Let LPAR Constr LPAR WILD COMMA WILD 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 95, spurious reduction of production tail -> sub_pattern +## In state 96, spurious reduction of production tail -> sub_pattern ## contract: Let LPAR Constr LPAR WILD COMMA With ## -## Ends in an error in state: 109. +## Ends in an error in state: 110. ## ## tuple(tail) -> tail COMMA . nsepseq(tail,COMMA) [ RPAR ] ## @@ -3210,7 +4101,7 @@ contract: Let LPAR Constr LPAR WILD COMMA With contract: Let LPAR Constr LPAR WILD CONS With ## -## Ends in an error in state: 96. +## Ends in an error in state: 97. ## ## tail -> sub_pattern CONS . tail [ SEMI RPAR RBRACKET COMMA ARROW ] ## @@ -3222,7 +4113,7 @@ contract: Let LPAR Constr LPAR WILD CONS With contract: Let LPAR Constr LPAR WILD SEMI ## -## Ends in an error in state: 107. +## Ends in an error in state: 108. ## ## par(tail) -> LPAR tail . RPAR [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] ## tuple(tail) -> tail . COMMA nsepseq(tail,COMMA) [ RPAR ] @@ -3234,14 +4125,14 @@ contract: Let LPAR Constr LPAR WILD 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 95, spurious reduction of production tail -> sub_pattern +## In state 96, spurious reduction of production tail -> sub_pattern ## contract: Let LPAR Constr LPAR WILD With ## -## Ends in an error in state: 95. +## Ends in an error in state: 96. ## ## tail -> sub_pattern . [ SEMI RPAR RBRACKET COMMA ARROW ] ## tail -> sub_pattern . CONS tail [ SEMI RPAR RBRACKET COMMA ARROW ] @@ -3254,7 +4145,7 @@ contract: Let LPAR Constr LPAR WILD With contract: Let LPAR Constr LPAR With ## -## Ends in an error in state: 73. +## Ends in an error in state: 74. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] ## par(tail) -> LPAR . tail RPAR [ SEMI RPAR RBRACKET RBRACE CONS COMMA ARROW ] @@ -3268,7 +4159,7 @@ contract: Let LPAR Constr LPAR With contract: Let LPAR Constr WILD With ## -## Ends in an error in state: 146. +## Ends in an error in state: 147. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ WILD RPAR LPAR LBRACE Ident EQ Constr COMMA COLON ARROW ] ## @@ -3280,7 +4171,7 @@ contract: Let LPAR Constr WILD With contract: Let LPAR Constr With ## -## Ends in an error in state: 129. +## Ends in an error in state: 130. ## ## closed_irrefutable -> Constr . sub_pattern [ RPAR ] ## sub_irrefutable -> Constr . [ RPAR COMMA COLON ] @@ -3293,7 +4184,7 @@ contract: Let LPAR Constr With contract: Let LPAR WILD COLON With ## -## Ends in an error in state: 144. +## Ends in an error in state: 145. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3305,7 +4196,7 @@ contract: Let LPAR WILD COLON With contract: Let LPAR WILD WILD ## -## Ends in an error in state: 143. +## Ends in an error in state: 144. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3317,14 +4208,14 @@ contract: Let LPAR WILD WILD ## 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 134, spurious reduction of production irrefutable -> sub_irrefutable +## In state 135, spurious reduction of production irrefutable -> sub_irrefutable ## contract: Let LPAR With ## -## Ends in an error in state: 64. +## Ends in an error in state: 65. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ WILD RPAR LPAR LBRACE Ident EQ Constr COMMA COLON ARROW ] ## unit -> LPAR . RPAR [ WILD RPAR LPAR LBRACE Ident EQ Constr COMMA COLON ARROW ] @@ -3337,7 +4228,7 @@ contract: Let LPAR With contract: Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 514. +## Ends in an error in state: 584. ## ## let_declaration -> Let Rec let_binding . seq(Attr) [ Type Let EOF ] ## @@ -3348,26 +4239,26 @@ contract: Let Rec WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## contract: Let Rec With ## -## Ends in an error in state: 63. +## Ends in an error in state: 64. ## ## let_declaration -> Let Rec . let_binding seq(Attr) [ Type Let EOF ] ## @@ -3379,7 +4270,7 @@ contract: Let Rec With contract: Let WILD COLON Ident VBAR ## -## Ends in an error in state: 386. +## Ends in an error in state: 373. ## ## let_binding -> irrefutable option(type_annotation) . EQ expr [ Type Let In EOF Attr ] ## @@ -3390,18 +4281,18 @@ contract: Let WILD COLON 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type -## In state 155, spurious reduction of production type_annotation -> COLON type_expr -## In state 156, spurious reduction of production option(type_annotation) -> type_annotation +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type +## In state 156, spurious reduction of production type_annotation -> COLON type_expr +## In state 157, spurious reduction of production option(type_annotation) -> type_annotation ## contract: Let WILD COLON With ## -## Ends in an error in state: 154. +## Ends in an error in state: 155. ## ## type_annotation -> COLON . type_expr [ EQ ] ## @@ -3413,7 +4304,7 @@ contract: Let WILD COLON With contract: Let WILD COMMA WILD COMMA With ## -## Ends in an error in state: 138. +## Ends in an error in state: 139. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] ## @@ -3425,7 +4316,7 @@ contract: Let WILD COMMA WILD COMMA With contract: Let WILD COMMA WILD With ## -## Ends in an error in state: 137. +## Ends in an error in state: 138. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] @@ -3438,7 +4329,7 @@ contract: Let WILD COMMA WILD With contract: Let WILD COMMA With ## -## Ends in an error in state: 135. +## Ends in an error in state: 136. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] ## @@ -3450,7 +4341,7 @@ contract: Let WILD COMMA With contract: Let WILD EQ Bytes Attr With ## -## Ends in an error in state: 171. +## Ends in an error in state: 172. ## ## seq(Attr) -> Attr . seq(Attr) [ Type Let In EOF ] ## @@ -3462,7 +4353,7 @@ contract: Let WILD EQ Bytes Attr With contract: Let WILD EQ Bytes With ## -## Ends in an error in state: 516. +## Ends in an error in state: 586. ## ## let_declaration -> Let let_binding . seq(Attr) [ Type Let EOF ] ## @@ -3473,26 +4364,26 @@ contract: Let WILD EQ Bytes With ## 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 225, spurious reduction of production call_expr_level -> core_expr -## In state 232, spurious reduction of production unary_expr_level -> call_expr_level -## In state 214, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 222, spurious reduction of production add_expr_level -> mult_expr_level -## In state 262, spurious reduction of production cons_expr_level -> add_expr_level -## In state 252, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 284, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 291, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 298, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 250, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 304, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 305, spurious reduction of production expr -> base_cond__open(expr) -## In state 388, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr +## In state 222, spurious reduction of production call_expr_level -> core_expr +## In state 229, spurious reduction of production unary_expr_level -> call_expr_level +## In state 216, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 219, spurious reduction of production add_expr_level -> mult_expr_level +## In state 309, spurious reduction of production cons_expr_level -> add_expr_level +## In state 299, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 331, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 338, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 345, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 366, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 368, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 369, spurious reduction of production expr -> base_cond__open(expr) +## In state 375, spurious reduction of production let_binding -> irrefutable option(type_annotation) EQ expr ## contract: Let WILD EQ With ## -## Ends in an error in state: 387. +## Ends in an error in state: 374. ## ## let_binding -> irrefutable option(type_annotation) EQ . expr [ Type Let In EOF Attr ] ## @@ -3504,7 +4395,7 @@ contract: Let WILD EQ With contract: Let WILD WILD ## -## Ends in an error in state: 385. +## Ends in an error in state: 372. ## ## let_binding -> irrefutable . option(type_annotation) EQ expr [ Type Let In EOF Attr ] ## @@ -3515,14 +4406,14 @@ contract: Let WILD WILD ## 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 134, spurious reduction of production irrefutable -> sub_irrefutable +## In state 135, spurious reduction of production irrefutable -> sub_irrefutable ## contract: Let WILD With ## -## Ends in an error in state: 134. +## Ends in an error in state: 135. ## ## irrefutable -> sub_irrefutable . [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ WILD RPAR LPAR LBRACE Ident EQ Constr COLON ARROW ] @@ -3535,7 +4426,7 @@ contract: Let WILD With contract: Let With ## -## Ends in an error in state: 61. +## Ends in an error in state: 62. ## ## let_declaration -> Let . let_binding seq(Attr) [ Type Let EOF ] ## let_declaration -> Let . Rec let_binding seq(Attr) [ Type Let EOF ] @@ -3548,7 +4439,7 @@ contract: Let With contract: Type Ident EQ Constr DOT With ## -## Ends in an error in state: 13. +## Ends in an error in state: 14. ## ## core_type -> Constr DOT . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] ## @@ -3572,7 +4463,7 @@ contract: Type Ident EQ Constr Of With contract: Type Ident EQ Constr VBAR With ## -## Ends in an error in state: 16. +## Ends in an error in state: 17. ## ## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA ] ## @@ -3584,7 +4475,7 @@ contract: Type Ident EQ Constr VBAR With contract: Type Ident EQ Constr With ## -## Ends in an error in state: 12. +## Ends in an error in state: 13. ## ## core_type -> Constr . DOT Ident [ Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] ## variant -> Constr . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ] @@ -3596,71 +4487,9 @@ contract: Type Ident EQ Constr With -contract: Type Ident EQ Ident ARROW With -## -## Ends in an error in state: 36. -## -## fun_type -> cartesian ARROW . fun_type [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ] -## -## The known suffix of the stack is as follows: -## cartesian ARROW -## - - - -contract: Type Ident EQ Ident TIMES Constr With -## -## Ends in an error in state: 29. -## -## core_type -> Constr . DOT Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] -## -## The known suffix of the stack is as follows: -## Constr -## - - - -contract: Type Ident EQ Ident TIMES Ident TIMES With -## -## Ends in an error in state: 32. -## -## nsepseq(core_type,TIMES) -> core_type TIMES . nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## -## The known suffix of the stack is as follows: -## core_type TIMES -## - - - -contract: Type Ident EQ Ident TIMES Ident With -## -## Ends in an error in state: 31. -## -## core_type -> core_type . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] -## nsepseq(core_type,TIMES) -> core_type . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## nsepseq(core_type,TIMES) -> core_type . TIMES nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## -## The known suffix of the stack is as follows: -## core_type -## - - - -contract: Type Ident EQ Ident TIMES With -## -## Ends in an error in state: 28. -## -## cartesian -> core_type TIMES . nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## -## The known suffix of the stack is as follows: -## core_type TIMES -## - - - contract: Type Ident EQ Ident VBAR ## -## Ends in an error in state: 522. +## Ends in an error in state: 592. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -3672,32 +4501,18 @@ contract: Type Ident EQ 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type -## In state 60, spurious reduction of production type_decl -> Type Ident EQ type_expr -## In state 518, spurious reduction of production declaration -> type_decl -## - - - -contract: Type Ident EQ Ident With -## -## Ends in an error in state: 27. -## -## cartesian -> core_type . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## cartesian -> core_type . TIMES nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] -## core_type -> core_type . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] -## -## The known suffix of the stack is as follows: -## core_type +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type +## In state 61, spurious reduction of production type_decl -> Type Ident EQ type_expr +## In state 588, spurious reduction of production declaration -> type_decl ## contract: Type Ident EQ LBRACE Ident COLON Constr SEMI Ident COLON Constr SEMI With ## -## Ends in an error in state: 47. +## Ends in an error in state: 48. ## ## nsepseq(field_decl,SEMI) -> field_decl SEMI . nsepseq(field_decl,SEMI) [ RBRACE ] ## seq(__anonymous_0(field_decl,SEMI)) -> field_decl SEMI . seq(__anonymous_0(field_decl,SEMI)) [ RBRACE ] @@ -3710,7 +4525,7 @@ contract: Type Ident EQ LBRACE Ident COLON Constr SEMI Ident COLON Constr SEMI W contract: Type Ident EQ LBRACE Ident COLON Constr SEMI Ident COLON Ident VBAR ## -## Ends in an error in state: 46. +## Ends in an error in state: 47. ## ## nsepseq(field_decl,SEMI) -> field_decl . [ RBRACE ] ## nsepseq(field_decl,SEMI) -> field_decl . SEMI nsepseq(field_decl,SEMI) [ RBRACE ] @@ -3723,17 +4538,17 @@ contract: Type Ident EQ LBRACE Ident COLON Constr SEMI Ident COLON 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type -## In state 20, spurious reduction of production field_decl -> Ident COLON type_expr +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type +## In state 21, spurious reduction of production field_decl -> Ident COLON type_expr ## contract: Type Ident EQ LBRACE Ident COLON Constr SEMI With ## -## Ends in an error in state: 43. +## Ends in an error in state: 44. ## ## nsepseq(field_decl,SEMI) -> field_decl SEMI . nsepseq(field_decl,SEMI) [ RBRACE ] ## nseq(__anonymous_0(field_decl,SEMI)) -> field_decl SEMI . seq(__anonymous_0(field_decl,SEMI)) [ RBRACE ] @@ -3746,7 +4561,7 @@ contract: Type Ident EQ LBRACE Ident COLON Constr SEMI With contract: Type Ident EQ LBRACE Ident COLON Ident VBAR ## -## Ends in an error in state: 42. +## Ends in an error in state: 43. ## ## nsepseq(field_decl,SEMI) -> field_decl . [ RBRACE ] ## nsepseq(field_decl,SEMI) -> field_decl . SEMI nsepseq(field_decl,SEMI) [ RBRACE ] @@ -3759,17 +4574,17 @@ contract: Type Ident EQ LBRACE Ident COLON 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type -## In state 20, spurious reduction of production field_decl -> Ident COLON type_expr +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type +## In state 21, spurious reduction of production field_decl -> Ident COLON type_expr ## contract: Type Ident EQ LBRACE Ident COLON With ## -## Ends in an error in state: 10. +## Ends in an error in state: 11. ## ## field_decl -> Ident COLON . type_expr [ SEMI RBRACE ] ## @@ -3781,7 +4596,7 @@ contract: Type Ident EQ LBRACE Ident COLON With contract: Type Ident EQ LBRACE Ident With ## -## Ends in an error in state: 9. +## Ends in an error in state: 10. ## ## field_decl -> Ident . COLON type_expr [ SEMI RBRACE ] ## @@ -3793,7 +4608,7 @@ contract: Type Ident EQ LBRACE Ident With contract: Type Ident EQ LBRACE With ## -## Ends in an error in state: 8. +## Ends in an error in state: 9. ## ## record_type -> LBRACE . sep_or_term_list(field_decl,SEMI) RBRACE [ Type SEMI RPAR RBRACE Let EQ EOF COMMA ] ## @@ -3803,9 +4618,9 @@ contract: Type Ident EQ LBRACE With -contract: Type Ident EQ LPAR Ident COMMA Constr RPAR With +contract: Type Ident EQ LPAR String COMMA Constr RPAR With ## -## Ends in an error in state: 18. +## Ends in an error in state: 19. ## ## core_type -> type_tuple . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] ## @@ -3815,9 +4630,9 @@ contract: Type Ident EQ LPAR Ident COMMA Constr RPAR With -contract: Type Ident EQ LPAR Ident COMMA Ident COMMA With +contract: Type Ident EQ LPAR String COMMA String COMMA With ## -## Ends in an error in state: 53. +## Ends in an error in state: 54. ## ## nsepseq(type_expr,COMMA) -> type_expr COMMA . nsepseq(type_expr,COMMA) [ RPAR ] ## @@ -3827,9 +4642,9 @@ contract: Type Ident EQ LPAR Ident COMMA Ident COMMA With -contract: Type Ident EQ LPAR Ident COMMA Ident VBAR +contract: Type Ident EQ LPAR String COMMA String VBAR ## -## Ends in an error in state: 52. +## Ends in an error in state: 53. ## ## nsepseq(type_expr,COMMA) -> type_expr . [ RPAR ] ## nsepseq(type_expr,COMMA) -> type_expr . COMMA nsepseq(type_expr,COMMA) [ RPAR ] @@ -3841,16 +4656,16 @@ contract: Type Ident EQ LPAR Ident COMMA 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type ## -contract: Type Ident EQ LPAR Ident COMMA With +contract: Type Ident EQ LPAR String COMMA With ## -## Ends in an error in state: 51. +## Ends in an error in state: 52. ## ## tuple(type_expr) -> type_expr COMMA . nsepseq(type_expr,COMMA) [ RPAR ] ## @@ -3860,9 +4675,9 @@ contract: Type Ident EQ LPAR Ident COMMA With -contract: Type Ident EQ LPAR Ident VBAR +contract: Type Ident EQ LPAR String VBAR ## -## Ends in an error in state: 49. +## Ends in an error in state: 50. ## ## par(type_expr) -> LPAR type_expr . RPAR [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] ## tuple(type_expr) -> type_expr . COMMA nsepseq(type_expr,COMMA) [ RPAR ] @@ -3874,16 +4689,16 @@ contract: Type Ident EQ 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 27, spurious reduction of production cartesian -> core_type -## In state 35, spurious reduction of production fun_type -> cartesian -## In state 26, spurious reduction of production type_expr -> fun_type +## In state 28, spurious reduction of production cartesian -> core_type +## In state 36, spurious reduction of production fun_type -> cartesian +## In state 27, spurious reduction of production type_expr -> fun_type ## contract: Type Ident EQ LPAR With ## -## Ends in an error in state: 7. +## Ends in an error in state: 8. ## ## par(tuple(type_expr)) -> LPAR . tuple(type_expr) RPAR [ Ident ] ## par(type_expr) -> LPAR . type_expr RPAR [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] @@ -3894,6 +4709,82 @@ contract: Type Ident EQ LPAR With +contract: Type Ident EQ String ARROW With +## +## Ends in an error in state: 37. +## +## fun_type -> cartesian ARROW . fun_type [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ] +## +## The known suffix of the stack is as follows: +## cartesian ARROW +## + + + +contract: Type Ident EQ String TIMES Constr With +## +## Ends in an error in state: 30. +## +## core_type -> Constr . DOT Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] +## +## The known suffix of the stack is as follows: +## Constr +## + + + +contract: Type Ident EQ String TIMES String TIMES With +## +## Ends in an error in state: 33. +## +## nsepseq(core_type,TIMES) -> core_type TIMES . nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## +## The known suffix of the stack is as follows: +## core_type TIMES +## + + + +contract: Type Ident EQ String TIMES String With +## +## Ends in an error in state: 32. +## +## core_type -> core_type . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] +## nsepseq(core_type,TIMES) -> core_type . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## nsepseq(core_type,TIMES) -> core_type . TIMES nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## +## The known suffix of the stack is as follows: +## core_type +## + + + +contract: Type Ident EQ String TIMES With +## +## Ends in an error in state: 29. +## +## cartesian -> core_type TIMES . nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## +## The known suffix of the stack is as follows: +## core_type TIMES +## + + + +contract: Type Ident EQ String With +## +## Ends in an error in state: 28. +## +## cartesian -> core_type . [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## cartesian -> core_type . TIMES nsepseq(core_type,TIMES) [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA ARROW ] +## core_type -> core_type . Ident [ VBAR Type TIMES SEMI RPAR RBRACE Let Ident EQ EOF COMMA ARROW ] +## +## The known suffix of the stack is as follows: +## core_type +## + + + contract: Type Ident EQ VBAR Constr With ## ## Ends in an error in state: 5. diff --git a/src/passes/1-parser/reasonligo/Parser.mly b/src/passes/1-parser/reasonligo/Parser.mly index 2d2ffcc2f..b4114040d 100644 --- a/src/passes/1-parser/reasonligo/Parser.mly +++ b/src/passes/1-parser/reasonligo/Parser.mly @@ -8,20 +8,6 @@ open Region module AST = Parser_cameligo.AST open! AST -type 'a sequence_elements = { - s_elts : ('a, semi) Utils.nsepseq; - s_terminator : semi option -} - -type 'a record_elements = { - r_elts : (field_assign reg, semi) Utils.nsepseq; - r_terminator : semi option -} - -type 'a sequence_or_record = - PaSequence of 'a sequence_elements -| PaRecord of 'a record_elements - let (<@) f g x = f (g x) (* @@ -58,7 +44,7 @@ let wild_error e = %type contract %type interactive_expr -(* Solves a shift/reduce problem that happens with record and +(* Solves a shift/reduce problem that happens with records and sequences. To elaborate: [sequence_or_record_in] can be reduced to [expr -> Ident], but also to [field_assignment -> Ident]. @@ -205,9 +191,9 @@ type_args: | fun_type { $1, [] } core_type: - type_name { TVar $1 } -| "" { TStringLiteral $1 } -| par(fun_type) { TPar $1 } + type_name { TVar $1 } +| "" { TString $1 } +| par(fun_type) { TPar $1 } | module_name "." type_name { let module_name = $1.value in let type_name = $3.value in @@ -264,8 +250,11 @@ let_declaration: let kwd_rec = $3 in let binding = $4 in let value = kwd_let, kwd_rec, binding, attributes in - let stop = expr_to_region binding.let_rhs in - let region = cover $2 stop + let start = match $1 with + [] -> $2 + | l -> last (fun x -> x.region) l + and stop = expr_to_region binding.let_rhs in + let region = cover start stop in {region; value} } let_binding: @@ -420,15 +409,12 @@ interactive_expr: expr_with_let_expr EOF { $1 } expr: - base_cond__open(expr) | switch_expr(base_cond) { $1 } - -base_cond__open(x): - base_expr(x) | conditional(expr_with_let_expr) { - wild_error $1; - $1 } + base_cond | switch_expr(base_cond) { $1 } base_cond: - base_cond__open(base_cond) { $1 } + base_expr | conditional(expr_with_let_expr) { + wild_error $1; + $1 } type_expr_simple_args: par(nsepseq(type_expr_simple, ",")) { $1 } @@ -452,8 +438,8 @@ type_expr_simple: type_annotation_simple: ":" type_expr_simple { $1,$2 } -fun_expr: - disj_expr_level "=>" expr { +fun_expr(right_expr): + disj_expr_level "=>" right_expr { let arrow, body = $2, $3 and kwd_fun = ghost in let start = expr_to_region $1 @@ -574,8 +560,8 @@ fun_expr: } in EFun {region; value=f} } -base_expr(right_expr): - disj_expr_level | fun_expr { $1 } +base_expr: + disj_expr_level | fun_expr(expr) { $1 } conditional(right_expr): if_then_else(right_expr) | if_then(right_expr) { $1 } @@ -609,7 +595,7 @@ if_then_else(right_expr): in ECond {region; value} } base_if_then_else__open(x): - base_expr(x) | if_then_else(x) { $1 } + base_expr | if_then_else(x) { $1 } base_if_then_else: base_if_then_else__open(base_if_then_else) { $1 } @@ -840,9 +826,10 @@ list_or_spread: core_expr: common_expr -| list_or_spread -| sequence_or_record { $1 } -| par(expr) { EPar $1 } +| list_or_spread { $1 } +| sequence { ESeq $1 } +| record { ERecord $1 } +| par(expr) { EPar $1 } module_field: module_name "." module_fun { @@ -901,67 +888,106 @@ update_record: let region = cover $1 $6 in let ne_elements, terminator = $5 in let value = { - lbrace = $1; - record = $3; + lbrace = $1; + record = $3; kwd_with = $4; - updates = { value = {compound = Braces($1,$6); + updates = {value = {compound = Braces($1,$6); ne_elements; terminator}; region = cover $4 $6}; - rbrace = $6} + rbrace = $6} in {region; value} } expr_with_let_expr: - expr { $1 } + expr | let_expr(expr_with_let_expr) { $1 } +exprs: + expr_with_let_expr ";"? { + (($1, []), $2) + } +| expr_with_let_expr ";" exprs { + let rec fix_let_in a b c = + match a with + | ELetIn {value = {body; _} as v; _} -> ( + let end_ = (nsepseq_to_region expr_to_region (fst c)) in + let sequence_region = + cover (expr_to_region body) end_ + in + let val_ = + match body with + | ELetIn _ -> fst (fix_let_in body b c) + | e -> Utils.nsepseq_cons e b (fst c) + in + let sequence = ESeq { + value = { + compound = BeginEnd(Region.ghost, Region.ghost); + elements = Some val_; + terminator = (snd c) + }; + region = sequence_region + } + in + let region = + cover (expr_to_region a) end_ + in + let let_in = + ELetIn { + value = { + v with + body = sequence + }; + region + } + in + ((let_in, []), snd c) + ) + | e -> Utils.nsepseq_cons e b (fst c), None + in + fix_let_in $1 $2 $3 +} + more_field_assignments: "," sep_or_term_list(field_assignment_punning,",") { - let elts, _region = $2 in - $1, elts + let elts, _region = $2 + in $1, elts } + +sequence: + "{" exprs "}" { + let elts, _region = $2 in + let compound = Braces ($1, $3) in + let value = {compound; + elements = Some elts; + terminator = None} in + let region = cover $1 $3 in + {region; value} } +record: + "{" field_assignment more_field_assignments? "}" { + let compound = Braces ($1,$4) in + let region = cover $1 $4 in -sequence_or_record_in: - sep_or_term_list(expr_with_let_expr,";") { - let elts, _region = $1 in - PaSequence {s_elts = elts; s_terminator=None} - } -| field_assignment more_field_assignments? { - match $2 with + match $3 with | Some (comma, elts) -> - let r_elts = Utils.nsepseq_cons $1 comma elts in - PaRecord {r_elts; r_terminator = None} + let ne_elements = Utils.nsepseq_cons $2 comma elts in + { value = {compound; ne_elements; terminator = None}; region } | None -> - PaRecord {r_elts = ($1, []); r_terminator = None} + let ne_elements = ($2,[]) in + { value = {compound; ne_elements; terminator = None}; region } + } +| "{" field_name more_field_assignments "}" { + let value = { + field_name = $2; + assignment = ghost; + field_expr = EVar $2 } in + let field_name = {$2 with value} in + let comma, elts = $3 in + let ne_elements = Utils.nsepseq_cons field_name comma elts in + let compound = Braces ($1,$4) in + let region = cover $1 $4 in + { value = {compound; ne_elements; terminator = None}; region } } -| field_name more_field_assignments { - let value = { - field_name = $1; - assignment = ghost; - field_expr = EVar $1 } - in - let field_name = {$1 with value} in - let (comma, elts) = $2 in - let r_elts = Utils.nsepseq_cons field_name comma elts in - PaRecord {r_elts; r_terminator = None} -} - -sequence_or_record: - "{" sequence_or_record_in "}" { - let compound = Braces ($1,$3) in - let region = cover $1 $3 in - match $2 with - PaSequence s -> - let value = {compound; - elements = Some s.s_elts; - terminator = s.s_terminator} - in ESeq {region; value} - | PaRecord r -> - let value = {compound; - ne_elements = r.r_elts; - terminator = r.r_terminator} - in ERecord {region; value}} field_assignment_punning: (* This can only happen with multiple fields - @@ -971,12 +997,9 @@ field_assignment_punning: field_name = $1; assignment = ghost; field_expr = EVar $1 } - in - {$1 with value} + in {$1 with value} } -| field_assignment { - $1 -} +| field_assignment { $1 } field_assignment: field_name ":" expr { diff --git a/src/passes/1-parser/reasonligo/error.messages.checked-in b/src/passes/1-parser/reasonligo/error.messages.checked-in index c5aec0a5c..3d73d28de 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: 173. +## Ends in an error in state: 174. ## ## call_expr_level -> call_expr_level_in . option(type_annotation_simple) [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -12,7 +12,7 @@ interactive_expr: C_None WILD interactive_expr: C_Some VBAR ## -## Ends in an error in state: 125. +## Ends in an error in state: 126. ## ## constr_expr -> C_Some . core_expr [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## @@ -24,7 +24,7 @@ interactive_expr: C_Some VBAR interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 111. +## Ends in an error in state: 112. ## ## module_fun -> Ident . [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr DOT Ident . selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -37,7 +37,7 @@ interactive_expr: Constr DOT Ident WILD interactive_expr: Constr DOT WILD ## -## Ends in an error in state: 109. +## Ends in an error in state: 110. ## ## module_field -> Constr DOT . module_fun [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr DOT . Ident selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -50,7 +50,7 @@ interactive_expr: Constr DOT WILD interactive_expr: Constr Switch ## -## Ends in an error in state: 108. +## Ends in an error in state: 109. ## ## 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 ] @@ -65,7 +65,7 @@ interactive_expr: Constr Switch interactive_expr: Ident DOT Ident WILD ## -## Ends in an error in state: 103. +## Ends in an error in state: 104. ## ## 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 ] @@ -78,7 +78,7 @@ interactive_expr: Ident DOT Ident WILD interactive_expr: Ident DOT WILD ## -## Ends in an error in state: 102. +## Ends in an error in state: 103. ## ## 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 ] @@ -91,7 +91,7 @@ interactive_expr: Ident DOT WILD interactive_expr: Ident LBRACKET Int RBRACKET WILD ## -## Ends in an error in state: 101. +## Ends in an error in state: 102. ## ## 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 ] @@ -104,7 +104,7 @@ interactive_expr: Ident LBRACKET Int RBRACKET WILD interactive_expr: Ident LBRACKET Int WILD ## -## Ends in an error in state: 100. +## Ends in an error in state: 101. ## ## 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 ] @@ -117,7 +117,7 @@ interactive_expr: Ident LBRACKET Int WILD interactive_expr: Ident LBRACKET WILD ## -## Ends in an error in state: 99. +## Ends in an error in state: 100. ## ## 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 ] @@ -130,7 +130,7 @@ interactive_expr: Ident LBRACKET WILD interactive_expr: Ident WILD ## -## Ends in an error in state: 98. +## Ends in an error in state: 99. ## ## 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 ] @@ -143,7 +143,7 @@ interactive_expr: Ident WILD interactive_expr: If LBRACE VBAR ## -## Ends in an error in state: 227. +## Ends in an error in state: 228. ## ## parenthesized_expr -> LBRACE . expr RBRACE [ LBRACE ] ## @@ -155,7 +155,7 @@ interactive_expr: If LBRACE VBAR interactive_expr: If LBRACE WILD VBAR ## -## Ends in an error in state: 228. +## Ends in an error in state: 229. ## ## parenthesized_expr -> LBRACE expr . RBRACE [ LBRACE ] ## @@ -166,26 +166,26 @@ interactive_expr: If LBRACE WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: If LPAR VBAR ## -## Ends in an error in state: 97. +## Ends in an error in state: 98. ## ## parenthesized_expr -> LPAR . expr RPAR [ LBRACE ] ## @@ -197,7 +197,7 @@ interactive_expr: If LPAR VBAR interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE VBAR ## -## Ends in an error in state: 350. +## Ends in an error in state: 351. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE . closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -207,43 +207,9 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE VBAR -interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD ARROW Bytes VBAR -## -## Ends in an error in state: 408. -## -## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 406, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 417, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 416, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) -## - - - interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE VBAR ## -## Ends in an error in state: 412. +## Ends in an error in state: 411. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE . closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -253,10 +219,22 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE -interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD ARROW Bytes VBAR +interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD SEMI PLUS ## ## Ends in an error in state: 413. ## +## 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 closed_if option(SEMI) +## + + + +interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD VBAR +## +## Ends in an error in state: 412. +## ## 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: @@ -266,42 +244,26 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 406, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 417, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 416, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) -## - - - -interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD SEMI PLUS -## -## Ends in an error in state: 414. -## -## 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 closed_if option(SEMI) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 416, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 415, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE Else WILD ## -## Ends in an error in state: 411. +## Ends in an error in state: 410. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -313,7 +275,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE WILD ## -## Ends in an error in state: 410. +## Ends in an error in state: 409. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE . Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -325,7 +287,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD RBRACE interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 409. +## Ends in an error in state: 408. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -335,9 +297,39 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD SEMI P +interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR LBRACE WILD VBAR +## +## Ends in an error in state: 407. +## +## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] +## +## 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 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 416, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 415, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## + + + interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR WILD ## -## Ends in an error in state: 349. +## Ends in an error in state: 350. ## ## if_then_else(closed_if) -> If parenthesized_expr . LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -349,7 +341,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR WILD interactive_expr: If LPAR WILD RPAR LBRACE If WILD ## -## Ends in an error in state: 348. +## Ends in an error in state: 349. ## ## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -361,7 +353,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE If WILD interactive_expr: If LPAR WILD RPAR LBRACE Switch VBAR ## -## Ends in an error in state: 232. +## Ends in an error in state: 233. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -373,7 +365,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch VBAR interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR VBAR ## -## Ends in an error in state: 275. +## Ends in an error in state: 276. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -385,7 +377,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR VBAR interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW Bytes SEMI WILD ## -## Ends in an error in state: 437. +## Ends in an error in state: 434. ## ## nseq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -397,7 +389,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW By interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Bytes SEMI WILD ## -## Ends in an error in state: 439. +## Ends in an error in state: 436. ## ## seq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -409,7 +401,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW By interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE VBAR ## -## Ends in an error in state: 347. +## Ends in an error in state: 348. ## ## 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 ] ## @@ -419,43 +411,9 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If -interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD ARROW Bytes VBAR -## -## Ends in an error in state: 418. -## -## 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 -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 406, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 417, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 416, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) -## - - - interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE VBAR ## -## Ends in an error in state: 422. +## Ends in an error in state: 421. ## ## 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 ] ## @@ -467,7 +425,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 428. +## Ends in an error in state: 425. ## ## 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 ] ## @@ -479,7 +437,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD RBRACE Else LBRACE WILD VBAR ## -## Ends in an error in state: 427. +## Ends in an error in state: 424. ## ## 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 ] ## @@ -490,26 +448,26 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, 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 430, 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 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 427, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr +## In state 423, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) ## interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD RBRACE Else WILD ## -## Ends in an error in state: 421. +## Ends in an error in state: 420. ## ## 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 ] ## @@ -521,7 +479,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD RBRACE WILD ## -## Ends in an error in state: 420. +## Ends in an error in state: 419. ## ## 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 ] ## @@ -533,7 +491,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 419. +## Ends in an error in state: 418. ## ## 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 ] ## @@ -543,9 +501,39 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If +interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR LBRACE WILD VBAR +## +## Ends in an error in state: 417. +## +## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] +## +## 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 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 416, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 415, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) +## + + + interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If LPAR Bytes RPAR WILD ## -## Ends in an error in state: 346. +## Ends in an error in state: 347. ## ## 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 ] ## @@ -557,7 +545,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If WILD ## -## Ends in an error in state: 345. +## Ends in an error in state: 346. ## ## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -569,7 +557,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW If interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW VBAR ## -## Ends in an error in state: 344. +## Ends in an error in state: 345. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW . base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -579,9 +567,9 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW VB -interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW WILD ARROW Bytes Type +interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW WILD Type ## -## Ends in an error in state: 431. +## Ends in an error in state: 428. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -592,60 +580,26 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW WI ## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 424, spurious reduction of production base_expr(base_if_then_else) -> fun_expr -## In state 430, 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) -## - - - -interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD ARROW WILD Type -## -## Ends in an error in state: 425. -## -## base_expr(base_if_then_else) -> disj_expr_level . [ VBAR SEMI RBRACE ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . ARROW expr [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## disj_expr_level -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 427, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr +## In state 423, spurious reduction of production base_if_then_else -> base_if_then_else__open(base_if_then_else) ## interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE VBAR WILD COMMA Bytes RPAR ## -## Ends in an error in state: 343. +## Ends in an error in state: 344. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -656,16 +610,16 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD 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 329, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 332, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 341, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 330, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 333, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 342, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE WILD ## -## Ends in an error in state: 274. +## Ends in an error in state: 275. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ LBRACE . cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -677,7 +631,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE WILD interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD WILD ## -## Ends in an error in state: 273. +## Ends in an error in state: 274. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -689,7 +643,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD WILD interactive_expr: If LPAR WILD RPAR LBRACE VBAR ## -## Ends in an error in state: 231. +## Ends in an error in state: 232. ## ## 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 ] @@ -700,44 +654,9 @@ interactive_expr: If LPAR WILD RPAR LBRACE VBAR -interactive_expr: If LPAR WILD RPAR LBRACE WILD ARROW Bytes VBAR -## -## Ends in an error in state: 445. -## -## 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 -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 406, spurious reduction of production base_expr(closed_if) -> fun_expr -## In state 417, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr(closed_if) -## In state 416, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) -## - - - interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE VBAR ## -## Ends in an error in state: 449. +## Ends in an error in state: 446. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE . expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -749,7 +668,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE VBAR interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 451. +## Ends in an error in state: 448. ## ## 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 ] ## @@ -761,7 +680,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE WILD SEMI PLU interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE WILD VBAR ## -## Ends in an error in state: 450. +## Ends in an error in state: 447. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE expr_with_let_expr . option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -772,27 +691,27 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 400, spurious reduction of production expr_with_let_expr -> expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 401, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else WILD ## -## Ends in an error in state: 448. +## Ends in an error in state: 445. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -804,7 +723,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else WILD interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE WILD ## -## Ends in an error in state: 447. +## Ends in an error in state: 444. ## ## 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 ] @@ -817,7 +736,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE WILD interactive_expr: If LPAR WILD RPAR LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 446. +## Ends in an error in state: 443. ## ## 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 ] @@ -830,37 +749,38 @@ interactive_expr: If LPAR WILD RPAR LBRACE WILD SEMI PLUS interactive_expr: If LPAR WILD RPAR LBRACE WILD VBAR ## -## Ends in an error in state: 407. +## Ends in an error in state: 442. ## -## base_expr(closed_if) -> disj_expr_level . [ SEMI RBRACE ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ SEMI RBRACE Or BOOL_OR ARROW ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . ARROW expr [ SEMI RBRACE ] +## 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: -## disj_expr_level +## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 416, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 415, spurious reduction of production closed_if -> base_if_then_else__open(closed_if) ## interactive_expr: If LPAR WILD RPAR WILD ## -## Ends in an error in state: 230. +## Ends in an error in state: 231. ## ## 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 ] @@ -873,7 +793,7 @@ interactive_expr: If LPAR WILD RPAR WILD interactive_expr: If LPAR WILD VBAR ## -## Ends in an error in state: 225. +## Ends in an error in state: 226. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -884,26 +804,26 @@ interactive_expr: If LPAR WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: If WILD ## -## Ends in an error in state: 96. +## Ends in an error in state: 97. ## ## 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 ] @@ -916,7 +836,7 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 251. +## Ends in an error in state: 252. ## ## projection -> Constr DOT Ident . selection [ COMMA ] ## @@ -928,7 +848,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 250. +## Ends in an error in state: 251. ## ## projection -> Constr DOT . Ident selection [ COMMA ] ## @@ -940,7 +860,7 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 249. +## Ends in an error in state: 250. ## ## projection -> Constr . DOT Ident selection [ COMMA ] ## @@ -952,7 +872,7 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 266. +## 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 ] @@ -965,27 +885,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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 265, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 266, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr ## interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON VBAR ## -## Ends in an error in state: 264. +## Ends in an error in state: 265. ## ## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] ## @@ -997,7 +917,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON VBAR interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 270. +## Ends in an error in state: 271. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -1010,27 +930,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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 265, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 266, 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: 271. +## Ends in an error in state: 272. ## ## 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 ] @@ -1043,7 +963,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: 267. +## Ends in an error in state: 268. ## ## 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 ] @@ -1056,7 +976,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: 257. +## Ends in an error in state: 258. ## ## nsepseq(field_name,DOT) -> Ident . [ COLON ] ## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] @@ -1069,7 +989,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: 256. +## Ends in an error in state: 257. ## ## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] ## @@ -1081,7 +1001,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD ## -## Ends in an error in state: 255. +## Ends in an error in state: 256. ## ## field_path_assignment -> Ident . [ RBRACE COMMA ] ## nsepseq(field_name,DOT) -> Ident . [ COLON ] @@ -1095,7 +1015,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## Ends in an error in state: 254. +## Ends in an error in state: 255. ## ## 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 ] ## @@ -1107,7 +1027,7 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR ## -## Ends in an error in state: 253. +## Ends in an error in state: 254. ## ## 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 ] ## @@ -1118,16 +1038,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 103, spurious reduction of production selection -> DOT Ident -## In state 106, spurious reduction of production projection -> Ident selection -## In state 252, spurious reduction of production path -> projection +## In state 104, spurious reduction of production selection -> DOT Ident +## In state 107, spurious reduction of production projection -> Ident selection +## In state 253, spurious reduction of production path -> projection ## interactive_expr: LBRACE ELLIPSIS Ident WILD ## -## Ends in an error in state: 248. +## Ends in an error in state: 249. ## ## path -> Ident . [ COMMA ] ## projection -> Ident . selection [ COMMA ] @@ -1140,7 +1060,7 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS WILD ## -## Ends in an error in state: 247. +## Ends in an error in state: 248. ## ## 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 ] ## @@ -1150,9 +1070,52 @@ interactive_expr: LBRACE ELLIPSIS WILD -interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COLON Bytes VBAR +interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 477. +## Ends in an error in state: 482. +## +## sequence_or_record_in -> field_assignment . option(more_field_assignments) [ RBRACE ] +## +## The known suffix of the stack is as follows: +## field_assignment +## +## 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 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 464, spurious reduction of production field_assignment -> Ident COLON expr +## + + + +interactive_expr: LBRACE Ident COLON VBAR +## +## Ends in an error in state: 463. +## +## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] +## +## The known suffix of the stack is as follows: +## Ident COLON +## + + + +interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR +## +## Ends in an error in state: 468. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . [ RBRACE ] ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . COMMA nsepseq(field_assignment_punning,COMMA) [ RBRACE ] @@ -1165,28 +1128,28 @@ interactive_expr: LBRACE Ident COLON Bytes 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 465, spurious reduction of production field_assignment -> Ident COLON expr -## In state 484, spurious reduction of production field_assignment_punning -> field_assignment +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 464, spurious reduction of production field_assignment -> Ident COLON expr +## In state 475, spurious reduction of production field_assignment_punning -> field_assignment ## -interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COMMA Ident COLON Bytes VBAR +interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 481. +## Ends in an error in state: 472. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . [ RBRACE ] ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . COMMA nsepseq(field_assignment_punning,COMMA) [ RBRACE ] @@ -1199,28 +1162,28 @@ interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COMMA Ident COLON Bytes V ## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 465, spurious reduction of production field_assignment -> Ident COLON expr -## In state 484, spurious reduction of production field_assignment_punning -> field_assignment +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 464, spurious reduction of production field_assignment -> Ident COLON expr +## In state 475, spurious reduction of production field_assignment_punning -> field_assignment ## -interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COMMA Ident COMMA WILD +interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 482. +## Ends in an error in state: 473. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning COMMA . nsepseq(field_assignment_punning,COMMA) [ RBRACE ] ## seq(__anonymous_0(field_assignment_punning,COMMA)) -> field_assignment_punning COMMA . seq(__anonymous_0(field_assignment_punning,COMMA)) [ RBRACE ] @@ -1231,9 +1194,9 @@ interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COMMA Ident COMMA WILD -interactive_expr: LBRACE Ident COLON Bytes 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: 469. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning COMMA . nsepseq(field_assignment_punning,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_assignment_punning,COMMA)) -> field_assignment_punning COMMA . seq(__anonymous_0(field_assignment_punning,COMMA)) [ RBRACE ] @@ -1244,9 +1207,9 @@ interactive_expr: LBRACE Ident COLON Bytes COMMA Ident COMMA WILD -interactive_expr: LBRACE Ident COLON Bytes COMMA Ident WILD +interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 473. +## Ends in an error in state: 462. ## ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] ## field_assignment_punning -> Ident . [ RBRACE COMMA ] @@ -1257,9 +1220,9 @@ interactive_expr: LBRACE Ident COLON Bytes COMMA Ident WILD -interactive_expr: LBRACE Ident COLON Bytes COMMA WILD +interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 472. +## Ends in an error in state: 461. ## ## more_field_assignments -> COMMA . sep_or_term_list(field_assignment_punning,COMMA) [ RBRACE ] ## @@ -1269,56 +1232,14 @@ interactive_expr: LBRACE Ident COLON Bytes COMMA WILD -interactive_expr: LBRACE Ident COLON Bytes VBAR -## -## Ends in an error in state: 471. -## -## sequence_or_record_in -> field_assignment . option(more_field_assignments) [ RBRACE ] -## -## The known suffix of the stack is as follows: -## field_assignment -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 465, spurious reduction of production field_assignment -> Ident COLON expr -## - - - -interactive_expr: LBRACE Ident COLON VBAR -## -## Ends in an error in state: 464. -## -## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] -## -## The known suffix of the stack is as follows: -## Ident COLON -## - - - interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 463. +## Ends in an error in state: 460. ## ## 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 . COLON expr [ RBRACE COMMA ] ## projection -> Ident . selection [ TIMES SLASH SEMI RBRACE PLUS Or NE Mod MINUS LT LPAR LE GT GE EQEQ COLON CAT BOOL_OR BOOL_AND ARROW ] +## sequence_or_record_in -> Ident . more_field_assignments [ RBRACE ] ## ## The known suffix of the stack is as follows: ## Ident @@ -1328,7 +1249,7 @@ interactive_expr: LBRACE Ident WILD interactive_expr: LBRACE VBAR ## -## Ends in an error in state: 93. +## Ends in an error in state: 94. ## ## 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 ] @@ -1339,22 +1260,9 @@ interactive_expr: LBRACE VBAR -interactive_expr: LBRACE WILD SEMI VBAR -## -## Ends in an error in state: 488. -## -## 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 WILD SEMI WILD SEMI VBAR ## -## Ends in an error in state: 492. +## Ends in an error in state: 490. ## ## 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 ] @@ -1367,7 +1275,7 @@ interactive_expr: LBRACE WILD SEMI WILD SEMI VBAR interactive_expr: LBRACE WILD SEMI WILD VBAR ## -## Ends in an error in state: 491. +## Ends in an error in state: 489. ## ## 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 ] @@ -1380,60 +1288,27 @@ interactive_expr: LBRACE WILD SEMI WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 400, spurious reduction of production expr_with_let_expr -> expr -## - - - -interactive_expr: LBRACE WILD VBAR -## -## Ends in an error in state: 487. -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 400, spurious reduction of production expr_with_let_expr -> expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 401, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACKET VBAR ## -## Ends in an error in state: 91. +## Ends in an error in state: 92. ## ## 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 ] @@ -1447,7 +1322,7 @@ interactive_expr: LBRACKET VBAR interactive_expr: LBRACKET WILD COMMA ELLIPSIS VBAR ## -## Ends in an error in state: 499. +## Ends in an error in state: 497. ## ## 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 ] ## @@ -1459,7 +1334,7 @@ interactive_expr: LBRACKET WILD COMMA ELLIPSIS VBAR interactive_expr: LBRACKET WILD COMMA ELLIPSIS WILD VBAR ## -## Ends in an error in state: 500. +## Ends in an error in state: 498. ## ## 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 ] ## @@ -1470,26 +1345,26 @@ interactive_expr: LBRACKET WILD COMMA ELLIPSIS WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD COMMA VBAR ## -## Ends in an error in state: 498. +## Ends in an error in state: 496. ## ## 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 ] @@ -1502,7 +1377,7 @@ interactive_expr: LBRACKET WILD COMMA VBAR interactive_expr: LBRACKET WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 507. +## Ends in an error in state: 505. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## nseq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1515,7 +1390,7 @@ interactive_expr: LBRACKET WILD COMMA WILD COMMA VBAR interactive_expr: LBRACKET WILD COMMA WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 510. +## Ends in an error in state: 508. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## seq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1528,7 +1403,7 @@ interactive_expr: LBRACKET WILD COMMA WILD COMMA WILD COMMA VBAR interactive_expr: LBRACKET WILD COMMA WILD COMMA WILD VBAR ## -## Ends in an error in state: 509. +## Ends in an error in state: 507. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1541,26 +1416,26 @@ interactive_expr: LBRACKET WILD COMMA WILD COMMA WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD COMMA WILD VBAR ## -## Ends in an error in state: 506. +## Ends in an error in state: 504. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1573,26 +1448,26 @@ interactive_expr: LBRACKET WILD COMMA WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD VBAR ## -## Ends in an error in state: 497. +## Ends in an error in state: 495. ## ## 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 ] @@ -1605,26 +1480,26 @@ interactive_expr: LBRACKET WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: LPAR VBAR ## -## Ends in an error in state: 94. +## Ends in an error in state: 95. ## ## 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 ] @@ -1638,12 +1513,12 @@ interactive_expr: LPAR VBAR interactive_expr: LPAR WILD COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 165. +## Ends in an error in state: 166. ## -## base_expr(expr) -> disj_expr_level . [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] +## base_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 . ARROW expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] +## fun_expr(expr) -> disj_expr_level . ARROW expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level @@ -1652,18 +1527,18 @@ interactive_expr: LPAR WILD 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 133, spurious reduction of production option(type_expr_simple_args) -> -## In state 142, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) -## In state 149, spurious reduction of production type_annotation_simple -> COLON type_expr_simple -## In state 150, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple -## In state 151, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) +## In state 134, spurious reduction of production option(type_expr_simple_args) -> +## In state 143, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 150, spurious reduction of production type_annotation_simple -> COLON type_expr_simple +## In state 151, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple +## In state 152, spurious reduction of production disj_expr_level -> par(tuple(disj_expr_level)) option(type_annotation_simple) ## interactive_expr: LPAR WILD COMMA Bytes RPAR WILD ## -## Ends in an error in state: 130. +## Ends in an error in state: 131. ## ## 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 ] ## @@ -1675,7 +1550,7 @@ interactive_expr: LPAR WILD COMMA Bytes RPAR WILD interactive_expr: LPAR WILD COMMA VBAR ## -## Ends in an error in state: 458. +## Ends in an error in state: 455. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1687,7 +1562,7 @@ interactive_expr: LPAR WILD COMMA VBAR interactive_expr: LPAR WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 461. +## Ends in an error in state: 458. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1699,7 +1574,7 @@ interactive_expr: LPAR WILD COMMA WILD COMMA VBAR interactive_expr: LPAR WILD COMMA WILD VBAR ## -## Ends in an error in state: 460. +## Ends in an error in state: 457. ## ## 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 ] @@ -1713,28 +1588,28 @@ interactive_expr: LPAR WILD COMMA WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR WILD VBAR ## -## Ends in an error in state: 457. +## Ends in an error in state: 454. ## -## base_expr(expr) -> disj_expr_level . [ RPAR ] +## base_expr -> disj_expr_level . [ RPAR ] ## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ RPAR Or COMMA BOOL_OR ARROW ] ## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ RPAR Or COMMA BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . ARROW expr [ RPAR ] +## fun_expr(expr) -> disj_expr_level . ARROW expr [ RPAR ] ## tuple(disj_expr_level) -> disj_expr_level . COMMA nsepseq(disj_expr_level,COMMA) [ RPAR ] ## ## The known suffix of the stack is as follows: @@ -1744,23 +1619,23 @@ interactive_expr: LPAR WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: Let Rec VBAR ## -## Ends in an error in state: 354. +## Ends in an error in state: 355. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let Rec . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1772,7 +1647,7 @@ interactive_expr: Let Rec VBAR interactive_expr: Let Rec WILD EQ Bytes SEMI VBAR ## -## Ends in an error in state: 397. +## Ends in an error in state: 398. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let Rec let_binding SEMI . expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1784,7 +1659,7 @@ interactive_expr: Let Rec WILD EQ Bytes SEMI VBAR interactive_expr: Let Rec WILD EQ Bytes VBAR ## -## Ends in an error in state: 396. +## Ends in an error in state: 397. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let Rec let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1795,27 +1670,27 @@ interactive_expr: Let Rec 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 532, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## interactive_expr: Let VBAR ## -## Ends in an error in state: 353. +## Ends in an error in state: 354. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## let_expr(expr_with_let_expr) -> seq(Attr) Let . Rec let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] @@ -1828,7 +1703,7 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI VBAR ## -## Ends in an error in state: 402. +## Ends in an error in state: 403. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding SEMI . expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1840,7 +1715,7 @@ interactive_expr: Let WILD EQ Bytes SEMI VBAR interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 401. +## Ends in an error in state: 402. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1851,27 +1726,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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 532, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 525, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## interactive_expr: MINUS VBAR ## -## Ends in an error in state: 92. +## Ends in an error in state: 93. ## ## 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 ] ## @@ -1883,7 +1758,7 @@ interactive_expr: MINUS VBAR interactive_expr: NOT VBAR ## -## Ends in an error in state: 90. +## Ends in an error in state: 91. ## ## 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 ] ## @@ -1895,7 +1770,7 @@ interactive_expr: NOT VBAR interactive_expr: Switch Constr WILD ## -## Ends in an error in state: 114. +## Ends in an error in state: 115. ## ## module_field -> Constr . DOT module_fun [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## projection -> Constr . DOT Ident selection [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] @@ -1908,7 +1783,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 246. +## Ends in an error in state: 247. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1920,7 +1795,7 @@ interactive_expr: Switch LBRACE WILD interactive_expr: Switch LBRACKET VBAR ## -## Ends in an error in state: 233. +## Ends in an error in state: 234. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -1932,7 +1807,7 @@ interactive_expr: Switch LBRACKET VBAR interactive_expr: Switch LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 240. +## Ends in an error in state: 241. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1945,7 +1820,7 @@ interactive_expr: Switch LBRACKET WILD SEMI VBAR interactive_expr: Switch LBRACKET WILD SEMI WILD SEMI VBAR ## -## Ends in an error in state: 244. +## Ends in an error in state: 245. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1958,7 +1833,7 @@ interactive_expr: Switch LBRACKET WILD SEMI WILD SEMI VBAR interactive_expr: Switch LBRACKET WILD SEMI WILD VBAR ## -## Ends in an error in state: 243. +## Ends in an error in state: 244. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1971,26 +1846,26 @@ interactive_expr: Switch LBRACKET WILD SEMI WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: Switch LBRACKET WILD VBAR ## -## Ends in an error in state: 239. +## Ends in an error in state: 240. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -2003,26 +1878,26 @@ interactive_expr: Switch LBRACKET WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: Switch LPAR VBAR ## -## Ends in an error in state: 88. +## Ends in an error in state: 89. ## ## 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 ] @@ -2035,7 +1910,7 @@ interactive_expr: Switch LPAR VBAR interactive_expr: Switch LPAR WILD VBAR ## -## Ends in an error in state: 455. +## Ends in an error in state: 452. ## ## 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 ] ## @@ -2046,26 +1921,26 @@ interactive_expr: Switch LPAR WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## interactive_expr: Switch VBAR ## -## Ends in an error in state: 84. +## Ends in an error in state: 85. ## ## switch_expr(base_cond) -> Switch . switch_expr_ LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2077,7 +1952,7 @@ interactive_expr: Switch VBAR interactive_expr: Switch WILD LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 335. +## Ends in an error in state: 336. ## ## 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 ] @@ -2090,7 +1965,7 @@ interactive_expr: Switch WILD LBRACE VBAR LBRACKET VBAR interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS VBAR ## -## Ends in an error in state: 338. +## Ends in an error in state: 339. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -2102,7 +1977,7 @@ interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS VBAR interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS WILD WILD ## -## Ends in an error in state: 339. +## Ends in an error in state: 340. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -2114,7 +1989,7 @@ interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA ELLIPSIS WILD WILD interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA WILD ## -## Ends in an error in state: 337. +## Ends in an error in state: 338. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2126,7 +2001,7 @@ interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD COMMA WILD interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD WILD ## -## Ends in an error in state: 336. +## Ends in an error in state: 337. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2141,7 +2016,7 @@ interactive_expr: Switch WILD LBRACE VBAR LBRACKET WILD WILD interactive_expr: Switch WILD LBRACE VBAR LPAR Bytes RPAR WILD ## -## Ends in an error in state: 342. +## Ends in an error in state: 343. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2153,7 +2028,7 @@ interactive_expr: Switch WILD LBRACE VBAR LPAR Bytes RPAR WILD interactive_expr: Switch WILD LBRACE VBAR VBAR ## -## Ends in an error in state: 515. +## Ends in an error in state: 513. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2165,7 +2040,7 @@ interactive_expr: Switch WILD LBRACE VBAR VBAR interactive_expr: Switch WILD LBRACE VBAR WILD ARROW Bytes SEMI WILD ## -## Ends in an error in state: 528. +## Ends in an error in state: 521. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2177,7 +2052,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW Bytes SEMI WILD interactive_expr: Switch WILD LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Bytes SEMI WILD ## -## Ends in an error in state: 530. +## Ends in an error in state: 523. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2189,7 +2064,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW Bytes VBAR Bytes ARROW Byte interactive_expr: Switch WILD LBRACE VBAR WILD ARROW VBAR ## -## Ends in an error in state: 517. +## Ends in an error in state: 515. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2199,9 +2074,9 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW VBAR -interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD ARROW Bytes Type +interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD Type ## -## Ends in an error in state: 523. +## Ends in an error in state: 516. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2212,60 +2087,25 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD ARROW Bytes Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 216, spurious reduction of production fun_expr -> disj_expr_level ARROW expr -## In state 518, spurious reduction of production base_expr(base_cond) -> fun_expr -## In state 521, spurious reduction of production base_cond__open(base_cond) -> base_expr(base_cond) -## In state 522, spurious reduction of production base_cond -> base_cond__open(base_cond) -## - - - -interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD Type -## -## Ends in an error in state: 519. -## -## base_expr(base_cond) -> disj_expr_level . [ VBAR SEMI RBRACE ] -## bin_op(disj_expr_level,BOOL_OR,conj_expr_level) -> disj_expr_level . BOOL_OR conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## bin_op(disj_expr_level,Or,conj_expr_level) -> disj_expr_level . Or conj_expr_level [ VBAR SEMI RBRACE Or BOOL_OR ARROW ] -## fun_expr -> disj_expr_level . ARROW expr [ VBAR SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## disj_expr_level -## -## 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr ## interactive_expr: Switch WILD LBRACE VBAR WILD COMMA Bytes RPAR ## -## Ends in an error in state: 516. +## Ends in an error in state: 514. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2276,16 +2116,16 @@ interactive_expr: Switch WILD 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 329, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 332, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 341, spurious reduction of production pattern -> tuple(sub_pattern) +## In state 330, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 333, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 342, spurious reduction of production pattern -> tuple(sub_pattern) ## interactive_expr: Switch WILD LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 328. +## Ends in an error in state: 329. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2297,7 +2137,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD COMMA VBAR interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 330. +## Ends in an error in state: 331. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2309,7 +2149,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD COMMA VBAR interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD WILD ## -## Ends in an error in state: 329. +## Ends in an error in state: 330. ## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] @@ -2322,7 +2162,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD WILD interactive_expr: Switch WILD LBRACE VBAR WILD WILD ## -## Ends in an error in state: 433. +## Ends in an error in state: 430. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ COMMA ] @@ -2335,7 +2175,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD WILD interactive_expr: Switch WILD LBRACE WILD ## -## Ends in an error in state: 514. +## Ends in an error in state: 512. ## ## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2347,7 +2187,7 @@ interactive_expr: Switch WILD LBRACE WILD interactive_expr: Switch WILD WILD ## -## Ends in an error in state: 513. +## Ends in an error in state: 511. ## ## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2359,7 +2199,7 @@ interactive_expr: Switch WILD WILD interactive_expr: VBAR ## -## Ends in an error in state: 543. +## Ends in an error in state: 536. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2371,9 +2211,9 @@ interactive_expr: VBAR interactive_expr: WILD ARROW VBAR ## -## Ends in an error in state: 215. +## Ends in an error in state: 216. ## -## fun_expr -> disj_expr_level ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] +## fun_expr(expr) -> disj_expr_level ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## disj_expr_level ARROW @@ -2383,7 +2223,7 @@ interactive_expr: WILD ARROW VBAR interactive_expr: WILD BOOL_AND VBAR ## -## Ends in an error in state: 169. +## Ends in an error in state: 170. ## ## 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 ] ## @@ -2395,7 +2235,7 @@ interactive_expr: WILD BOOL_AND VBAR interactive_expr: WILD BOOL_OR VBAR ## -## Ends in an error in state: 213. +## Ends in an error in state: 214. ## ## 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 ] ## @@ -2407,7 +2247,7 @@ interactive_expr: WILD BOOL_OR VBAR interactive_expr: WILD CAT VBAR ## -## Ends in an error in state: 192. +## Ends in an error in state: 193. ## ## 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 ] ## @@ -2419,7 +2259,7 @@ interactive_expr: WILD CAT VBAR interactive_expr: WILD COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 135. +## Ends in an error in state: 136. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2431,15 +2271,15 @@ interactive_expr: WILD 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 133, spurious reduction of production option(type_expr_simple_args) -> -## In state 142, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 134, spurious reduction of production option(type_expr_simple_args) -> +## In state 143, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: WILD COLON Ident LPAR WILD ## -## Ends in an error in state: 134. +## Ends in an error in state: 135. ## ## 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 ] ## @@ -2451,7 +2291,7 @@ interactive_expr: WILD COLON Ident LPAR WILD interactive_expr: WILD COLON Ident WILD ## -## Ends in an error in state: 133. +## Ends in an error in state: 134. ## ## 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 ] ## @@ -2463,7 +2303,7 @@ interactive_expr: WILD COLON Ident WILD interactive_expr: WILD COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 145. +## Ends in an error in state: 146. ## ## 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 ] ## @@ -2474,15 +2314,15 @@ interactive_expr: WILD 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 133, spurious reduction of production option(type_expr_simple_args) -> -## In state 142, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 134, spurious reduction of production option(type_expr_simple_args) -> +## In state 143, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: WILD COLON LPAR Ident ARROW WILD ## -## Ends in an error in state: 144. +## Ends in an error in state: 145. ## ## 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 ] ## @@ -2494,7 +2334,7 @@ interactive_expr: WILD COLON LPAR Ident ARROW WILD interactive_expr: WILD COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 136. +## Ends in an error in state: 137. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2506,7 +2346,7 @@ interactive_expr: WILD COLON LPAR Ident COMMA WILD interactive_expr: WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 152. +## Ends in an error in state: 153. ## ## 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 ] @@ -2521,7 +2361,7 @@ interactive_expr: WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD COLON LPAR Ident VBAR ## -## Ends in an error in state: 143. +## Ends in an error in state: 144. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2534,15 +2374,15 @@ interactive_expr: WILD 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 133, spurious reduction of production option(type_expr_simple_args) -> -## In state 142, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 134, spurious reduction of production option(type_expr_simple_args) -> +## In state 143, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) ## interactive_expr: WILD COLON LPAR WILD ## -## Ends in an error in state: 132. +## Ends in an error in state: 133. ## ## 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 ] @@ -2555,7 +2395,7 @@ interactive_expr: WILD COLON LPAR WILD interactive_expr: WILD COLON WILD ## -## Ends in an error in state: 131. +## Ends in an error in state: 132. ## ## 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 ] ## @@ -2567,7 +2407,7 @@ interactive_expr: WILD COLON WILD interactive_expr: WILD EQEQ VBAR ## -## Ends in an error in state: 202. +## Ends in an error in state: 203. ## ## 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 ] ## @@ -2579,7 +2419,7 @@ interactive_expr: WILD EQEQ VBAR interactive_expr: WILD GE VBAR ## -## Ends in an error in state: 200. +## Ends in an error in state: 201. ## ## 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 ] ## @@ -2591,7 +2431,7 @@ interactive_expr: WILD GE VBAR interactive_expr: WILD GT VBAR ## -## Ends in an error in state: 198. +## Ends in an error in state: 199. ## ## 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 ] ## @@ -2603,7 +2443,7 @@ interactive_expr: WILD GT VBAR interactive_expr: WILD LE VBAR ## -## Ends in an error in state: 196. +## Ends in an error in state: 197. ## ## 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 ] ## @@ -2615,7 +2455,7 @@ interactive_expr: WILD LE VBAR interactive_expr: WILD LPAR VBAR ## -## Ends in an error in state: 156. +## Ends in an error in state: 157. ## ## 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 ] @@ -2628,7 +2468,7 @@ interactive_expr: WILD LPAR VBAR interactive_expr: WILD LPAR WILD COMMA VBAR ## -## Ends in an error in state: 163. +## Ends in an error in state: 164. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2640,7 +2480,7 @@ interactive_expr: WILD LPAR WILD COMMA VBAR interactive_expr: WILD LPAR WILD VBAR ## -## Ends in an error in state: 162. +## Ends in an error in state: 163. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2652,26 +2492,26 @@ interactive_expr: WILD LPAR WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond ## Missing `)`. interactive_expr: WILD LT VBAR ## -## Ends in an error in state: 194. +## Ends in an error in state: 195. ## ## 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 ] ## @@ -2683,7 +2523,7 @@ interactive_expr: WILD LT VBAR interactive_expr: WILD MINUS VBAR ## -## Ends in an error in state: 190. +## Ends in an error in state: 191. ## ## 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 ] ## @@ -2695,7 +2535,7 @@ interactive_expr: WILD MINUS VBAR interactive_expr: WILD MINUS WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 191. +## Ends in an error in state: 192. ## ## 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 ] @@ -2710,7 +2550,7 @@ interactive_expr: WILD MINUS WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD Mod VBAR ## -## Ends in an error in state: 188. +## Ends in an error in state: 189. ## ## 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 ] ## @@ -2722,7 +2562,7 @@ interactive_expr: WILD Mod VBAR interactive_expr: WILD NE VBAR ## -## Ends in an error in state: 171. +## Ends in an error in state: 172. ## ## 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 ] ## @@ -2734,7 +2574,7 @@ interactive_expr: WILD NE VBAR interactive_expr: WILD Or VBAR ## -## Ends in an error in state: 166. +## Ends in an error in state: 167. ## ## 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 ] ## @@ -2746,7 +2586,7 @@ interactive_expr: WILD Or VBAR interactive_expr: WILD PLUS VBAR ## -## Ends in an error in state: 184. +## Ends in an error in state: 185. ## ## 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 ] ## @@ -2758,7 +2598,7 @@ interactive_expr: WILD PLUS VBAR interactive_expr: WILD PLUS WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 185. +## Ends in an error in state: 186. ## ## 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 ] @@ -2773,7 +2613,7 @@ interactive_expr: WILD PLUS WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD SLASH VBAR ## -## Ends in an error in state: 186. +## Ends in an error in state: 187. ## ## 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 ] ## @@ -2785,7 +2625,7 @@ interactive_expr: WILD SLASH VBAR interactive_expr: WILD TIMES VBAR ## -## Ends in an error in state: 153. +## Ends in an error in state: 154. ## ## 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 ] ## @@ -2797,7 +2637,7 @@ interactive_expr: WILD TIMES VBAR interactive_expr: WILD VBAR ## -## Ends in an error in state: 545. +## Ends in an error in state: 538. ## ## interactive_expr -> expr_with_let_expr . EOF [ # ] ## @@ -2808,27 +2648,27 @@ interactive_expr: WILD 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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 400, spurious reduction of production expr_with_let_expr -> expr +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 401, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: WILD WILD ## -## Ends in an error in state: 155. +## Ends in an error in state: 156. ## ## 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 ] @@ -2842,7 +2682,7 @@ interactive_expr: WILD WILD contract: Attr WILD ## -## Ends in an error in state: 69. +## Ends in an error in state: 70. ## ## seq(Attr) -> Attr . seq(Attr) [ Let ] ## @@ -2852,32 +2692,21 @@ contract: Attr WILD -contract: Let Ident COLON Constr Type +contract: Let Ident COLON String WILD ## -## Ends in an error in state: 376. +## Ends in an error in state: 377. ## ## 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) ## -## 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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let Ident EQ VBAR ## -## Ends in an error in state: 377. +## Ends in an error in state: 378. ## ## let_binding -> Ident option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2885,16 +2714,16 @@ contract: Let Ident EQ VBAR ## Ident option(type_annotation) EQ ## -This is an incorrect let binding. +This is an incorrect let binding. - -Examples of correct let bindings: +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: 375. +## Ends in an error in state: 376. ## ## let_binding -> Ident . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> Ident . [ COMMA ] @@ -2907,7 +2736,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 311. +## Ends in an error in state: 312. ## ## 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 ] @@ -2920,7 +2749,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: 310. +## Ends in an error in state: 311. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2934,7 +2763,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: 307. +## Ends in an error in state: 308. ## ## 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 ] @@ -2945,32 +2774,21 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD -contract: Let LBRACE Ident EQ Bytes RBRACE COLON Constr Type +contract: Let LBRACE Ident EQ Bytes RBRACE COLON String WILD ## -## Ends in an error in state: 389. +## Ends in an error in state: 390. ## ## 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) ## -## 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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let LBRACE Ident EQ Bytes RBRACE EQ VBAR ## -## Ends in an error in state: 390. +## Ends in an error in state: 391. ## ## let_binding -> record_pattern option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2982,7 +2800,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ VBAR contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 388. +## Ends in an error in state: 389. ## ## let_binding -> record_pattern . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> record_pattern . [ COMMA ] @@ -2995,7 +2813,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 306. +## 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 ] @@ -3009,7 +2827,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 284. +## Ends in an error in state: 285. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -3021,7 +2839,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 283. +## Ends in an error in state: 284. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -3033,7 +2851,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 282. +## Ends in an error in state: 283. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -3045,7 +2863,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 289. +## Ends in an error in state: 290. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3057,7 +2875,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 281. +## Ends in an error in state: 282. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3069,7 +2887,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 314. +## Ends in an error in state: 315. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern SEMI . nsepseq(sub_pattern,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(sub_pattern,SEMI)) -> sub_pattern SEMI . seq(__anonymous_0(sub_pattern,SEMI)) [ RBRACKET ] @@ -3082,7 +2900,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: 316. +## Ends in an error in state: 317. ## ## 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 ] @@ -3095,7 +2913,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: 315. +## Ends in an error in state: 316. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3109,7 +2927,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 313. +## Ends in an error in state: 314. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -3123,7 +2941,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 280. +## Ends in an error in state: 281. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3137,7 +2955,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 333. +## Ends in an error in state: 334. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -3148,16 +2966,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 329, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern -## In state 332, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) -## In state 325, spurious reduction of production ptuple -> tuple(sub_pattern) +## In state 330, spurious reduction of production nsepseq(sub_pattern,COMMA) -> sub_pattern +## In state 333, spurious reduction of production tuple(sub_pattern) -> sub_pattern COMMA nsepseq(sub_pattern,COMMA) +## In state 326, spurious reduction of production ptuple -> tuple(sub_pattern) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 326. +## Ends in an error in state: 327. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -3170,7 +2988,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 373. +## Ends in an error in state: 374. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -3181,15 +2999,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 288, spurious reduction of production constr_pattern -> Constr -## In state 372, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 289, spurious reduction of production constr_pattern -> Constr +## In state 373, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 288. +## Ends in an error in state: 289. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3200,32 +3018,21 @@ contract: Let LPAR Constr VBAR -contract: Let LPAR RPAR COLON Constr Type +contract: Let LPAR RPAR COLON String WILD ## -## Ends in an error in state: 380. +## Ends in an error in state: 381. ## ## 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) ## -## 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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let LPAR RPAR EQ VBAR ## -## Ends in an error in state: 381. +## Ends in an error in state: 382. ## ## let_binding -> unit option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3237,7 +3044,7 @@ contract: Let LPAR RPAR EQ VBAR contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 379. +## Ends in an error in state: 380. ## ## let_binding -> unit . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> unit . [ COMMA ] @@ -3250,7 +3057,7 @@ contract: Let LPAR RPAR WILD contract: Let LPAR VBAR ## -## Ends in an error in state: 355. +## Ends in an error in state: 356. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3263,7 +3070,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 370. +## Ends in an error in state: 371. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3275,7 +3082,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 369. +## Ends in an error in state: 370. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3287,39 +3094,28 @@ 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 363, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 368, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) -## In state 360, spurious reduction of production irrefutable -> tuple(sub_irrefutable) +## In state 364, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 369, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 361, spurious reduction of production irrefutable -> tuple(sub_irrefutable) ## -contract: Let LPAR WILD RPAR COLON Constr Type +contract: Let LPAR WILD RPAR COLON String WILD ## -## Ends in an error in state: 393. +## Ends in an error in state: 394. ## ## 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) ## -## 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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let LPAR WILD RPAR EQ VBAR ## -## Ends in an error in state: 394. +## Ends in an error in state: 395. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3331,7 +3127,7 @@ contract: Let LPAR WILD RPAR EQ VBAR contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 392. +## Ends in an error in state: 393. ## ## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] @@ -3344,7 +3140,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 361. +## Ends in an error in state: 362. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3357,7 +3153,7 @@ contract: Let LPAR WILD WILD contract: Let Rec VBAR ## -## Ends in an error in state: 533. +## Ends in an error in state: 526. ## ## let_declaration -> seq(Attr) Let Rec . let_binding [ Type SEMI Let EOF Attr ] ## @@ -3369,7 +3165,7 @@ contract: Let Rec VBAR contract: Let VBAR ## -## Ends in an error in state: 75. +## Ends in an error in state: 76. ## ## let_declaration -> seq(Attr) Let . let_binding [ Type SEMI Let EOF Attr ] ## let_declaration -> seq(Attr) Let . Rec let_binding [ Type SEMI Let EOF Attr ] @@ -3380,31 +3176,21 @@ contract: Let VBAR -contract: Let WILD COLON Ident Type +contract: Let WILD COLON String WILD ## -## Ends in an error in state: 80. +## Ends in an error in state: 81. ## ## 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) ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## In state 68, spurious reduction of production type_expr -> fun_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let WILD COLON WILD ## -## Ends in an error in state: 77. +## Ends in an error in state: 78. ## ## type_annotation -> COLON . type_expr [ EQ ] ## @@ -3414,32 +3200,21 @@ contract: Let WILD COLON WILD -contract: Let WILD COMMA Ident COLON Constr Type +contract: Let WILD COMMA Ident COLON String WILD ## -## Ends in an error in state: 384. +## Ends in an error in state: 385. ## ## 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) ## -## 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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 78, spurious reduction of production type_annotation -> COLON type_expr -## In state 79, spurious reduction of production option(type_annotation) -> type_annotation -## contract: Let WILD COMMA Ident EQ VBAR ## -## Ends in an error in state: 385. +## Ends in an error in state: 386. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3451,7 +3226,7 @@ contract: Let WILD COMMA Ident EQ VBAR contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 383. +## Ends in an error in state: 384. ## ## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3462,15 +3237,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 363, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable -## In state 368, spurious reduction of production tuple(sub_irrefutable) -> sub_irrefutable COMMA nsepseq(sub_irrefutable,COMMA) +## In state 364, spurious reduction of production nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable +## In state 369, 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: 362. +## Ends in an error in state: 363. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3482,7 +3257,7 @@ contract: Let WILD COMMA VBAR contract: Let WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 364. +## Ends in an error in state: 365. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3494,7 +3269,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 363. +## Ends in an error in state: 364. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3507,7 +3282,7 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 536. +## Ends in an error in state: 529. ## ## declaration -> let_declaration . option(SEMI) [ Type Let EOF Attr ] ## @@ -3518,28 +3293,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 155, spurious reduction of production call_expr_level_in -> core_expr -## In state 173, spurious reduction of production option(type_annotation_simple) -> -## In state 174, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) -## In state 175, spurious reduction of production unary_expr_level -> call_expr_level -## In state 128, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 152, spurious reduction of production add_expr_level -> mult_expr_level -## In state 183, spurious reduction of production cat_expr_level -> add_expr_level -## In state 204, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 211, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 218, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 165, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 222, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 223, spurious reduction of production expr -> base_cond__open(expr) -## In state 532, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr -## In state 535, spurious reduction of production let_declaration -> seq(Attr) Let let_binding +## In state 156, spurious reduction of production call_expr_level_in -> core_expr +## In state 174, spurious reduction of production option(type_annotation_simple) -> +## In state 175, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 176, spurious reduction of production unary_expr_level -> call_expr_level +## In state 129, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 153, spurious reduction of production add_expr_level -> mult_expr_level +## In state 184, spurious reduction of production cat_expr_level -> add_expr_level +## In state 205, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 212, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 219, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 166, spurious reduction of production base_expr -> disj_expr_level +## In state 223, spurious reduction of production base_cond -> base_expr +## In state 224, spurious reduction of production expr -> base_cond +## In state 525, 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 VBAR ## -## Ends in an error in state: 81. +## Ends in an error in state: 82. ## ## let_binding -> WILD option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3551,7 +3326,7 @@ contract: Let WILD EQ VBAR contract: Let WILD WILD ## -## Ends in an error in state: 76. +## Ends in an error in state: 77. ## ## let_binding -> WILD . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> WILD . [ COMMA ] @@ -3564,7 +3339,7 @@ contract: Let WILD WILD contract: Type Ident EQ Constr DOT WILD ## -## Ends in an error in state: 11. +## Ends in an error in state: 12. ## ## core_type -> Constr DOT . Ident [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3576,7 +3351,7 @@ contract: Type Ident EQ Constr DOT WILD contract: Type Ident EQ Constr LPAR Ident RPAR WILD ## -## Ends in an error in state: 37. +## Ends in an error in state: 38. ## ## 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 ] @@ -3587,22 +3362,15 @@ contract: Type Ident EQ Constr LPAR Ident RPAR WILD -contract: Type Ident EQ Constr LPAR Ident Type +contract: Type Ident EQ Constr LPAR String WILD ## -## Ends in an error in state: 35. +## Ends in an error in state: 36. ## ## variant -> Constr LPAR fun_type . RPAR [ VBAR Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## ## The known suffix of the stack is as follows: ## Constr LPAR fun_type ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## @@ -3618,31 +3386,9 @@ contract: Type Ident EQ Constr LPAR WILD -contract: Type Ident EQ Constr RPAR -## -## Ends in an error in state: 71. -## -## declaration -> type_decl . option(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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 66, spurious reduction of production type_expr -> sum_type -## In state 65, spurious reduction of production type_decl -> Type Ident EQ type_expr -## - - - contract: Type Ident EQ Constr SEMI WILD ## -## Ends in an error in state: 540. +## Ends in an error in state: 533. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -3655,7 +3401,7 @@ contract: Type Ident EQ Constr SEMI WILD contract: Type Ident EQ Constr VBAR WILD ## -## Ends in an error in state: 38. +## Ends in an error in state: 39. ## ## nsepseq(variant,VBAR) -> variant VBAR . nsepseq(variant,VBAR) [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3667,7 +3413,7 @@ contract: Type Ident EQ Constr VBAR WILD contract: Type Ident EQ Constr WILD ## -## Ends in an error in state: 48. +## Ends in an error in state: 49. ## ## 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 ] @@ -3681,7 +3427,7 @@ contract: Type Ident EQ Constr WILD contract: Type Ident EQ Ident ARROW WILD ## -## Ends in an error in state: 24. +## Ends in an error in state: 25. ## ## fun_type -> Ident ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## @@ -3691,9 +3437,9 @@ contract: Type Ident EQ Ident ARROW WILD -contract: Type Ident EQ Ident LPAR Ident Type +contract: Type Ident EQ Ident LPAR String WILD ## -## Ends in an error in state: 17. +## Ends in an error in state: 18. ## ## tuple(fun_type) -> fun_type . COMMA nsepseq(fun_type,COMMA) [ RPAR ] ## type_args -> fun_type . [ RPAR ] @@ -3701,19 +3447,12 @@ contract: Type Ident EQ Ident LPAR Ident Type ## The known suffix of the stack is as follows: ## fun_type ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## contract: Type Ident EQ Ident LPAR WILD ## -## Ends in an error in state: 9. +## Ends in an error in state: 10. ## ## par(type_args) -> LPAR . type_args RPAR [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3725,7 +3464,7 @@ contract: Type Ident EQ Ident LPAR WILD contract: Type Ident EQ Ident WILD ## -## Ends in an error in state: 8. +## Ends in an error in state: 9. ## ## core_type -> Ident . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## core_type -> Ident . par(type_args) [ Type SEMI RPAR Let EQ EOF COMMA Attr ] @@ -3737,33 +3476,9 @@ contract: Type Ident EQ Ident WILD -contract: Type Ident EQ LBRACE Ident COLON Constr Type -## -## 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 ] -## nseq(__anonymous_0(field_decl,COMMA)) -> field_decl . COMMA seq(__anonymous_0(field_decl,COMMA)) [ RBRACE ] -## -## The known suffix of the stack is as follows: -## field_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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 50, spurious reduction of production type_expr_field -> sum_type -## In state 49, spurious reduction of production field_decl -> Ident COLON type_expr_field -## - - - contract: Type Ident EQ LBRACE Ident COLON Ident WILD ## -## Ends in an error in state: 47. +## Ends in an error in state: 48. ## ## core_type -> Ident . [ RBRACE COMMA ] ## core_type -> Ident . par(type_args) [ RBRACE COMMA ] @@ -3774,28 +3489,21 @@ contract: Type Ident EQ LBRACE Ident COLON Ident WILD -contract: Type Ident EQ LBRACE Ident COLON LPAR Ident Type +contract: Type Ident EQ LBRACE Ident COLON LPAR String WILD ## -## Ends in an error in state: 45. +## Ends in an error in state: 46. ## ## par(fun_type) -> LPAR fun_type . RPAR [ RBRACE COMMA ] ## ## The known suffix of the stack is as follows: ## LPAR fun_type ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## contract: Type Ident EQ LBRACE Ident COLON LPAR WILD ## -## Ends in an error in state: 44. +## Ends in an error in state: 45. ## ## par(fun_type) -> LPAR . fun_type RPAR [ RBRACE COMMA ] ## @@ -3805,9 +3513,23 @@ contract: Type Ident EQ LBRACE Ident COLON LPAR WILD +contract: Type Ident EQ LBRACE Ident COLON String WILD +## +## Ends in an error in state: 59. +## +## nsepseq(field_decl,COMMA) -> field_decl . [ RBRACE ] +## 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 ] +## +## The known suffix of the stack is as follows: +## field_decl +## + + + contract: Type Ident EQ LBRACE Ident COLON WILD ## -## Ends in an error in state: 43. +## Ends in an error in state: 44. ## ## field_decl -> Ident COLON . type_expr_field [ RBRACE COMMA ] ## @@ -3817,9 +3539,9 @@ contract: Type Ident EQ LBRACE Ident COLON WILD -contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr Type +contract: Type Ident EQ LBRACE Ident COMMA Ident COLON String WILD ## -## Ends in an error in state: 62. +## Ends in an error in state: 63. ## ## nsepseq(field_decl,COMMA) -> field_decl . [ RBRACE ] ## nsepseq(field_decl,COMMA) -> field_decl . COMMA nsepseq(field_decl,COMMA) [ RBRACE ] @@ -3828,22 +3550,12 @@ contract: Type Ident EQ LBRACE Ident COMMA Ident COLON Constr Type ## The known suffix of the stack is as follows: ## field_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 37, spurious reduction of production nsepseq(variant,VBAR) -> variant -## In state 52, spurious reduction of production sum_type -> nsepseq(variant,VBAR) -## In state 50, spurious reduction of production type_expr_field -> sum_type -## In state 49, spurious reduction of production field_decl -> Ident COLON type_expr_field -## contract: Type Ident EQ LBRACE Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 63. +## Ends in an error in state: 64. ## ## 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 ] @@ -3856,7 +3568,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: 59. +## Ends in an error in state: 60. ## ## 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 ] @@ -3869,7 +3581,7 @@ contract: Type Ident EQ LBRACE Ident COMMA WILD contract: Type Ident EQ LBRACE Ident WILD ## -## Ends in an error in state: 42. +## Ends in an error in state: 43. ## ## field_decl -> Ident . [ RBRACE COMMA ] ## field_decl -> Ident . COLON type_expr_field [ RBRACE COMMA ] @@ -3882,7 +3594,7 @@ contract: Type Ident EQ LBRACE Ident WILD contract: Type Ident EQ LBRACE WILD ## -## Ends in an error in state: 41. +## Ends in an error in state: 42. ## ## record_type -> LBRACE . sep_or_term_list(field_decl,COMMA) RBRACE [ Type SEMI RPAR RBRACE Let EQ EOF COMMA Attr ] ## @@ -3894,7 +3606,7 @@ contract: Type Ident EQ LBRACE WILD contract: Type Ident EQ LPAR Constr WILD ## -## Ends in an error in state: 10. +## Ends in an error in state: 11. ## ## core_type -> Constr . DOT Ident [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## @@ -3904,21 +3616,9 @@ contract: Type Ident EQ LPAR Constr WILD -contract: Type Ident EQ LPAR Ident COMMA Ident COMMA WILD +contract: Type Ident EQ LPAR String COMMA Ident RPAR ARROW WILD ## -## Ends in an error in state: 21. -## -## nsepseq(fun_type,COMMA) -> fun_type COMMA . nsepseq(fun_type,COMMA) [ RPAR ] -## -## The known suffix of the stack is as follows: -## fun_type COMMA -## - - - -contract: Type Ident EQ LPAR Ident COMMA Ident RPAR ARROW WILD -## -## Ends in an error in state: 29. +## Ends in an error in state: 30. ## ## fun_type -> LPAR tuple(fun_type) RPAR ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## @@ -3928,9 +3628,9 @@ contract: Type Ident EQ LPAR Ident COMMA Ident RPAR ARROW WILD -contract: Type Ident EQ LPAR Ident COMMA Ident RPAR WILD +contract: Type Ident EQ LPAR String COMMA Ident RPAR WILD ## -## Ends in an error in state: 28. +## Ends in an error in state: 29. ## ## fun_type -> LPAR tuple(fun_type) RPAR . ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## fun_type -> LPAR tuple(fun_type) RPAR . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] @@ -3941,9 +3641,21 @@ contract: Type Ident EQ LPAR Ident COMMA Ident RPAR WILD -contract: Type Ident EQ LPAR Ident COMMA Ident Type +contract: Type Ident EQ LPAR String COMMA String COMMA WILD ## -## Ends in an error in state: 20. +## Ends in an error in state: 22. +## +## nsepseq(fun_type,COMMA) -> fun_type COMMA . nsepseq(fun_type,COMMA) [ RPAR ] +## +## The known suffix of the stack is as follows: +## fun_type COMMA +## + + + +contract: Type Ident EQ LPAR String COMMA String WILD +## +## Ends in an error in state: 21. ## ## nsepseq(fun_type,COMMA) -> fun_type . [ RPAR ] ## nsepseq(fun_type,COMMA) -> fun_type . COMMA nsepseq(fun_type,COMMA) [ RPAR ] @@ -3951,19 +3663,12 @@ contract: Type Ident EQ LPAR Ident COMMA Ident Type ## The known suffix of the stack is as follows: ## fun_type ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## -contract: Type Ident EQ LPAR Ident COMMA WILD +contract: Type Ident EQ LPAR String COMMA WILD ## -## Ends in an error in state: 18. +## Ends in an error in state: 19. ## ## tuple(fun_type) -> fun_type COMMA . nsepseq(fun_type,COMMA) [ RPAR ] ## @@ -3973,9 +3678,9 @@ contract: Type Ident EQ LPAR Ident COMMA WILD -contract: Type Ident EQ LPAR Ident RPAR ARROW WILD +contract: Type Ident EQ LPAR String RPAR ARROW WILD ## -## Ends in an error in state: 33. +## Ends in an error in state: 34. ## ## fun_type -> LPAR fun_type RPAR ARROW . fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## @@ -3985,9 +3690,9 @@ contract: Type Ident EQ LPAR Ident RPAR ARROW WILD -contract: Type Ident EQ LPAR Ident RPAR WILD +contract: Type Ident EQ LPAR String RPAR WILD ## -## Ends in an error in state: 32. +## Ends in an error in state: 33. ## ## fun_type -> LPAR fun_type RPAR . ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## par(fun_type) -> LPAR fun_type RPAR . [ Type SEMI RPAR Let EQ EOF COMMA Attr ] @@ -3998,9 +3703,9 @@ contract: Type Ident EQ LPAR Ident RPAR WILD -contract: Type Ident EQ LPAR Ident Type +contract: Type Ident EQ LPAR String WILD ## -## Ends in an error in state: 31. +## Ends in an error in state: 32. ## ## fun_type -> LPAR fun_type . RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## par(fun_type) -> LPAR fun_type . RPAR [ Type SEMI RPAR Let EQ EOF COMMA Attr ] @@ -4009,19 +3714,12 @@ contract: Type Ident EQ LPAR Ident Type ## The known suffix of the stack is as follows: ## LPAR fun_type ## -## WARNING: This example involves spurious reductions. -## This implies that, although the LR(1) items shown above provide an -## accurate view of the past (what has been recognized so far), they -## may provide an INCOMPLETE view of the future (what was expected next). -## In state 8, spurious reduction of production core_type -> Ident -## In state 23, spurious reduction of production fun_type -> core_type -## contract: Type Ident EQ LPAR WILD ## -## Ends in an error in state: 7. +## Ends in an error in state: 8. ## ## fun_type -> LPAR . fun_type RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] ## fun_type -> LPAR . tuple(fun_type) RPAR ARROW fun_type [ Type SEMI RPAR Let EQ EOF COMMA Attr ] @@ -4034,6 +3732,18 @@ contract: Type Ident EQ LPAR WILD +contract: Type Ident EQ String WILD +## +## Ends in an error in state: 72. +## +## declaration -> type_decl . option(SEMI) [ Type Let EOF Attr ] +## +## The known suffix of the stack is as follows: +## type_decl +## + + + contract: Type Ident EQ VBAR Constr WILD ## ## Ends in an error in state: 5. @@ -4106,4 +3816,3 @@ contract: WILD ## - diff --git a/src/passes/2-concrete_to_imperative/cameligo.ml b/src/passes/2-concrete_to_imperative/cameligo.ml index 405b3fe74..1e8c85f55 100644 --- a/src/passes/2-concrete_to_imperative/cameligo.ml +++ b/src/passes/2-concrete_to_imperative/cameligo.ml @@ -169,7 +169,7 @@ open Operators.Concrete_to_imperative.Cameligo let r_split = Location.r_split let get_t_string_singleton_opt = function - | Raw.TStringLiteral s -> Some s.value + | Raw.TString s -> Some s.value | _ -> None let rec pattern_to_var : Raw.pattern -> _ = fun p -> @@ -250,7 +250,7 @@ and compile_type_expression : Raw.type_expr -> type_expression result = fun te - let (x,loc) = r_split x in let (name, tuple) = x in ( match name.value with - | "michelson_or" -> + | "michelson_or" -> let lst = npseq_to_list tuple.value.inside in (match lst with | [a ; b ; c ; d ] -> ( @@ -321,7 +321,7 @@ and compile_type_expression : Raw.type_expr -> type_expression result = fun te - @@ npseq_to_list s in let m = List.fold_left (fun m ((x,i), y) -> CMap.add (Constructor x) {ctor_type=y;ctor_decl_pos=i} m) CMap.empty lst in ok @@ make_t ~loc @@ T_sum m - | TStringLiteral _s -> simple_fail "we don't support singleton string type" + | TString _s -> simple_fail "we don't support singleton string type" and compile_list_type_expression (lst:Raw.type_expr list) : type_expression result = match lst with diff --git a/src/test/contracts/letin.mligo b/src/test/contracts/letin.mligo index 8ee8912c7..5573b6154 100644 --- a/src/test/contracts/letin.mligo +++ b/src/test/contracts/letin.mligo @@ -5,3 +5,25 @@ let main (n : int * storage) : operation list * storage = let x : int = 7 in x + n.0, n.1.0 + n.1.1 in ([] : operation list), x + + +let f0 (a: string) = true +let f1 (a: string) = true +let f2 (a: string) = true + +let letin_nesting (_: unit) = + begin + let s = "test" in + let p0 = f0 s in + assert p0; + let p1 = f1 s in + assert p1; + let p2 = f2 s in + assert p2; + s + end + +let letin_nesting2 (x: int) = + let y = 2 in + let z = 3 in + x + y + z \ No newline at end of file diff --git a/src/test/contracts/letin.religo b/src/test/contracts/letin.religo index 8956133e3..c7e4b82af 100644 --- a/src/test/contracts/letin.religo +++ b/src/test/contracts/letin.religo @@ -7,3 +7,24 @@ let main = (n : (int, storage)) : (list (operation), storage) => { }; ([]: list (operation), x); }; + +let f0 = (a: string) => true +let f1 = (a: string) => true +let f2 = (a: string) => true + +let letin_nesting = (_: unit) => { + let s = "test"; + let p0 = f0(s); + assert(p0); + let p1 = f1(s); + assert(p1); + let p2 = f2(s); + assert(p2); + s +} + +let letin_nesting2 = (x: int) => { + let y = 2; + let z = 3; + x + y + z +} \ No newline at end of file diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index cf4120cea..bbe645b47 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -1595,18 +1595,37 @@ let counter_religo () : unit result = let let_in_mligo () : unit result = let%bind program = mtype_file "./contracts/letin.mligo" in - let make_input n = e_pair (e_int n) (e_pair (e_int 3) (e_int 5)) in - let make_expected n = - e_pair (e_typed_list [] (t_operation ())) (e_pair (e_int (7+n)) (e_int (3+5))) - in expect_eq_n program "main" make_input make_expected + let%bind () = + let make_input n = e_pair (e_int n) (e_pair (e_int 3) (e_int 5)) in + let make_expected n = + e_pair (e_typed_list [] (t_operation ())) (e_pair (e_int (7+n)) (e_int (3+5))) + in + expect_eq_n program "main" make_input make_expected + in + let%bind () = + expect_eq program "letin_nesting" (e_unit ()) (e_string "test") + in + let%bind () = + expect_eq program "letin_nesting2" (e_int 4) (e_int 9) + in + ok () let let_in_religo () : unit result = let%bind program = retype_file "./contracts/letin.religo" in - let make_input n = e_pair (e_int n) (e_pair (e_int 3) (e_int 5)) in - let make_expected n = - e_pair (e_typed_list [] (t_operation ())) (e_pair (e_int (7+n)) (e_int (3+5))) - in expect_eq_n program "main" make_input make_expected - + let%bind () = + let make_input n = e_pair (e_int n) (e_pair (e_int 3) (e_int 5)) in + let make_expected n = + e_pair (e_typed_list [] (t_operation ())) (e_pair (e_int (7+n)) (e_int (3+5))) + in + expect_eq_n program "main" make_input make_expected + in + let%bind () = + expect_eq program "letin_nesting" (e_unit ()) (e_string "test") + in + let%bind () = + expect_eq program "letin_nesting2" (e_int 4) (e_int 9) + in + ok () let match_variant () : unit result = let%bind program = mtype_file "./contracts/match.mligo" in