From c57f499feaa9561f4e11579c2900dd8a2a3e685a Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Wed, 10 Jun 2020 16:58:59 +0200 Subject: [PATCH] Final touches to the pretty printers. Fixed the syntaxes for field_assignment and field_path_assignment. --- src/passes/01-parser/cameligo/.links | 2 - src/passes/01-parser/cameligo/AST.ml | 6 +- src/passes/01-parser/cameligo/Parser.mly | 26 +- src/passes/01-parser/cameligo/ParserLog.ml | 12 +- src/passes/01-parser/cameligo/ParserMain.ml | 2 +- src/passes/01-parser/cameligo/Pretty.ml | 12 +- .../cameligo/error.messages.checked-in | 111 +- src/passes/01-parser/pascaligo/.links | 2 - src/passes/01-parser/pascaligo/AST.ml | 10 +- src/passes/01-parser/pascaligo/Parser.mly | 14 +- src/passes/01-parser/pascaligo/ParserLog.ml | 32 +- src/passes/01-parser/pascaligo/ParserMain.ml | 2 +- src/passes/01-parser/pascaligo/Pretty.ml | 6 +- .../pascaligo/error.messages.checked-in | 1296 +++++++-------- src/passes/01-parser/reasonligo/.links | 3 - src/passes/01-parser/reasonligo/Parser.mly | 62 +- src/passes/01-parser/reasonligo/ParserMain.ml | 4 +- src/passes/01-parser/reasonligo/Pretty.ml | 61 +- .../reasonligo/error.messages.checked-in | 1423 ++++++++--------- .../02-concrete_to_imperative/cameligo.ml | 58 +- .../02-concrete_to_imperative/pascaligo.ml | 138 +- 21 files changed, 1601 insertions(+), 1681 deletions(-) diff --git a/src/passes/01-parser/cameligo/.links b/src/passes/01-parser/cameligo/.links index fc8466c8e..8dcc06146 100644 --- a/src/passes/01-parser/cameligo/.links +++ b/src/passes/01-parser/cameligo/.links @@ -19,5 +19,3 @@ $HOME/git/OCaml-build/Makefile ../shared/LexerUnit.ml ../shared/ParserUnit.mli ../shared/ParserUnit.ml - -$HOME/git/ligo/_build/default/src/passes/1-parser/cameligo/ParErr.ml \ No newline at end of file diff --git a/src/passes/01-parser/cameligo/AST.ml b/src/passes/01-parser/cameligo/AST.ml index 6b80d434c..db425d540 100644 --- a/src/passes/01-parser/cameligo/AST.ml +++ b/src/passes/01-parser/cameligo/AST.ml @@ -344,12 +344,12 @@ and update = { lbrace : lbrace; record : path; kwd_with : kwd_with; - updates : field_path_assign reg ne_injection reg; + updates : field_path_assignment reg ne_injection reg; rbrace : rbrace } -and field_path_assign = { - field_path : (selection, dot) nsepseq; +and field_path_assignment = { + field_path : path; assignment : equal; field_expr : expr } diff --git a/src/passes/01-parser/cameligo/Parser.mly b/src/passes/01-parser/cameligo/Parser.mly index 01ebbc195..cf4c0494b 100644 --- a/src/passes/01-parser/cameligo/Parser.mly +++ b/src/passes/01-parser/cameligo/Parser.mly @@ -524,8 +524,7 @@ mult_expr_level: | unary_expr_level { $1 } unary_expr_level: - call_expr_level { $1 } -| "-" call_expr_level { + "-" call_expr_level { let start = $1 in let stop = expr_to_region $2 in let region = cover start stop @@ -537,7 +536,9 @@ unary_expr_level: let stop = expr_to_region $2 in let region = cover start stop and value = {op=$1; arg=$2} in - ELogic (BoolExpr (Not ({region; value}))) } + ELogic (BoolExpr (Not ({region; value}))) + } +| call_expr_level { $1 } call_expr_level: call_expr | constr_expr | core_expr { $1 } @@ -595,7 +596,7 @@ module_field: module_fun: field_name { $1 } -| "or" { {value="or"; region=$1} } +| "or" { {value="or"; region=$1} } projection: struct_name "." nsepseq(selection,".") { @@ -643,20 +644,15 @@ update_record: in {region; value} } field_path_assignment : - nsepseq(selection,".") "=" expr { - let start = nsepseq_to_region selection_to_region $1 in - let region = cover start (expr_to_region $3) in - let value = {field_path = $1; - assignment = $2; - field_expr = $3} - in {region; value}} + path "=" expr { + let region = cover (path_to_region $1) (expr_to_region $3) + and value = {field_path=$1; assignment=$2; field_expr=$3} + in {region; value} } field_assignment: field_name "=" expr { - let start = $1.region in - let stop = expr_to_region $3 in - let region = cover start stop in - let value = {field_name = $1; + let region = cover $1.region (expr_to_region $3) + and value = {field_name = $1; assignment = $2; field_expr = $3} in {region; value} } diff --git a/src/passes/01-parser/cameligo/ParserLog.ml b/src/passes/01-parser/cameligo/ParserLog.ml index a23a77b56..49d9b2562 100644 --- a/src/passes/01-parser/cameligo/ParserLog.ml +++ b/src/passes/01-parser/cameligo/ParserLog.ml @@ -526,7 +526,7 @@ and print_field_assign state {value; _} = and print_field_path_assign state {value; _} = let {field_path; assignment; field_expr} = value in - print_nsepseq state "." print_selection field_path; + print_path state field_path; print_token state assignment "="; print_expr state field_expr @@ -945,7 +945,7 @@ and pp_projection state proj = List.iteri (apply len) selections and pp_update state update = - pp_path state update.record; + pp_path (state#pad 2 0) update.record; pp_ne_injection pp_field_path_assign state update.updates.value and pp_path state = function @@ -970,10 +970,10 @@ and pp_field_assign state {value; _} = pp_expr (state#pad 2 1) value.field_expr and pp_field_path_assign state {value; _} = - pp_node state ""; - let path = Utils.nsepseq_to_list value.field_path in - List.iter (pp_selection (state#pad 2 0)) path; - pp_expr (state#pad 2 1) value.field_expr + let {field_path; field_expr; _} = value in + pp_node state ""; + pp_path (state#pad 2 0) field_path; + pp_expr (state#pad 2 1) field_expr and pp_constr_expr state = function ENone region -> diff --git a/src/passes/01-parser/cameligo/ParserMain.ml b/src/passes/01-parser/cameligo/ParserMain.ml index 47462302d..0ccb71a01 100644 --- a/src/passes/01-parser/cameligo/ParserMain.ml +++ b/src/passes/01-parser/cameligo/ParserMain.ml @@ -70,7 +70,7 @@ module ParserLog = module Lexer = Lexer.Make (LexToken) module Unit = - ParserUnit.Make (Lexer)(AST)(Parser)(ParErr)(ParserLog)(SubIO) + ParserUnit.Make (Lexer)(AST)(Parser)(Parser_msg)(ParserLog)(SubIO) (* Main *) diff --git a/src/passes/01-parser/cameligo/Pretty.ml b/src/passes/01-parser/cameligo/Pretty.ml index ba8451d52..780d05e29 100644 --- a/src/passes/01-parser/cameligo/Pretty.ml +++ b/src/passes/01-parser/cameligo/Pretty.ml @@ -286,18 +286,14 @@ and pp_ne_injection : string opening ^^ nest 1 elements ^^ string closing and pp_nsepseq : - 'a.string -> - ('a -> document) -> - ('a, t) Utils.nsepseq -> - document = + 'a.string -> ('a -> document) -> ('a, t) Utils.nsepseq -> document = fun sep printer elements -> let elems = Utils.nsepseq_to_list elements and sep = string sep ^^ break 1 in separate_map sep printer elems and pp_nseq : 'a.('a -> document) -> 'a Utils.nseq -> document = - fun printer (head, tail) -> - separate_map (break 1) printer (head::tail) + fun printer (head, tail) -> separate_map (break 1) printer (head::tail) and pp_projection {value; _} = let {struct_name; field_path; _} = value in @@ -319,9 +315,7 @@ and pp_update {value; _} = and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in - let fields = Utils.nsepseq_to_list field_path - and sep = string "." ^^ break 0 in - let path = separate_map sep pp_ident fields in + let path = pp_path field_path in prefix 2 1 (path ^^ string " =") (pp_expr field_expr) and pp_path = function diff --git a/src/passes/01-parser/cameligo/error.messages.checked-in b/src/passes/01-parser/cameligo/error.messages.checked-in index 4a1fe3a5b..14c31bc5f 100644 --- a/src/passes/01-parser/cameligo/error.messages.checked-in +++ b/src/passes/01-parser/cameligo/error.messages.checked-in @@ -1948,7 +1948,7 @@ interactive_expr: LBRACE Constr DOT Ident With ## ## Ends in an error in state: 523. ## -## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With ] +## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With EQ ] ## ## The known suffix of the stack is as follows: ## Constr DOT Ident @@ -1960,7 +1960,7 @@ interactive_expr: LBRACE Constr DOT With ## ## Ends in an error in state: 522. ## -## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With ] +## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With EQ ] ## ## The known suffix of the stack is as follows: ## Constr DOT @@ -1972,7 +1972,7 @@ interactive_expr: LBRACE Constr With ## ## Ends in an error in state: 521. ## -## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With ] +## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With EQ ] ## ## The known suffix of the stack is as follows: ## Constr @@ -2002,7 +2002,7 @@ interactive_expr: LBRACE Ident DOT Ident Verbatim interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 551. +## 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 ] @@ -2015,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: 550. +## 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 ] @@ -2047,7 +2047,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI Ident EQ Bytes With interactive_expr: LBRACE Ident EQ Bytes SEMI Ident With ## -## Ends in an error in state: 547. +## Ends in an error in state: 548. ## ## field_assignment -> Ident . EQ expr [ SEMI RBRACE ] ## @@ -2059,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: 546. +## 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 ] @@ -2072,7 +2072,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident EQ Bytes With ## -## Ends in an error in state: 545. +## 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 ] @@ -2128,9 +2128,9 @@ interactive_expr: LBRACE Ident WILD -interactive_expr: LBRACE Ident With Int EQ Bytes SEMI Int EQ Bytes SEMI With +interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI Ident DOT Ident EQ Bytes SEMI With ## -## Ends in an error in state: 541. +## 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 ] @@ -2141,9 +2141,9 @@ interactive_expr: LBRACE Ident With Int EQ Bytes SEMI Int EQ Bytes SEMI With -interactive_expr: LBRACE Ident With Int EQ Bytes SEMI Int EQ Bytes With +interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI Ident DOT Ident EQ Bytes With ## -## Ends in an error in state: 540. +## 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 ] @@ -2168,14 +2168,14 @@ interactive_expr: LBRACE Ident With Int EQ Bytes SEMI Int EQ Bytes With ## In state 368, spurious reduction of production base_expr(expr) -> disj_expr_level ## In state 370, spurious reduction of production base_cond__open(expr) -> base_expr(expr) ## In state 371, spurious reduction of production expr -> base_cond__open(expr) -## In state 534, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr +## In state 534, spurious reduction of production field_path_assignment -> path EQ expr ## -interactive_expr: LBRACE Ident With Int EQ Bytes SEMI With +interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI With ## -## Ends in an error in state: 537. +## 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 ] @@ -2186,9 +2186,9 @@ interactive_expr: LBRACE Ident With Int EQ Bytes SEMI With -interactive_expr: LBRACE Ident With Int EQ Bytes With +interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes With ## -## Ends in an error in state: 536. +## 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 ] @@ -2213,37 +2213,52 @@ interactive_expr: LBRACE Ident With Int EQ Bytes With ## In state 368, spurious reduction of production base_expr(expr) -> disj_expr_level ## In state 370, spurious reduction of production base_cond__open(expr) -> base_expr(expr) ## In state 371, spurious reduction of production expr -> base_cond__open(expr) -## In state 534, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr +## In state 534, spurious reduction of production field_path_assignment -> path EQ expr ## -interactive_expr: LBRACE Ident With Int EQ With +interactive_expr: LBRACE Ident With Ident DOT Ident EQ With ## ## Ends in an error in state: 533. ## -## field_path_assignment -> nsepseq(selection,DOT) EQ . expr [ SEMI RBRACE ] +## field_path_assignment -> path EQ . expr [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## nsepseq(selection,DOT) EQ +## path EQ ## -interactive_expr: LBRACE Ident With Int With +interactive_expr: LBRACE Ident With Ident DOT Ident With ## ## Ends in an error in state: 532. ## -## field_path_assignment -> nsepseq(selection,DOT) . EQ expr [ SEMI RBRACE ] +## field_path_assignment -> path . EQ expr [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## nsepseq(selection,DOT) +## path ## ## 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 187, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 190, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 526, spurious reduction of production path -> projection +## + + + +interactive_expr: LBRACE Ident With Ident With +## +## Ends in an error in state: 529. +## +## path -> Ident . [ EQ ] +## projection -> Ident . DOT nsepseq(selection,DOT) [ EQ ] +## +## The known suffix of the stack is as follows: +## Ident ## @@ -2275,7 +2290,7 @@ interactive_expr: LBRACE With interactive_expr: LBRACKET Verbatim SEMI Verbatim SEMI With ## -## Ends in an error in state: 566. +## Ends in an error in state: 567. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -2288,7 +2303,7 @@ interactive_expr: LBRACKET Verbatim SEMI Verbatim SEMI With interactive_expr: LBRACKET Verbatim SEMI Verbatim With ## -## Ends in an error in state: 565. +## Ends in an error in state: 566. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -2319,7 +2334,7 @@ interactive_expr: LBRACKET Verbatim SEMI Verbatim With interactive_expr: LBRACKET Verbatim SEMI With ## -## Ends in an error in state: 562. +## Ends in an error in state: 563. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -2332,7 +2347,7 @@ interactive_expr: LBRACKET Verbatim SEMI With interactive_expr: LBRACKET Verbatim With ## -## Ends in an error in state: 561. +## Ends in an error in state: 562. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -2375,7 +2390,7 @@ interactive_expr: LBRACKET With interactive_expr: LPAR Verbatim COLON Ident VBAR ## -## Ends in an error in state: 580. +## Ends in an error in state: 581. ## ## par(annot_expr) -> LPAR annot_expr . RPAR [ With Verbatim 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 ] ## @@ -2389,14 +2404,14 @@ interactive_expr: LPAR Verbatim COLON Ident VBAR ## 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 579, spurious reduction of production annot_expr -> expr COLON type_expr +## In state 580, spurious reduction of production annot_expr -> expr COLON type_expr ## interactive_expr: LPAR Verbatim COLON With ## -## Ends in an error in state: 578. +## Ends in an error in state: 579. ## ## annot_expr -> expr COLON . type_expr [ RPAR ] ## @@ -2408,7 +2423,7 @@ interactive_expr: LPAR Verbatim COLON With interactive_expr: LPAR Verbatim With ## -## Ends in an error in state: 576. +## Ends in an error in state: 577. ## ## annot_expr -> expr . COLON type_expr [ RPAR ] ## par(expr) -> LPAR expr . RPAR [ With Verbatim 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 ] @@ -2525,7 +2540,7 @@ interactive_expr: Let Rec With interactive_expr: Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 554. +## 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 EOF COLON Attr ] ## @@ -2544,7 +2559,7 @@ interactive_expr: Let WILD EQ Bytes Attr Type interactive_expr: Let WILD EQ Bytes In With ## -## Ends in an error in state: 555. +## 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 EOF COLON Attr ] ## @@ -2556,7 +2571,7 @@ interactive_expr: Let WILD EQ Bytes In With interactive_expr: Let WILD EQ Bytes With ## -## Ends in an error in state: 553. +## 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 EOF COLON Attr ] ## @@ -2611,7 +2626,7 @@ interactive_expr: MINUS With interactive_expr: Match Verbatim Type ## -## Ends in an error in state: 569. +## 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 EOF COLON Attr ] ## @@ -2653,7 +2668,7 @@ interactive_expr: Match Verbatim With LPAR Bytes RPAR With interactive_expr: Match Verbatim With VBAR Begin ## -## Ends in an error in state: 571. +## 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 EOF COLON Attr ] ## @@ -2665,7 +2680,7 @@ interactive_expr: Match Verbatim With VBAR Begin interactive_expr: Match Verbatim With WILD ARROW Bytes VBAR With ## -## Ends in an error in state: 575. +## 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 EOF COLON Attr ] ## @@ -3200,7 +3215,7 @@ interactive_expr: Match Verbatim With WILD ARROW Let With interactive_expr: Match Verbatim With WILD ARROW Verbatim COMMA Bytes Else ## -## Ends in an error in state: 574. +## 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 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 ] @@ -3264,7 +3279,7 @@ interactive_expr: Match Verbatim With WILD ARROW Verbatim End interactive_expr: Match Verbatim With WILD ARROW With ## -## Ends in an error in state: 573. +## 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 EOF COLON Attr ] ## @@ -3313,7 +3328,7 @@ interactive_expr: Match Verbatim With WILD COMMA With interactive_expr: Match Verbatim With WILD CONS Bytes SEMI ## -## Ends in an error in state: 572. +## 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 EOF COLON Attr ] ## @@ -3357,7 +3372,7 @@ interactive_expr: Match Verbatim With WILD With interactive_expr: Match Verbatim With With ## -## Ends in an error in state: 570. +## 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 EOF COLON Attr ] ## @@ -3747,7 +3762,7 @@ interactive_expr: Verbatim WILD interactive_expr: Verbatim With ## -## Ends in an error in state: 597. +## Ends in an error in state: 598. ## ## interactive_expr -> expr . EOF [ # ] ## @@ -3776,7 +3791,7 @@ interactive_expr: Verbatim With interactive_expr: With ## -## Ends in an error in state: 595. +## Ends in an error in state: 596. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -4222,7 +4237,7 @@ contract: Let LPAR With contract: Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 584. +## Ends in an error in state: 585. ## ## let_declaration -> Let Rec let_binding . seq(Attr) [ Type Let EOF ] ## @@ -4347,7 +4362,7 @@ contract: Let WILD EQ Bytes Attr With contract: Let WILD EQ Bytes With ## -## Ends in an error in state: 586. +## Ends in an error in state: 587. ## ## let_declaration -> Let let_binding . seq(Attr) [ Type Let EOF ] ## @@ -4483,7 +4498,7 @@ contract: Type Ident EQ Constr With contract: Type Ident EQ Ident VBAR ## -## Ends in an error in state: 592. +## Ends in an error in state: 593. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -4499,7 +4514,7 @@ contract: Type Ident EQ Ident VBAR ## 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 +## In state 589, spurious reduction of production declaration -> type_decl ## diff --git a/src/passes/01-parser/pascaligo/.links b/src/passes/01-parser/pascaligo/.links index 45c9a4602..aca47d8ff 100644 --- a/src/passes/01-parser/pascaligo/.links +++ b/src/passes/01-parser/pascaligo/.links @@ -21,5 +21,3 @@ $HOME/git/OCaml-build/Makefile ../shared/ParserUnit.mli ../shared/ParserUnit.ml ../shared/LexerLib.ml - -$HOME/git/ligo/_build/default/src/passes/1-parser/pascaligo/ParErr.ml diff --git a/src/passes/01-parser/pascaligo/AST.ml b/src/passes/01-parser/pascaligo/AST.ml index cd2dd70bb..ad5e8be7e 100644 --- a/src/passes/01-parser/pascaligo/AST.ml +++ b/src/passes/01-parser/pascaligo/AST.ml @@ -541,13 +541,13 @@ and constr_expr = | NoneExpr of c_None | ConstrApp of (constr * arguments option) reg -and field_assign = { +and field_assignment = { field_name : field_name; assignment : equal; field_expr : expr } -and record = field_assign reg ne_injection +and record = field_assignment reg ne_injection and projection = { struct_name : variable; @@ -558,11 +558,11 @@ and projection = { and update = { record : path; kwd_with : kwd_with; - updates : field_path_assign reg ne_injection reg + updates : field_path_assignment reg ne_injection reg } -and field_path_assign = { - field_path : (selection, dot) nsepseq; +and field_path_assignment = { + field_path : path; assignment : equal; field_expr : expr } diff --git a/src/passes/01-parser/pascaligo/Parser.mly b/src/passes/01-parser/pascaligo/Parser.mly index 199f689ba..8052be9fc 100644 --- a/src/passes/01-parser/pascaligo/Parser.mly +++ b/src/passes/01-parser/pascaligo/Parser.mly @@ -949,7 +949,7 @@ record_expr: "record" sep_or_term_list(field_assignment,";") "end" { let ne_elements, terminator = $2 in let region = cover $1 $3 - and value : field_assign AST.reg ne_injection = { + and value : field_assignment AST.reg ne_injection = { kind = NEInjRecord $1; enclosing = End $3; ne_elements; @@ -959,7 +959,7 @@ record_expr: | "record" "[" sep_or_term_list(field_assignment,";") "]" { let ne_elements, terminator = $3 in let region = cover $1 $4 - and value : field_assign AST.reg ne_injection = { + and value : field_assignment AST.reg ne_injection = { kind = NEInjRecord $1; enclosing = Brackets ($2,$4); ne_elements; @@ -969,8 +969,8 @@ record_expr: update_record: path "with" ne_injection("record",field_path_assignment) { let updates = $3 (fun region -> NEInjRecord region) in - let region = cover (path_to_region $1) updates.region in - let value = {record=$1; kwd_with=$2; updates} + let region = cover (path_to_region $1) updates.region in + let value = {record=$1; kwd_with=$2; updates} in {region; value} } field_assignment: @@ -980,10 +980,8 @@ field_assignment: in {region; value} } field_path_assignment: - nsepseq(selection,".") "=" expr { - let start = nsepseq_to_region selection_to_region $1 - and stop = expr_to_region $3 in - let region = cover start stop + path "=" expr { + let region = cover (path_to_region $1) (expr_to_region $3) and value = {field_path=$1; assignment=$2; field_expr=$3} in {region; value} } diff --git a/src/passes/01-parser/pascaligo/ParserLog.ml b/src/passes/01-parser/pascaligo/ParserLog.ml index bec03ffe1..3ae039e8e 100644 --- a/src/passes/01-parser/pascaligo/ParserLog.ml +++ b/src/passes/01-parser/pascaligo/ParserLog.ml @@ -616,25 +616,25 @@ and print_constr_expr state = function | ConstrApp e -> print_constr_app state e and print_record_expr state = - print_ne_injection state print_field_assign + print_ne_injection state print_field_assignment -and print_field_assign state {value; _} = +and print_field_assignment state {value; _} = let {field_name; assignment; field_expr} = value in print_var state field_name; print_token state assignment "="; print_expr state field_expr -and print_field_path_assign state {value; _} = +and print_field_path_assignment state {value; _} = let {field_path; assignment; field_expr} = value in - print_nsepseq state "field_path" print_selection field_path; - print_token state assignment "="; - print_expr state field_expr + print_path state field_path; + print_token state assignment "="; + print_expr state field_expr and print_update_expr state {value; _} = let {record; kwd_with; updates} = value in print_path state record; print_token state kwd_with "with"; - print_ne_injection state print_field_path_assign updates + print_ne_injection state print_field_path_assignment updates and print_projection state {value; _} = let {struct_name; selector; field_path} = value in @@ -654,7 +654,7 @@ and print_record_patch state node = print_token state kwd_patch "patch"; print_path state path; print_token state kwd_with "with"; - print_ne_injection state print_field_assign record_inj + print_ne_injection state print_field_assignment record_inj and print_set_patch state node = let {kwd_patch; path; kwd_with; set_inj} = node in @@ -1272,7 +1272,7 @@ and pp_projection state proj = and pp_update state update = pp_path (state#pad 2 0) update.record; - pp_ne_injection pp_field_path_assign state update.updates.value + pp_ne_injection pp_field_path_assignment state update.updates.value and pp_selection state = function FieldName name -> @@ -1380,18 +1380,18 @@ and pp_fun_call state (expr, args) = and pp_record_patch state patch = pp_path (state#pad 2 0) patch.path; - pp_ne_injection pp_field_assign state patch.record_inj.value + pp_ne_injection pp_field_assignment state patch.record_inj.value -and pp_field_assign state {value; _} = +and pp_field_assignment state {value; _} = pp_node state ""; pp_ident (state#pad 2 0) value.field_name; pp_expr (state#pad 2 1) value.field_expr -and pp_field_path_assign state {value; _} = +and pp_field_path_assignment state {value; _} = + let {field_path; field_expr; _} = value in pp_node state ""; - let path = Utils.nsepseq_to_list value.field_path in - List.iter (pp_selection (state#pad 2 0)) path; - pp_expr (state#pad 2 1) value.field_expr + pp_path (state#pad 2 0) field_path; + pp_expr (state#pad 2 1) field_expr and pp_map_patch state patch = pp_path (state#pad 2 0) patch.path; @@ -1461,7 +1461,7 @@ and pp_expr state = function pp_constr_expr (state#pad 1 0) e_constr | ERecord {value; region} -> pp_loc_node state "ERecord" region; - pp_ne_injection pp_field_assign state value + pp_ne_injection pp_field_assignment state value | EProj {value; region} -> pp_loc_node state "EProj" region; pp_projection state value diff --git a/src/passes/01-parser/pascaligo/ParserMain.ml b/src/passes/01-parser/pascaligo/ParserMain.ml index 65533dc14..6158dc5da 100644 --- a/src/passes/01-parser/pascaligo/ParserMain.ml +++ b/src/passes/01-parser/pascaligo/ParserMain.ml @@ -70,7 +70,7 @@ module ParserLog = module Lexer = Lexer.Make (LexToken) module Unit = - ParserUnit.Make (Lexer)(AST)(Parser)(ParErr)(ParserLog)(SubIO) + ParserUnit.Make (Lexer)(AST)(Parser)(Parser_msg)(ParserLog)(SubIO) (* Main *) diff --git a/src/passes/01-parser/pascaligo/Pretty.ml b/src/passes/01-parser/pascaligo/Pretty.ml index e2a5b4cfd..4c52d071a 100644 --- a/src/passes/01-parser/pascaligo/Pretty.ml +++ b/src/passes/01-parser/pascaligo/Pretty.ml @@ -497,10 +497,8 @@ and pp_update {value; _} = and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in - let fields = Utils.nsepseq_to_list field_path - and sep = string "." ^^ break 0 in - let fields = separate_map sep pp_ident fields in - group (fields ^^ nest 2 (break 1 ^^ string "= " ^^ pp_expr field_expr)) + let path = pp_path field_path in + prefix 2 1 (path ^^ string " =") (pp_expr field_expr) and pp_selection = function FieldName v -> string v.value diff --git a/src/passes/01-parser/pascaligo/error.messages.checked-in b/src/passes/01-parser/pascaligo/error.messages.checked-in index 2b97451b5..3cad43084 100644 --- a/src/passes/01-parser/pascaligo/error.messages.checked-in +++ b/src/passes/01-parser/pascaligo/error.messages.checked-in @@ -11,19 +11,19 @@ interactive_expr: BigMap LBRACKET Verbatim ARROW Bytes End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## @@ -43,7 +43,7 @@ interactive_expr: BigMap LBRACKET With interactive_expr: BigMap Verbatim ARROW Bytes RBRACKET ## -## Ends in an error in state: 250. +## Ends in an error in state: 257. ## ## injection(BigMap,binding) -> BigMap sep_or_term_list(binding,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -54,19 +54,19 @@ interactive_expr: BigMap Verbatim ARROW Bytes RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## @@ -100,7 +100,7 @@ interactive_expr: C_Some With interactive_expr: Case Verbatim Of C_Some LPAR WILD With ## -## Ends in an error in state: 278. +## Ends in an error in state: 285. ## ## par(core_pattern) -> LPAR core_pattern . RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -112,7 +112,7 @@ interactive_expr: Case Verbatim Of C_Some LPAR WILD With interactive_expr: Case Verbatim Of C_Some LPAR With ## -## Ends in an error in state: 270. +## Ends in an error in state: 277. ## ## par(core_pattern) -> LPAR . core_pattern RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -124,7 +124,7 @@ interactive_expr: Case Verbatim Of C_Some LPAR With interactive_expr: Case Verbatim Of C_Some With ## -## Ends in an error in state: 269. +## Ends in an error in state: 276. ## ## constr_pattern -> C_Some . par(core_pattern) [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -136,7 +136,7 @@ interactive_expr: Case Verbatim Of C_Some With interactive_expr: Case Verbatim Of Constr LPAR WILD With ## -## Ends in an error in state: 284. +## Ends in an error in state: 291. ## ## nsepseq(core_pattern,COMMA) -> core_pattern . [ RPAR ] ## nsepseq(core_pattern,COMMA) -> core_pattern . COMMA nsepseq(core_pattern,COMMA) [ RPAR ] @@ -149,7 +149,7 @@ interactive_expr: Case Verbatim Of Constr LPAR WILD With interactive_expr: Case Verbatim Of Constr LPAR With ## -## Ends in an error in state: 268. +## Ends in an error in state: 275. ## ## par(nsepseq(core_pattern,COMMA)) -> LPAR . nsepseq(core_pattern,COMMA) RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -161,7 +161,7 @@ interactive_expr: Case Verbatim Of Constr LPAR With interactive_expr: Case Verbatim Of Constr With ## -## Ends in an error in state: 267. +## Ends in an error in state: 274. ## ## constr_pattern -> Constr . tuple_pattern [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] @@ -174,7 +174,7 @@ interactive_expr: Case Verbatim Of Constr With interactive_expr: Case Verbatim Of LBRACKET VBAR Block ## -## Ends in an error in state: 255. +## Ends in an error in state: 262. ## ## case(expr) -> Case expr Of LBRACKET option(VBAR) . cases(expr) RBRACKET [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -186,7 +186,7 @@ interactive_expr: Case Verbatim Of LBRACKET VBAR Block interactive_expr: Case Verbatim Of LBRACKET WILD ARROW Bytes End ## -## Ends in an error in state: 319. +## Ends in an error in state: 326. ## ## case(expr) -> Case expr Of LBRACKET option(VBAR) cases(expr) . RBRACKET [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -197,26 +197,26 @@ interactive_expr: Case Verbatim Of LBRACKET WILD ARROW Bytes End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 317, spurious reduction of production case_clause(expr) -> pattern ARROW expr -## In state 321, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) -## In state 318, spurious reduction of production cases(expr) -> nsepseq(case_clause(expr),VBAR) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 324, spurious reduction of production case_clause(expr) -> pattern ARROW expr +## In state 328, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) +## In state 325, spurious reduction of production cases(expr) -> nsepseq(case_clause(expr),VBAR) ## interactive_expr: Case Verbatim Of LBRACKET With ## -## Ends in an error in state: 254. +## Ends in an error in state: 261. ## ## case(expr) -> Case expr Of LBRACKET . option(VBAR) cases(expr) RBRACKET [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -228,7 +228,7 @@ interactive_expr: Case Verbatim Of LBRACKET With interactive_expr: Case Verbatim Of LPAR WILD COMMA With ## -## Ends in an error in state: 285. +## Ends in an error in state: 292. ## ## nsepseq(core_pattern,COMMA) -> core_pattern COMMA . nsepseq(core_pattern,COMMA) [ RPAR ] ## @@ -240,7 +240,7 @@ interactive_expr: Case Verbatim Of LPAR WILD COMMA With interactive_expr: Case Verbatim Of LPAR WILD CONS Bytes ARROW ## -## Ends in an error in state: 297. +## Ends in an error in state: 304. ## ## par(cons_pattern) -> LPAR cons_pattern . RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -251,15 +251,15 @@ interactive_expr: Case Verbatim Of LPAR WILD CONS 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 291, spurious reduction of production pattern -> core_pattern -## In state 290, spurious reduction of production cons_pattern -> core_pattern CONS pattern +## In state 298, spurious reduction of production pattern -> core_pattern +## In state 297, spurious reduction of production cons_pattern -> core_pattern CONS pattern ## interactive_expr: Case Verbatim Of LPAR WILD CONS With ## -## Ends in an error in state: 289. +## Ends in an error in state: 296. ## ## cons_pattern -> core_pattern CONS . pattern [ RPAR ] ## @@ -271,7 +271,7 @@ interactive_expr: Case Verbatim Of LPAR WILD CONS With interactive_expr: Case Verbatim Of LPAR WILD With ## -## Ends in an error in state: 288. +## Ends in an error in state: 295. ## ## cons_pattern -> core_pattern . CONS pattern [ RPAR ] ## nsepseq(core_pattern,COMMA) -> core_pattern . [ RPAR ] @@ -285,7 +285,7 @@ interactive_expr: Case Verbatim Of LPAR WILD With interactive_expr: Case Verbatim Of LPAR With ## -## Ends in an error in state: 263. +## Ends in an error in state: 270. ## ## par(cons_pattern) -> LPAR . cons_pattern RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## par(nsepseq(core_pattern,COMMA)) -> LPAR . nsepseq(core_pattern,COMMA) RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] @@ -298,7 +298,7 @@ interactive_expr: Case Verbatim Of LPAR With interactive_expr: Case Verbatim Of List LBRACKET WILD End ## -## Ends in an error in state: 301. +## Ends in an error in state: 308. ## ## injection(List,core_pattern) -> List LBRACKET sep_or_term_list(core_pattern,SEMI) . RBRACKET [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -309,15 +309,15 @@ interactive_expr: Case Verbatim Of List LBRACKET WILD End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 305, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern -## In state 304, spurious reduction of production sep_or_term_list(core_pattern,SEMI) -> nsepseq(core_pattern,SEMI) +## In state 312, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern +## In state 311, spurious reduction of production sep_or_term_list(core_pattern,SEMI) -> nsepseq(core_pattern,SEMI) ## interactive_expr: Case Verbatim Of List LBRACKET With ## -## Ends in an error in state: 299. +## Ends in an error in state: 306. ## ## injection(List,core_pattern) -> List LBRACKET . sep_or_term_list(core_pattern,SEMI) RBRACKET [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## injection(List,core_pattern) -> List LBRACKET . RBRACKET [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] @@ -330,7 +330,7 @@ interactive_expr: Case Verbatim Of List LBRACKET With interactive_expr: Case Verbatim Of List WILD RBRACKET ## -## Ends in an error in state: 313. +## Ends in an error in state: 320. ## ## injection(List,core_pattern) -> List sep_or_term_list(core_pattern,SEMI) . End [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -341,15 +341,15 @@ interactive_expr: Case Verbatim Of List WILD RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 305, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern -## In state 304, spurious reduction of production sep_or_term_list(core_pattern,SEMI) -> nsepseq(core_pattern,SEMI) +## In state 312, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern +## In state 311, spurious reduction of production sep_or_term_list(core_pattern,SEMI) -> nsepseq(core_pattern,SEMI) ## interactive_expr: Case Verbatim Of List WILD SEMI WILD SEMI With ## -## Ends in an error in state: 310. +## Ends in an error in state: 317. ## ## nsepseq(core_pattern,SEMI) -> core_pattern SEMI . nsepseq(core_pattern,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(core_pattern,SEMI)) -> core_pattern SEMI . seq(__anonymous_0(core_pattern,SEMI)) [ RBRACKET End ] @@ -362,7 +362,7 @@ interactive_expr: Case Verbatim Of List WILD SEMI WILD SEMI With interactive_expr: Case Verbatim Of List WILD SEMI WILD With ## -## Ends in an error in state: 309. +## Ends in an error in state: 316. ## ## nsepseq(core_pattern,SEMI) -> core_pattern . [ RBRACKET End ] ## nsepseq(core_pattern,SEMI) -> core_pattern . SEMI nsepseq(core_pattern,SEMI) [ RBRACKET End ] @@ -376,7 +376,7 @@ interactive_expr: Case Verbatim Of List WILD SEMI WILD With interactive_expr: Case Verbatim Of List WILD SEMI With ## -## Ends in an error in state: 306. +## Ends in an error in state: 313. ## ## nsepseq(core_pattern,SEMI) -> core_pattern SEMI . nsepseq(core_pattern,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(core_pattern,SEMI)) -> core_pattern SEMI . seq(__anonymous_0(core_pattern,SEMI)) [ RBRACKET End ] @@ -389,7 +389,7 @@ interactive_expr: Case Verbatim Of List WILD SEMI With interactive_expr: Case Verbatim Of List WILD With ## -## Ends in an error in state: 305. +## Ends in an error in state: 312. ## ## nsepseq(core_pattern,SEMI) -> core_pattern . [ RBRACKET End ] ## nsepseq(core_pattern,SEMI) -> core_pattern . SEMI nsepseq(core_pattern,SEMI) [ RBRACKET End ] @@ -403,7 +403,7 @@ interactive_expr: Case Verbatim Of List WILD With interactive_expr: Case Verbatim Of List With ## -## Ends in an error in state: 262. +## Ends in an error in state: 269. ## ## injection(List,core_pattern) -> List . sep_or_term_list(core_pattern,SEMI) End [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## injection(List,core_pattern) -> List . End [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] @@ -418,7 +418,7 @@ interactive_expr: Case Verbatim Of List With interactive_expr: Case Verbatim Of VBAR Block ## -## Ends in an error in state: 324. +## Ends in an error in state: 331. ## ## case(expr) -> Case expr Of option(VBAR) . cases(expr) End [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -430,7 +430,7 @@ interactive_expr: Case Verbatim Of VBAR Block interactive_expr: Case Verbatim Of WILD ARROW Bytes RBRACKET ## -## Ends in an error in state: 325. +## Ends in an error in state: 332. ## ## case(expr) -> Case expr Of option(VBAR) cases(expr) . End [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -441,26 +441,26 @@ interactive_expr: Case Verbatim Of WILD ARROW Bytes RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 317, spurious reduction of production case_clause(expr) -> pattern ARROW expr -## In state 321, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) -## In state 318, spurious reduction of production cases(expr) -> nsepseq(case_clause(expr),VBAR) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 324, spurious reduction of production case_clause(expr) -> pattern ARROW expr +## In state 328, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) +## In state 325, spurious reduction of production cases(expr) -> nsepseq(case_clause(expr),VBAR) ## interactive_expr: Case Verbatim Of WILD ARROW Bytes Type ## -## Ends in an error in state: 321. +## Ends in an error in state: 328. ## ## nsepseq(case_clause(expr),VBAR) -> case_clause(expr) . [ RBRACKET End ] ## nsepseq(case_clause(expr),VBAR) -> case_clause(expr) . VBAR nsepseq(case_clause(expr),VBAR) [ RBRACKET End ] @@ -472,24 +472,24 @@ interactive_expr: Case Verbatim Of 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 317, spurious reduction of production case_clause(expr) -> pattern ARROW expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 324, spurious reduction of production case_clause(expr) -> pattern ARROW expr ## interactive_expr: Case Verbatim Of WILD ARROW Bytes VBAR With ## -## Ends in an error in state: 322. +## Ends in an error in state: 329. ## ## nsepseq(case_clause(expr),VBAR) -> case_clause(expr) VBAR . nsepseq(case_clause(expr),VBAR) [ RBRACKET End ] ## @@ -501,7 +501,7 @@ interactive_expr: Case Verbatim Of WILD ARROW Bytes VBAR With interactive_expr: Case Verbatim Of WILD ARROW With ## -## Ends in an error in state: 316. +## Ends in an error in state: 323. ## ## case_clause(expr) -> pattern ARROW . expr [ VBAR RBRACKET End ] ## @@ -513,7 +513,7 @@ interactive_expr: Case Verbatim Of WILD ARROW With interactive_expr: Case Verbatim Of WILD CONS WILD CONS With ## -## Ends in an error in state: 295. +## Ends in an error in state: 302. ## ## nsepseq(core_pattern,CONS) -> core_pattern CONS . nsepseq(core_pattern,CONS) [ RPAR ARROW ] ## @@ -525,7 +525,7 @@ interactive_expr: Case Verbatim Of WILD CONS WILD CONS With interactive_expr: Case Verbatim Of WILD CONS WILD With ## -## Ends in an error in state: 294. +## Ends in an error in state: 301. ## ## nsepseq(core_pattern,CONS) -> core_pattern . [ RPAR ARROW ] ## nsepseq(core_pattern,CONS) -> core_pattern . CONS nsepseq(core_pattern,CONS) [ RPAR ARROW ] @@ -538,7 +538,7 @@ interactive_expr: Case Verbatim Of WILD CONS WILD With interactive_expr: Case Verbatim Of WILD CONS With ## -## Ends in an error in state: 292. +## Ends in an error in state: 299. ## ## pattern -> core_pattern CONS . nsepseq(core_pattern,CONS) [ RPAR ARROW ] ## @@ -550,7 +550,7 @@ interactive_expr: Case Verbatim Of WILD CONS With interactive_expr: Case Verbatim Of WILD RPAR ## -## Ends in an error in state: 315. +## Ends in an error in state: 322. ## ## case_clause(expr) -> pattern . ARROW expr [ VBAR RBRACKET End ] ## @@ -561,14 +561,14 @@ interactive_expr: Case Verbatim Of 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 291, spurious reduction of production pattern -> core_pattern +## In state 298, spurious reduction of production pattern -> core_pattern ## interactive_expr: Case Verbatim Of WILD With ## -## Ends in an error in state: 291. +## Ends in an error in state: 298. ## ## pattern -> core_pattern . [ RPAR ARROW ] ## pattern -> core_pattern . CONS nsepseq(core_pattern,CONS) [ RPAR ARROW ] @@ -581,7 +581,7 @@ interactive_expr: Case Verbatim Of WILD With interactive_expr: Case Verbatim Of With ## -## Ends in an error in state: 253. +## Ends in an error in state: 260. ## ## case(expr) -> Case expr Of . option(VBAR) cases(expr) End [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## case(expr) -> Case expr Of . LBRACKET option(VBAR) cases(expr) RBRACKET [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] @@ -594,7 +594,7 @@ interactive_expr: Case Verbatim Of With interactive_expr: Case Verbatim VBAR ## -## Ends in an error in state: 252. +## Ends in an error in state: 259. ## ## case(expr) -> Case expr . Of option(VBAR) cases(expr) End [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## case(expr) -> Case expr . Of LBRACKET option(VBAR) cases(expr) RBRACKET [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] @@ -606,16 +606,16 @@ interactive_expr: Case Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -635,7 +635,7 @@ interactive_expr: Case With interactive_expr: Constr DOT And With ## -## Ends in an error in state: 169. +## Ends in an error in state: 175. ## ## core_expr -> module_field . [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## fun_call -> module_field . arguments [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -901,7 +901,7 @@ interactive_expr: Ident DOT Ident ASS ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 126, spurious reduction of production nsepseq(selection,DOT) -> selection -## In state 335, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 159, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) ## @@ -933,7 +933,7 @@ interactive_expr: Ident DOT Int While interactive_expr: Ident DOT With ## -## Ends in an error in state: 334. +## Ends in an error in state: 158. ## ## projection -> Ident DOT . nsepseq(selection,DOT) [ With VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LPAR LE LBRACKET GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ASS ARROW ] ## @@ -945,7 +945,7 @@ interactive_expr: Ident DOT With interactive_expr: Ident LBRACKET Verbatim VBAR ## -## Ends in an error in state: 234. +## Ends in an error in state: 241. ## ## brackets(expr) -> LBRACKET expr . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ASS ARROW ] ## @@ -956,23 +956,23 @@ interactive_expr: Ident LBRACKET Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## interactive_expr: Ident LBRACKET With ## -## Ends in an error in state: 233. +## Ends in an error in state: 240. ## ## brackets(expr) -> LBRACKET . expr RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ASS ARROW ] ## @@ -984,7 +984,7 @@ interactive_expr: Ident LBRACKET With interactive_expr: Ident LPAR Verbatim COMMA With ## -## Ends in an error in state: 332. +## Ends in an error in state: 339. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -996,7 +996,7 @@ interactive_expr: Ident LPAR Verbatim COMMA With interactive_expr: Ident LPAR Verbatim VBAR ## -## Ends in an error in state: 331. +## Ends in an error in state: 338. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -1008,16 +1008,16 @@ interactive_expr: Ident LPAR Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -1049,9 +1049,45 @@ interactive_expr: Ident While -interactive_expr: Ident With Record Int EQ Bytes RBRACKET +interactive_expr: Ident With Record Constr DOT Ident With ## -## Ends in an error in state: 230. +## Ends in an error in state: 162. +## +## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] +## +## The known suffix of the stack is as follows: +## Constr DOT Ident +## + + + +interactive_expr: Ident With Record Constr DOT With +## +## Ends in an error in state: 161. +## +## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] +## +## The known suffix of the stack is as follows: +## Constr DOT +## + + + +interactive_expr: Ident With Record Constr With +## +## Ends in an error in state: 160. +## +## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] +## +## The known suffix of the stack is as follows: +## Constr +## + + + +interactive_expr: Ident With Record Ident EQ Bytes RBRACKET +## +## Ends in an error in state: 237. ## ## ne_injection(Record,field_path_assignment) -> Record sep_or_term_list(field_path_assignment,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1062,26 +1098,26 @@ interactive_expr: Ident With Record Int EQ Bytes RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 186, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr -## In state 223, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment -## In state 222, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 192, spurious reduction of production field_path_assignment -> path EQ expr +## In state 230, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment +## In state 229, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) ## -interactive_expr: Ident With Record Int EQ Bytes SEMI Int EQ Bytes SEMI With +interactive_expr: Ident With Record Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 228. +## Ends in an error in state: 235. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment SEMI . nsepseq(field_path_assignment,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(field_path_assignment,SEMI)) -> field_path_assignment SEMI . seq(__anonymous_0(field_path_assignment,SEMI)) [ RBRACKET End ] @@ -1092,9 +1128,9 @@ interactive_expr: Ident With Record Int EQ Bytes SEMI Int EQ Bytes SEMI With -interactive_expr: Ident With Record Int EQ Bytes SEMI Int EQ Bytes VBAR +interactive_expr: Ident With Record Ident EQ Bytes SEMI Ident EQ Bytes VBAR ## -## Ends in an error in state: 227. +## Ends in an error in state: 234. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACKET End ] ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . SEMI nsepseq(field_path_assignment,SEMI) [ RBRACKET End ] @@ -1107,24 +1143,24 @@ interactive_expr: Ident With Record Int EQ Bytes SEMI Int 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 186, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 192, spurious reduction of production field_path_assignment -> path EQ expr ## -interactive_expr: Ident With Record Int EQ Bytes SEMI With +interactive_expr: Ident With Record Ident EQ Bytes SEMI With ## -## Ends in an error in state: 224. +## Ends in an error in state: 231. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment SEMI . nsepseq(field_path_assignment,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(field_path_assignment,SEMI)) -> field_path_assignment SEMI . seq(__anonymous_0(field_path_assignment,SEMI)) [ RBRACKET End ] @@ -1135,9 +1171,9 @@ interactive_expr: Ident With Record Int EQ Bytes SEMI With -interactive_expr: Ident With Record Int EQ Bytes VBAR +interactive_expr: Ident With Record Ident EQ Bytes VBAR ## -## Ends in an error in state: 223. +## Ends in an error in state: 230. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACKET End ] ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . SEMI nsepseq(field_path_assignment,SEMI) [ RBRACKET End ] @@ -1150,54 +1186,67 @@ interactive_expr: Ident With Record Int 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 186, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 192, spurious reduction of production field_path_assignment -> path EQ expr ## -interactive_expr: Ident With Record Int EQ With +interactive_expr: Ident With Record Ident EQ With ## -## Ends in an error in state: 161. +## Ends in an error in state: 167. ## -## field_path_assignment -> nsepseq(selection,DOT) EQ . expr [ SEMI RBRACKET End ] +## field_path_assignment -> path EQ . expr [ SEMI RBRACKET End ] ## ## The known suffix of the stack is as follows: -## nsepseq(selection,DOT) EQ +## path EQ ## -interactive_expr: Ident With Record Int With +interactive_expr: Ident With Record Ident While ## -## Ends in an error in state: 160. +## Ends in an error in state: 157. ## -## field_path_assignment -> nsepseq(selection,DOT) . EQ expr [ SEMI RBRACKET End ] +## path -> Ident . [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] +## projection -> Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] ## ## The known suffix of the stack is as follows: -## nsepseq(selection,DOT) +## Ident +## + + + +interactive_expr: Ident With Record Ident With +## +## Ends in an error in state: 166. +## +## field_path_assignment -> path . EQ expr [ SEMI RBRACKET End ] +## +## The known suffix of the stack is as follows: +## path ## ## 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 126, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 157, spurious reduction of production path -> Ident ## -interactive_expr: Ident With Record LBRACKET Int EQ Bytes End +interactive_expr: Ident With Record LBRACKET Ident EQ Bytes End ## -## Ends in an error in state: 157. +## Ends in an error in state: 163. ## ## ne_injection(Record,field_path_assignment) -> Record LBRACKET sep_or_term_list(field_path_assignment,SEMI) . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1208,19 +1257,19 @@ interactive_expr: Ident With Record LBRACKET Int EQ Bytes End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 186, spurious reduction of production field_path_assignment -> nsepseq(selection,DOT) EQ expr -## In state 223, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment -## In state 222, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 192, spurious reduction of production field_path_assignment -> path EQ expr +## In state 230, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment +## In state 229, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) ## @@ -1264,7 +1313,7 @@ interactive_expr: Ident With With interactive_expr: If Verbatim Then Verbatim Else With ## -## Ends in an error in state: 341. +## Ends in an error in state: 346. ## ## cond_expr -> If expr Then expr option(SEMI) Else . expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -1276,7 +1325,7 @@ interactive_expr: If Verbatim Then Verbatim Else With interactive_expr: If Verbatim Then Verbatim SEMI EQ ## -## Ends in an error in state: 340. +## Ends in an error in state: 345. ## ## cond_expr -> If expr Then expr option(SEMI) . Else expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -1288,7 +1337,7 @@ interactive_expr: If Verbatim Then Verbatim SEMI EQ interactive_expr: If Verbatim Then Verbatim VBAR ## -## Ends in an error in state: 339. +## Ends in an error in state: 344. ## ## cond_expr -> If expr Then expr . option(SEMI) Else expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -1299,23 +1348,23 @@ interactive_expr: If Verbatim Then Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## interactive_expr: If Verbatim Then With ## -## Ends in an error in state: 338. +## Ends in an error in state: 343. ## ## cond_expr -> If expr Then . expr option(SEMI) Else expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -1327,7 +1376,7 @@ interactive_expr: If Verbatim Then With interactive_expr: If Verbatim VBAR ## -## Ends in an error in state: 337. +## Ends in an error in state: 342. ## ## cond_expr -> If expr . Then expr option(SEMI) Else expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -1338,16 +1387,16 @@ interactive_expr: If Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -1366,7 +1415,7 @@ interactive_expr: If With interactive_expr: LPAR Bytes RPAR With ## -## Ends in an error in state: 163. +## Ends in an error in state: 169. ## ## fun_call_or_par_or_projection -> par(expr) . option(arguments) [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1378,7 +1427,7 @@ interactive_expr: LPAR Bytes RPAR With interactive_expr: LPAR If Verbatim Then Bytes Else Bytes VBAR ## -## Ends in an error in state: 345. +## Ends in an error in state: 350. ## ## par(expr) -> LPAR expr . RPAR [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LPAR LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## tuple_comp -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -1390,25 +1439,25 @@ interactive_expr: LPAR If Verbatim Then Bytes Else 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 342, spurious reduction of production cond_expr -> If expr Then expr option(SEMI) Else expr -## In state 220, spurious reduction of production expr -> cond_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 347, spurious reduction of production cond_expr -> If expr Then expr option(SEMI) Else expr +## In state 226, spurious reduction of production expr -> cond_expr ## interactive_expr: LPAR Verbatim COLON Ident VBAR ## -## Ends in an error in state: 352. +## Ends in an error in state: 357. ## ## par(annot_expr) -> LPAR annot_expr . RPAR [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1423,14 +1472,14 @@ interactive_expr: LPAR Verbatim COLON Ident VBAR ## In state 30, spurious reduction of production cartesian -> core_type ## In state 36, spurious reduction of production fun_type -> cartesian ## In state 44, spurious reduction of production type_expr -> fun_type -## In state 351, spurious reduction of production annot_expr -> disj_expr COLON type_expr +## In state 356, spurious reduction of production annot_expr -> disj_expr COLON type_expr ## interactive_expr: LPAR Verbatim COLON With ## -## Ends in an error in state: 350. +## Ends in an error in state: 355. ## ## annot_expr -> disj_expr COLON . type_expr [ RPAR ] ## @@ -1442,7 +1491,7 @@ interactive_expr: LPAR Verbatim COLON With interactive_expr: LPAR Verbatim COMMA With ## -## Ends in an error in state: 347. +## Ends in an error in state: 352. ## ## tuple_comp -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -1454,7 +1503,7 @@ interactive_expr: LPAR Verbatim COMMA With interactive_expr: LPAR Verbatim VBAR ## -## Ends in an error in state: 349. +## Ends in an error in state: 354. ## ## annot_expr -> disj_expr . COLON type_expr [ RPAR ] ## disj_expr -> disj_expr . Or conj_expr [ RPAR Or COMMA COLON ] @@ -1467,15 +1516,15 @@ interactive_expr: LPAR Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr ## @@ -1496,7 +1545,7 @@ interactive_expr: LPAR With interactive_expr: List LBRACKET Verbatim End ## -## Ends in an error in state: 356. +## Ends in an error in state: 361. ## ## injection(List,expr) -> List LBRACKET sep_or_term_list(expr,SEMI) . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1507,25 +1556,25 @@ interactive_expr: List LBRACKET Verbatim End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## interactive_expr: List LBRACKET With ## -## Ends in an error in state: 354. +## Ends in an error in state: 359. ## ## injection(List,expr) -> List LBRACKET . sep_or_term_list(expr,SEMI) RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## injection(List,expr) -> List LBRACKET . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -1538,7 +1587,7 @@ interactive_expr: List LBRACKET With interactive_expr: List Verbatim RBRACKET ## -## Ends in an error in state: 368. +## Ends in an error in state: 373. ## ## injection(List,expr) -> List sep_or_term_list(expr,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1549,18 +1598,18 @@ interactive_expr: List Verbatim RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## @@ -1594,7 +1643,7 @@ interactive_expr: MINUS With interactive_expr: Map LBRACKET Verbatim ARROW Bytes End ## -## Ends in an error in state: 373. +## Ends in an error in state: 378. ## ## injection(Map,binding) -> Map LBRACKET sep_or_term_list(binding,SEMI) . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1605,26 +1654,26 @@ interactive_expr: Map LBRACKET Verbatim ARROW Bytes End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## interactive_expr: Map LBRACKET With ## -## Ends in an error in state: 371. +## Ends in an error in state: 376. ## ## injection(Map,binding) -> Map LBRACKET . sep_or_term_list(binding,SEMI) RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## injection(Map,binding) -> Map LBRACKET . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -1637,7 +1686,7 @@ interactive_expr: Map LBRACKET With interactive_expr: Map Verbatim ARROW Bytes RBRACKET ## -## Ends in an error in state: 376. +## Ends in an error in state: 381. ## ## injection(Map,binding) -> Map sep_or_term_list(binding,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1648,26 +1697,26 @@ interactive_expr: Map Verbatim ARROW Bytes RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## interactive_expr: Map Verbatim ARROW Bytes SEMI Verbatim ARROW Bytes SEMI With ## -## Ends in an error in state: 247. +## Ends in an error in state: 254. ## ## nsepseq(binding,SEMI) -> binding SEMI . nsepseq(binding,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(binding,SEMI)) -> binding SEMI . seq(__anonymous_0(binding,SEMI)) [ RBRACKET End ] @@ -1680,7 +1729,7 @@ interactive_expr: Map Verbatim ARROW Bytes SEMI Verbatim ARROW Bytes SEMI With interactive_expr: Map Verbatim ARROW Bytes SEMI Verbatim ARROW Bytes VBAR ## -## Ends in an error in state: 246. +## Ends in an error in state: 253. ## ## nsepseq(binding,SEMI) -> binding . [ RBRACKET End ] ## nsepseq(binding,SEMI) -> binding . SEMI nsepseq(binding,SEMI) [ RBRACKET End ] @@ -1693,24 +1742,24 @@ interactive_expr: Map Verbatim ARROW Bytes SEMI Verbatim ARROW Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr ## interactive_expr: Map Verbatim ARROW Bytes SEMI With ## -## Ends in an error in state: 243. +## Ends in an error in state: 250. ## ## nsepseq(binding,SEMI) -> binding SEMI . nsepseq(binding,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(binding,SEMI)) -> binding SEMI . seq(__anonymous_0(binding,SEMI)) [ RBRACKET End ] @@ -1723,7 +1772,7 @@ interactive_expr: Map Verbatim ARROW Bytes SEMI With interactive_expr: Map Verbatim ARROW Bytes VBAR ## -## Ends in an error in state: 242. +## Ends in an error in state: 249. ## ## nsepseq(binding,SEMI) -> binding . [ RBRACKET End ] ## nsepseq(binding,SEMI) -> binding . SEMI nsepseq(binding,SEMI) [ RBRACKET End ] @@ -1736,24 +1785,24 @@ interactive_expr: Map Verbatim ARROW Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr ## interactive_expr: Map Verbatim ARROW With ## -## Ends in an error in state: 240. +## Ends in an error in state: 247. ## ## binding -> expr ARROW . expr [ SEMI RBRACKET End ] ## @@ -1765,7 +1814,7 @@ interactive_expr: Map Verbatim ARROW With interactive_expr: Map Verbatim VBAR ## -## Ends in an error in state: 239. +## Ends in an error in state: 246. ## ## binding -> expr . ARROW expr [ SEMI RBRACKET End ] ## @@ -1776,16 +1825,16 @@ interactive_expr: Map Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -1807,7 +1856,7 @@ interactive_expr: Map With interactive_expr: Not Bytes With ## -## Ends in an error in state: 166. +## Ends in an error in state: 172. ## ## add_expr -> mult_expr . [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## mult_expr -> mult_expr . TIMES unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -1834,7 +1883,7 @@ interactive_expr: Not With interactive_expr: Record Ident EQ Bytes RBRACKET ## -## Ends in an error in state: 391. +## Ends in an error in state: 396. ## ## record_expr -> Record sep_or_term_list(field_assignment,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1845,26 +1894,26 @@ interactive_expr: Record Ident EQ Bytes RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr -## In state 384, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment -## In state 383, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr +## In state 389, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 388, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## interactive_expr: Record Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 389. +## Ends in an error in state: 394. ## ## nsepseq(field_assignment,SEMI) -> field_assignment SEMI . nsepseq(field_assignment,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(field_assignment,SEMI)) -> field_assignment SEMI . seq(__anonymous_0(field_assignment,SEMI)) [ RBRACKET End ] @@ -1877,7 +1926,7 @@ interactive_expr: Record Ident EQ Bytes SEMI Ident EQ Bytes SEMI With interactive_expr: Record Ident EQ Bytes SEMI Ident EQ Bytes VBAR ## -## Ends in an error in state: 388. +## Ends in an error in state: 393. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACKET End ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACKET End ] @@ -1890,24 +1939,24 @@ interactive_expr: Record Ident EQ Bytes SEMI Ident 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr ## interactive_expr: Record Ident EQ Bytes SEMI With ## -## Ends in an error in state: 385. +## Ends in an error in state: 390. ## ## nsepseq(field_assignment,SEMI) -> field_assignment SEMI . nsepseq(field_assignment,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(field_assignment,SEMI)) -> field_assignment SEMI . seq(__anonymous_0(field_assignment,SEMI)) [ RBRACKET End ] @@ -1920,7 +1969,7 @@ interactive_expr: Record Ident EQ Bytes SEMI With interactive_expr: Record Ident EQ Bytes VBAR ## -## Ends in an error in state: 384. +## Ends in an error in state: 389. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACKET End ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACKET End ] @@ -1933,17 +1982,17 @@ interactive_expr: Record Ident 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr ## @@ -1974,7 +2023,7 @@ interactive_expr: Record Ident With interactive_expr: Record LBRACKET Ident EQ Bytes End ## -## Ends in an error in state: 380. +## Ends in an error in state: 385. ## ## record_expr -> Record LBRACKET sep_or_term_list(field_assignment,SEMI) . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -1985,19 +2034,19 @@ interactive_expr: Record LBRACKET Ident EQ Bytes End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr -## In state 384, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment -## In state 383, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr +## In state 389, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 388, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## @@ -2029,7 +2078,7 @@ interactive_expr: Record With interactive_expr: Set LBRACKET Verbatim End ## -## Ends in an error in state: 395. +## Ends in an error in state: 400. ## ## injection(Set,expr) -> Set LBRACKET sep_or_term_list(expr,SEMI) . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2040,25 +2089,25 @@ interactive_expr: Set LBRACKET Verbatim End ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## interactive_expr: Set LBRACKET With ## -## Ends in an error in state: 393. +## Ends in an error in state: 398. ## ## injection(Set,expr) -> Set LBRACKET . sep_or_term_list(expr,SEMI) RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## injection(Set,expr) -> Set LBRACKET . RBRACKET [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -2071,7 +2120,7 @@ interactive_expr: Set LBRACKET With interactive_expr: Set Verbatim RBRACKET ## -## Ends in an error in state: 398. +## Ends in an error in state: 403. ## ## injection(Set,expr) -> Set sep_or_term_list(expr,SEMI) . End [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Contains Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2082,25 +2131,25 @@ interactive_expr: Set Verbatim RBRACKET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## interactive_expr: Set Verbatim SEMI Verbatim SEMI With ## -## Ends in an error in state: 365. +## Ends in an error in state: 370. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] @@ -2113,7 +2162,7 @@ interactive_expr: Set Verbatim SEMI Verbatim SEMI With interactive_expr: Set Verbatim SEMI Verbatim VBAR ## -## Ends in an error in state: 364. +## Ends in an error in state: 369. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] @@ -2126,23 +2175,23 @@ interactive_expr: Set Verbatim SEMI Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## interactive_expr: Set Verbatim SEMI With ## -## Ends in an error in state: 361. +## Ends in an error in state: 366. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] @@ -2155,7 +2204,7 @@ interactive_expr: Set Verbatim SEMI With interactive_expr: Set Verbatim VBAR ## -## Ends in an error in state: 360. +## Ends in an error in state: 365. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] @@ -2168,16 +2217,16 @@ interactive_expr: Set Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -2199,7 +2248,7 @@ interactive_expr: Set With interactive_expr: Verbatim And With ## -## Ends in an error in state: 217. +## Ends in an error in state: 223. ## ## conj_expr -> conj_expr And . set_membership [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of Function From End Else EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2211,7 +2260,7 @@ interactive_expr: Verbatim And With interactive_expr: Verbatim CAT With ## -## Ends in an error in state: 193. +## Ends in an error in state: 199. ## ## cat_expr -> cons_expr CAT . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2223,7 +2272,7 @@ interactive_expr: Verbatim CAT With interactive_expr: Verbatim COLON ## -## Ends in an error in state: 187. +## Ends in an error in state: 193. ## ## disj_expr -> disj_expr . Or conj_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## expr -> disj_expr . [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] @@ -2235,22 +2284,22 @@ interactive_expr: Verbatim COLON ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr ## interactive_expr: Verbatim CONS With ## -## Ends in an error in state: 200. +## Ends in an error in state: 206. ## ## cons_expr -> add_expr CONS . cons_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2262,7 +2311,7 @@ interactive_expr: Verbatim CONS With interactive_expr: Verbatim Contains With ## -## Ends in an error in state: 190. +## Ends in an error in state: 196. ## ## set_membership -> core_expr Contains . set_membership [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of Function From End Else EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2274,7 +2323,7 @@ interactive_expr: Verbatim Contains With interactive_expr: Verbatim EQ With ## -## Ends in an error in state: 213. +## Ends in an error in state: 219. ## ## comp_expr -> comp_expr EQ . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2286,7 +2335,7 @@ interactive_expr: Verbatim EQ With interactive_expr: Verbatim GE With ## -## Ends in an error in state: 211. +## Ends in an error in state: 217. ## ## comp_expr -> comp_expr GE . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2298,7 +2347,7 @@ interactive_expr: Verbatim GE With interactive_expr: Verbatim GT With ## -## Ends in an error in state: 209. +## Ends in an error in state: 215. ## ## comp_expr -> comp_expr GT . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2310,7 +2359,7 @@ interactive_expr: Verbatim GT With interactive_expr: Verbatim LE With ## -## Ends in an error in state: 207. +## Ends in an error in state: 213. ## ## comp_expr -> comp_expr LE . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2322,7 +2371,7 @@ interactive_expr: Verbatim LE With interactive_expr: Verbatim LT With ## -## Ends in an error in state: 205. +## Ends in an error in state: 211. ## ## comp_expr -> comp_expr LT . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2334,7 +2383,7 @@ interactive_expr: Verbatim LT With interactive_expr: Verbatim MINUS Verbatim With ## -## Ends in an error in state: 199. +## Ends in an error in state: 205. ## ## add_expr -> add_expr MINUS mult_expr . [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## mult_expr -> mult_expr . TIMES unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -2349,7 +2398,7 @@ interactive_expr: Verbatim MINUS Verbatim With interactive_expr: Verbatim MINUS With ## -## Ends in an error in state: 198. +## Ends in an error in state: 204. ## ## add_expr -> add_expr MINUS . mult_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2361,7 +2410,7 @@ interactive_expr: Verbatim MINUS With interactive_expr: Verbatim Mod With ## -## Ends in an error in state: 183. +## Ends in an error in state: 189. ## ## mult_expr -> mult_expr Mod . unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2373,7 +2422,7 @@ interactive_expr: Verbatim Mod With interactive_expr: Verbatim NE With ## -## Ends in an error in state: 203. +## Ends in an error in state: 209. ## ## comp_expr -> comp_expr NE . cat_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of NE LT LE GT GE Function From End Else EQ EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## @@ -2385,7 +2434,7 @@ interactive_expr: Verbatim NE With interactive_expr: Verbatim Or With ## -## Ends in an error in state: 188. +## Ends in an error in state: 194. ## ## disj_expr -> disj_expr Or . conj_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of Function From End Else EOF Const COMMA COLON Block Begin Attributes ARROW ] ## @@ -2397,7 +2446,7 @@ interactive_expr: Verbatim Or With interactive_expr: Verbatim PLUS Verbatim With ## -## Ends in an error in state: 197. +## Ends in an error in state: 203. ## ## add_expr -> add_expr PLUS mult_expr . [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## mult_expr -> mult_expr . TIMES unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -2412,7 +2461,7 @@ interactive_expr: Verbatim PLUS Verbatim With interactive_expr: Verbatim PLUS With ## -## Ends in an error in state: 196. +## Ends in an error in state: 202. ## ## add_expr -> add_expr PLUS . mult_expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2424,7 +2473,7 @@ interactive_expr: Verbatim PLUS With interactive_expr: Verbatim SLASH With ## -## Ends in an error in state: 181. +## Ends in an error in state: 187. ## ## mult_expr -> mult_expr SLASH . unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2436,7 +2485,7 @@ interactive_expr: Verbatim SLASH With interactive_expr: Verbatim TIMES With ## -## Ends in an error in state: 167. +## Ends in an error in state: 173. ## ## mult_expr -> mult_expr TIMES . unary_expr [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] ## @@ -2459,23 +2508,23 @@ interactive_expr: Verbatim 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## interactive_expr: Verbatim With ## -## Ends in an error in state: 189. +## Ends in an error in state: 195. ## ## set_membership -> core_expr . Contains set_membership [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Or Of Function From End Else EOF Const COMMA COLON Block Begin Attributes And ARROW ] ## unary_expr -> core_expr . [ VBAR Type To Then TIMES Step SLASH SEMI Recursive RPAR RBRACKET RBRACE PLUS Or Of NE Mod MINUS LT LE GT GE Function From End Else EQ EOF Const CONS COMMA COLON CAT Block Begin Attributes And ARROW ] @@ -2664,16 +2713,16 @@ contract: Const Ident COLON Ident 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## In state 492, spurious reduction of production unqualified_decl(EQ) -> Ident COLON type_expr EQ expr ## In state 493, spurious reduction of production open_const_decl -> Const unqualified_decl(EQ) ## @@ -2761,16 +2810,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON Ident Is 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 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## In state 460, spurious reduction of production open_fun_decl -> Function Ident parameters COLON type_expr Is expr ## @@ -2900,7 +2949,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 291, spurious reduction of production pattern -> core_pattern +## In state 298, spurious reduction of production pattern -> core_pattern ## @@ -2932,16 +2981,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -3021,16 +3070,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -3061,16 +3110,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -3102,16 +3151,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## In state 467, spurious reduction of production var_assign -> Ident ASS expr ## @@ -3142,16 +3191,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -3234,8 +3283,8 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 126, spurious reduction of production nsepseq(selection,DOT) -> selection -## In state 335, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) -## In state 421, spurious reduction of production path -> projection +## In state 159, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 165, spurious reduction of production path -> projection ## @@ -3358,16 +3407,16 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## @@ -3384,42 +3433,6 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin -contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Constr DOT Ident With -## -## Ends in an error in state: 420. -## -## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else ] -## -## The known suffix of the stack is as follows: -## Constr DOT Ident -## - - - -contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Constr DOT With -## -## Ends in an error in state: 419. -## -## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else ] -## -## The known suffix of the stack is as follows: -## Constr DOT -## - - - -contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Constr With -## -## Ends in an error in state: 418. -## -## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else ] -## -## The known suffix of the stack is as follows: -## Constr -## - - - contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident VBAR ## ## Ends in an error in state: 426. @@ -3435,20 +3448,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 417, spurious reduction of production path -> Ident -## - - - -contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident While -## -## Ends in an error in state: 417. -## -## path -> Ident . [ With VBAR SEMI RBRACKET RBRACE End Else ] -## projection -> Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else ] -## -## The known suffix of the stack is as follows: -## Ident +## In state 157, spurious reduction of production path -> Ident ## @@ -3466,19 +3466,19 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## @@ -3508,19 +3508,19 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 241, spurious reduction of production binding -> expr ARROW expr -## In state 242, spurious reduction of production nsepseq(binding,SEMI) -> binding -## In state 238, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 248, spurious reduction of production binding -> expr ARROW expr +## In state 249, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 245, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## @@ -3551,19 +3551,19 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr -## In state 384, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment -## In state 383, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr +## In state 389, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 388, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## @@ -3581,19 +3581,19 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 379, spurious reduction of production field_assignment -> Ident EQ expr -## In state 384, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment -## In state 383, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 384, spurious reduction of production field_assignment -> Ident EQ expr +## In state 389, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 388, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## @@ -3636,18 +3636,18 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## @@ -3677,18 +3677,18 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr -## In state 360, spurious reduction of production nsepseq(expr,SEMI) -> expr -## In state 359, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr +## In state 365, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 364, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## @@ -3748,7 +3748,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Remove Verbatim From Set With ## -## Ends in an error in state: 416. +## Ends in an error in state: 421. ## ## set_remove -> Remove expr From Set . path [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3760,7 +3760,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Remove Verbatim From With ## -## Ends in an error in state: 415. +## Ends in an error in state: 420. ## ## map_remove -> Remove expr From . Map path [ VBAR SEMI RBRACKET RBRACE End Else ] ## set_remove -> Remove expr From . Set path [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3773,7 +3773,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Remove Verbatim VBAR ## -## Ends in an error in state: 414. +## Ends in an error in state: 419. ## ## map_remove -> Remove expr . From Map path [ VBAR SEMI RBRACKET RBRACE End Else ] ## set_remove -> Remove expr . From Set path [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3785,23 +3785,23 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Remove With ## -## Ends in an error in state: 413. +## Ends in an error in state: 418. ## ## map_remove -> Remove . expr From Map path [ VBAR SEMI RBRACKET RBRACE End Else ] ## set_remove -> Remove . expr From Set path [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3911,7 +3911,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Var Ident COLON String ASS With ## -## Ends in an error in state: 409. +## Ends in an error in state: 414. ## ## unqualified_decl(ASS) -> Ident COLON type_expr ASS . expr [ SEMI RBRACE End ] ## @@ -3923,7 +3923,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Var Ident COLON String VBAR ## -## Ends in an error in state: 408. +## Ends in an error in state: 413. ## ## unqualified_decl(ASS) -> Ident COLON type_expr . ASS expr [ SEMI RBRACE End ] ## @@ -3943,7 +3943,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Var Ident COLON With ## -## Ends in an error in state: 407. +## Ends in an error in state: 412. ## ## unqualified_decl(ASS) -> Ident COLON . type_expr ASS expr [ SEMI RBRACE End ] ## @@ -3955,7 +3955,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Var Ident With ## -## Ends in an error in state: 406. +## Ends in an error in state: 411. ## ## unqualified_decl(ASS) -> Ident . COLON type_expr ASS expr [ SEMI RBRACE End ] ## @@ -3967,7 +3967,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Var With ## -## Ends in an error in state: 405. +## Ends in an error in state: 410. ## ## open_var_decl -> Var . unqualified_decl(ASS) [ SEMI RBRACE End ] ## @@ -3979,7 +3979,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin While Verbatim VBAR ## -## Ends in an error in state: 403. +## Ends in an error in state: 408. ## ## while_loop -> While expr . block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3990,23 +3990,23 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 189, spurious reduction of production unary_expr -> core_expr +## In state 195, spurious reduction of production unary_expr -> core_expr ## In state 143, spurious reduction of production mult_expr -> unary_expr -## In state 166, spurious reduction of production add_expr -> mult_expr -## In state 195, spurious reduction of production cons_expr -> add_expr -## In state 192, spurious reduction of production cat_expr -> cons_expr -## In state 215, spurious reduction of production comp_expr -> cat_expr -## In state 202, spurious reduction of production set_membership -> comp_expr +## In state 172, spurious reduction of production add_expr -> mult_expr +## In state 201, spurious reduction of production cons_expr -> add_expr +## In state 198, spurious reduction of production cat_expr -> cons_expr +## In state 221, spurious reduction of production comp_expr -> cat_expr +## In state 208, spurious reduction of production set_membership -> comp_expr ## In state 145, spurious reduction of production conj_expr -> set_membership -## In state 219, spurious reduction of production disj_expr -> conj_expr -## In state 187, spurious reduction of production expr -> disj_expr +## In state 225, spurious reduction of production disj_expr -> conj_expr +## In state 193, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin While With ## -## Ends in an error in state: 402. +## Ends in an error in state: 407. ## ## while_loop -> While . expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4018,7 +4018,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin With ## -## Ends in an error in state: 404. +## Ends in an error in state: 409. ## ## block -> Begin . sep_or_term_list(statement,SEMI) End [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4049,7 +4049,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block LBRACE With ## -## Ends in an error in state: 401. +## Ends in an error in state: 406. ## ## block -> Block LBRACE . sep_or_term_list(statement,SEMI) RBRACE [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4061,7 +4061,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block With ## -## Ends in an error in state: 400. +## Ends in an error in state: 405. ## ## block -> Block . LBRACE sep_or_term_list(statement,SEMI) RBRACE [ With VBAR SEMI RBRACKET RBRACE End Else ] ## diff --git a/src/passes/01-parser/reasonligo/.links b/src/passes/01-parser/reasonligo/.links index 71a2ea603..e85766c2b 100644 --- a/src/passes/01-parser/reasonligo/.links +++ b/src/passes/01-parser/reasonligo/.links @@ -27,6 +27,3 @@ Stubs/Parser_cameligo.ml ../cameligo/ParserLog.ml ../cameligo/Scoping.mli ../cameligo/Scoping.ml -../cameligo/Pretty.ml - -$HOME/git/ligo/_build/default/src/passes/1-parser/reasonligo/ParErr.ml diff --git a/src/passes/01-parser/reasonligo/Parser.mly b/src/passes/01-parser/reasonligo/Parser.mly index ed91c1d30..6f85f729a 100644 --- a/src/passes/01-parser/reasonligo/Parser.mly +++ b/src/passes/01-parser/reasonligo/Parser.mly @@ -430,14 +430,14 @@ type_expr_simple: TProd {region = cover $1 $3; value=$2} } | "(" type_expr_simple "=>" type_expr_simple ")" { - TPar { + TPar { value = { lpar = $1; rpar = $5; inside = TFun { region = cover (type_expr_to_region $2) (type_expr_to_region $4); value=$2,$3,$4 - } + } }; region = cover $1 $5; } @@ -912,9 +912,9 @@ update_record: lbrace = $1; record = $3; kwd_with = $4; - updates = {value = {compound = Braces(Region.ghost, Region.ghost); - ne_elements; - terminator}; + updates = {value = {compound = Braces (ghost, ghost); + ne_elements; + terminator}; region = cover $4 $6}; rbrace = $6} in {region; value} } @@ -942,10 +942,9 @@ exprs: in let sequence = ESeq { value = { - compound = BeginEnd(Region.ghost, Region.ghost); - elements = Some val_; - terminator = (snd c) - }; + compound = BeginEnd (ghost, ghost); + elements = Some val_; + terminator = snd c}; region = sequence_region } in @@ -1012,48 +1011,23 @@ field_assignment_punning: (* This can only happen with multiple fields - one item punning does NOT work in ReasonML *) field_name { - let value = { - field_name = $1; - assignment = ghost; - field_expr = EVar $1 } + let value = {field_name = $1; + assignment = ghost; + field_expr = EVar $1} in {$1 with value} } | field_assignment { $1 } field_assignment: field_name ":" expr { - let start = $1.region in - let stop = expr_to_region $3 in - let region = cover start stop in - let value = { - field_name = $1; - assignment = $2; - field_expr = $3} + let region = cover $1.region (expr_to_region $3) + and value = {field_name = $1; + assignment = $2; + field_expr = $3} in {region; value} } -real_selection: - field_name { FieldName $1 } -| "" { Component $1 } - field_path_assignment: - real_selection { - let region = selection_to_region $1 - and value = { - field_path = ($1,[]); - assignment = ghost; - field_expr = match $1 with - FieldName var -> EVar var - | Component {value;region} -> - let value = Z.to_string (snd value) in - EVar {value;region} } - in {region; value} - } -| nsepseq(real_selection,".") ":" expr { - let start = nsepseq_to_region selection_to_region $1 - and stop = expr_to_region $3 in - let region = cover start stop - and value = { - field_path = $1; - assignment = $2; - field_expr = $3} + path ":" expr { + let region = cover (path_to_region $1) (expr_to_region $3) + and value = {field_path=$1; assignment=$2; field_expr=$3} in {region; value} } diff --git a/src/passes/01-parser/reasonligo/ParserMain.ml b/src/passes/01-parser/reasonligo/ParserMain.ml index 70141993e..3dd94d37e 100644 --- a/src/passes/01-parser/reasonligo/ParserMain.ml +++ b/src/passes/01-parser/reasonligo/ParserMain.ml @@ -70,7 +70,7 @@ module ParserLog = module Lexer = Lexer.Make (LexToken) module Unit = - ParserUnit.Make (Lexer)(AST)(Parser)(ParErr)(ParserLog)(SubIO) + ParserUnit.Make (Lexer)(AST)(Parser)(Parser_msg)(ParserLog)(SubIO) (* Main *) @@ -78,7 +78,7 @@ let wrap = function Stdlib.Ok ast -> if IO.options#pretty then begin - let doc = Pretty.make ast in + let doc = Pretty.print ast in let width = match Terminal_size.get_columns () with None -> 60 diff --git a/src/passes/01-parser/reasonligo/Pretty.ml b/src/passes/01-parser/reasonligo/Pretty.ml index f1e1c834a..d0d4cbf80 100644 --- a/src/passes/01-parser/reasonligo/Pretty.ml +++ b/src/passes/01-parser/reasonligo/Pretty.ml @@ -40,14 +40,14 @@ and pp_let_binding let_ (binding : let_binding) = let patterns = Utils.nseq_to_list binders in let patterns = group (separate_map (break 0) pp_pattern patterns) in let lhs = - string let_ ^^ + string let_ ^^ match lhs_type with None -> patterns ^^ string " = " | Some (_,e) -> patterns ^^ group (break 0 ^^ string ": " ^^ pp_type_expr e ^^ string " = ") in - let rhs = pp_expr let_rhs in - match let_rhs with + let rhs = pp_expr let_rhs in + match let_rhs with | EFun _ | ESeq _ | ERecord _ -> lhs ^^ rhs @@ -110,7 +110,7 @@ and pp_list_comp e = group (pp_injection pp_pattern e) and pp_cons {value; _} = let patt1, _, patt2 = value in - string "[" ^^ (pp_pattern patt1 ^^ string ", ") ^^ group ( break 0 ^^ string "..." ^^ pp_pattern patt2) ^^ string "]" + string "[" ^^ (pp_pattern patt1 ^^ string ", ") ^^ group ( break 0 ^^ string "..." ^^ pp_pattern patt2) ^^ string "]" and pp_ptuple {value; _} = let head, tail = value in @@ -162,8 +162,9 @@ and pp_expr = function and pp_case_expr {value; _} = let {expr; cases; _} = value in - group (string "switch" ^^ string "(" ^^ nest 1 (pp_expr expr) ^^ (string ") " ^^ string "{") - ^^ (pp_cases cases) ^^ hardline ^^ string "}" ) + group (string "switch" ^^ string "(" ^^ nest 1 (pp_expr expr) + ^^ string ") " ^^ string "{" + ^^ pp_cases cases ^^ hardline ^^ string "}") and pp_cases {value; _} = let head, tail = value in @@ -238,7 +239,7 @@ and pp_string_expr = function | Verbatim e -> pp_verbatim e and pp_list_expr = function -| ECons {value = {arg1; arg2; _}; _ } -> +| ECons {value = {arg1; arg2; _}; _ } -> string "[" ^^ pp_expr arg1 ^^ string "," ^^ break 1 ^^ string "..." ^^ pp_expr arg2 ^^ string "]" | EListComp e -> group (pp_injection pp_expr e) @@ -294,29 +295,22 @@ and pp_ne_injection : string opening ^^ nest 2 (break 0 ^^ elements) ^^ break 1 ^^ string closing and pp_nsepseq : - 'a.string -> - ('a -> document) -> - ('a, t) Utils.nsepseq -> - document = + 'a.string -> ('a -> document) -> ('a, t) Utils.nsepseq -> document = fun sep printer elements -> let elems = Utils.nsepseq_to_list elements and sep = string sep ^^ break 1 in separate_map sep printer elems -and pp_nseq : 'a.('a -> document) -> 'a Utils.nseq -> document = - fun printer (head, tail) -> - separate_map (break 1) printer (head::tail) - and pp_projection {value; _} = - let {struct_name; field_path; _ } = value in - let fields = Utils.nsepseq_to_list field_path - and sep = break 0 in - let fields = separate_map sep pp_selection fields in - group (pp_ident struct_name ^^ break 0 ^^ fields) + let {struct_name; field_path; _} = value in + let subpath = Utils.nsepseq_to_list field_path in + let subpath = concat_map pp_selection subpath in + group (pp_ident struct_name ^^ subpath) and pp_selection = function - FieldName v -> string "." ^^ string v.value -| Component cmp -> string "[" ^^ (cmp.value |> snd |> Z.to_string |> string) ^^ string "]" + FieldName v -> string "." ^^ break 0 ^^ string v.value +| Component cmp -> + string "[" ^^ (cmp.value |> snd |> Z.to_string |> string) ^^ string "]" and pp_update {value; _} = let {record; updates; _} = value in @@ -327,9 +321,7 @@ and pp_update {value; _} = and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in - let fields = Utils.nsepseq_to_list field_path - and sep = string "." ^^ break 0 in - let path = separate_map sep pp_ident fields in + let path = pp_path field_path in prefix 2 1 (path ^^ string ":") (pp_expr field_expr) and pp_path = function @@ -376,8 +368,8 @@ and pp_fun {value; _} = None -> empty | Some (_,e) -> group (break 0 ^^ string ": " ^^ nest 2 (pp_type_expr e)) - in - match body with + in + match body with | ESeq _ -> string "(" ^^ nest 1 binders ^^ string ")" ^^ annot ^^ string " => " ^^ pp_expr body | _ -> (prefix 2 0 (string "(" ^^ nest 1 binders ^^ string ")" ^^ annot ^^ string " => ") (pp_expr body)) @@ -411,7 +403,7 @@ and pp_cartesian {value; _} = | [e] -> group (break 1 ^^ pp_type_expr e) | e::items -> group (break 1 ^^ pp_type_expr e ^^ string ",") ^^ app items - in + in string "(" ^^ nest 1 (pp_type_expr head ^^ (if tail <> [] then string "," else empty) ^^ app (List.map snd tail)) ^^ string ")" and pp_variants {value; _} = @@ -435,17 +427,16 @@ and pp_fields fields = group (pp_ne_injection pp_field_decl fields) and pp_field_decl {value; _} = let {field_name; field_type; _} = value in let name = pp_ident field_name in - match field_type with + match field_type with | TVar v when v = field_name -> name - | _ -> ( + | _ -> let t_expr = pp_type_expr field_type in prefix 2 1 (name ^^ string ":") t_expr - ) and pp_type_app {value; _} = let ctor, tuple = value in - prefix 2 0 (pp_type_constr ctor) (string "(" ^^ nest 1 (pp_type_tuple tuple) ^^ string ")") + prefix 2 0 (pp_type_constr ctor) (string "(" ^^ nest 1 (pp_type_tuple tuple) ^^ string ")") and pp_type_tuple {value; _} = let head, tail = value.inside in @@ -465,14 +456,14 @@ and pp_type_constr ctor = string ctor.value and pp_fun_args {value; _} = let lhs, _, rhs = value in - match rhs with + match rhs with | TFun tf -> group (pp_type_expr lhs ^^ string ", " ^^ pp_fun_args tf) | _ -> group (pp_type_expr lhs ^^ string ")" ^^ string " =>" ^/^ pp_type_expr rhs) and pp_fun_type {value; _} = let lhs, _, rhs = value in - match lhs, rhs with - | _, TFun tf -> string "(" ^^ pp_type_expr lhs ^^ string ", " ^^ pp_fun_args tf + match lhs, rhs with + | _, TFun tf -> string "(" ^^ pp_type_expr lhs ^^ string ", " ^^ pp_fun_args tf | TVar _ , _ -> group (pp_type_expr lhs ^^ string " =>" ^/^ pp_type_expr rhs) | _ -> group (string "(" ^^ nest 1 (pp_type_expr lhs) ^^ string ")" ^^ string " =>" ^/^ pp_type_expr rhs) diff --git a/src/passes/01-parser/reasonligo/error.messages.checked-in b/src/passes/01-parser/reasonligo/error.messages.checked-in index f161e5a67..1afe0b7f7 100644 --- a/src/passes/01-parser/reasonligo/error.messages.checked-in +++ b/src/passes/01-parser/reasonligo/error.messages.checked-in @@ -1,6 +1,6 @@ interactive_expr: C_None WILD ## -## Ends in an error in state: 174. +## Ends in an error in state: 176. ## ## 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: 126. +## Ends in an error in state: 128. ## ## 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: 112. +## Ends in an error in state: 113. ## ## 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: 110. +## Ends in an error in state: 111. ## ## 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: 109. +## Ends in an error in state: 110. ## ## 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: 104. +## Ends in an error in state: 105. ## ## 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: 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 ] @@ -91,7 +91,7 @@ interactive_expr: Ident DOT WILD interactive_expr: Ident LBRACKET Int RBRACKET WILD ## -## Ends in an error in state: 102. +## Ends in an error in state: 103. ## ## 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: 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 ] @@ -117,7 +117,7 @@ interactive_expr: Ident LBRACKET Int WILD interactive_expr: Ident LBRACKET 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 ] @@ -130,7 +130,7 @@ interactive_expr: Ident LBRACKET WILD interactive_expr: Ident WILD ## -## Ends in an error in state: 99. +## Ends in an error in state: 100. ## ## 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: 228. +## Ends in an error in state: 230. ## ## 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: 229. +## Ends in an error in state: 231. ## ## 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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: If LPAR VBAR ## -## Ends in an error in state: 98. +## Ends in an error in state: 99. ## ## 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: 351. +## 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 ] ## @@ -209,7 +209,7 @@ 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 RBRACE Else LBRACE VBAR ## -## 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 ] ## @@ -221,7 +221,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 Else LBRACE WILD SEMI PLUS ## -## Ends in an error in state: 413. +## 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 ] ## @@ -233,7 +233,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 Else LBRACE WILD 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 ] ## @@ -244,26 +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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 415, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 414, 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: 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 ] ## @@ -275,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: 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 ] ## @@ -287,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: 408. +## 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 ] ## @@ -299,7 +299,7 @@ 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. +## Ends in an error in state: 406. ## ## if_then_else(closed_if) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -310,26 +310,26 @@ interactive_expr: If LPAR WILD RPAR LBRACE If LPAR Bytes RPAR 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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 415, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 414, 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: 350. +## 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 ] ## @@ -341,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: 349. +## Ends in an error in state: 348. ## ## if_then_else(closed_if) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE closed_if option(SEMI) RBRACE [ SEMI RBRACE ] ## @@ -353,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: 233. +## Ends in an error in state: 235. ## ## switch_expr(base_if_then_else) -> Switch . switch_expr_ LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -365,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: 276. +## Ends in an error in state: 274. ## ## case_clause(base_if_then_else) -> VBAR . pattern ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -377,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: 434. +## Ends in an error in state: 433. ## ## nseq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -389,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: 436. +## Ends in an error in state: 435. ## ## seq(case_clause(base_if_then_else)) -> case_clause(base_if_then_else) . seq(case_clause(base_if_then_else)) [ RBRACE ] ## @@ -401,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: 348. +## 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 ] ## @@ -413,7 +413,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 VBAR ## -## 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 ] ## @@ -425,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: 425. +## 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 ] ## @@ -437,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: 424. +## Ends in an error in state: 423. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else . option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -448,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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 426, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr +## In state 422, 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: 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 ] ## @@ -479,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: 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 ] ## @@ -491,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: 418. +## 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 ] ## @@ -503,7 +503,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 VBAR ## -## Ends in an error in state: 417. +## Ends in an error in state: 416. ## ## if_then_else(base_if_then_else) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -514,26 +514,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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 415, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 414, 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: 347. +## 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 ] ## @@ -545,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: 346. +## Ends in an error in state: 345. ## ## if_then_else(base_if_then_else) -> If . parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else LBRACE base_if_then_else option(SEMI) RBRACE [ VBAR SEMI RBRACE ] ## @@ -557,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: 345. +## Ends in an error in state: 344. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW . base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -569,7 +569,7 @@ 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 Type ## -## Ends in an error in state: 428. +## Ends in an error in state: 427. ## ## case_clause(base_if_then_else) -> VBAR pattern ARROW base_if_then_else . option(SEMI) [ VBAR RBRACE ] ## @@ -580,26 +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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 426, spurious reduction of production base_if_then_else__open(base_if_then_else) -> base_expr +## In state 422, 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: 344. +## Ends in an error in state: 343. ## ## case_clause(base_if_then_else) -> VBAR pattern . ARROW base_if_then_else option(SEMI) [ VBAR RBRACE ] ## @@ -610,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 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) +## 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) ## interactive_expr: If LPAR WILD RPAR LBRACE Switch WILD LBRACE WILD ## -## Ends in an error in state: 275. +## Ends in an error in state: 273. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ LBRACE . cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -631,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: 274. +## Ends in an error in state: 272. ## ## switch_expr(base_if_then_else) -> Switch switch_expr_ . LBRACE cases(base_if_then_else) RBRACE [ SEMI RBRACE ] ## @@ -643,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: 232. +## Ends in an error in state: 234. ## ## 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 ] @@ -656,7 +656,7 @@ interactive_expr: If LPAR WILD RPAR LBRACE VBAR interactive_expr: If LPAR WILD RPAR LBRACE WILD RBRACE Else LBRACE VBAR ## -## Ends in an error in state: 446. +## 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 ] ## @@ -668,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: 448. +## 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 ] ## @@ -680,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: 447. +## 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 ] ## @@ -691,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 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 400, 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: 445. +## Ends in an error in state: 444. ## ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) RBRACE Else . LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -723,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: 444. +## 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 ] @@ -736,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: 443. +## Ends in an error in state: 442. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if option(SEMI) . RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -749,7 +749,7 @@ 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: 442. +## Ends in an error in state: 441. ## ## if_then(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## if_then_else(expr_with_let_expr) -> If parenthesized_expr LBRACE closed_if . option(SEMI) RBRACE Else LBRACE expr_with_let_expr option(SEMI) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] @@ -761,26 +761,26 @@ interactive_expr: If LPAR WILD RPAR 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 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) +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 415, spurious reduction of production base_if_then_else__open(closed_if) -> base_expr +## In state 414, 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: 231. +## Ends in an error in state: 233. ## ## 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 ] @@ -793,7 +793,7 @@ interactive_expr: If LPAR WILD RPAR WILD interactive_expr: If LPAR WILD VBAR ## -## Ends in an error in state: 226. +## Ends in an error in state: 228. ## ## parenthesized_expr -> LPAR expr . RPAR [ LBRACE ] ## @@ -804,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: If WILD ## -## Ends in an error in state: 97. +## Ends in an error in state: 98. ## ## 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 ] @@ -836,9 +836,9 @@ interactive_expr: If WILD interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD ## -## Ends in an error in state: 252. +## Ends in an error in state: 254. ## -## projection -> Constr DOT Ident . selection [ COMMA ] +## projection -> Constr DOT Ident . selection [ COMMA COLON ] ## ## The known suffix of the stack is as follows: ## Constr DOT Ident @@ -848,9 +848,9 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT Ident WILD interactive_expr: LBRACE ELLIPSIS Constr DOT WILD ## -## Ends in an error in state: 251. +## Ends in an error in state: 253. ## -## projection -> Constr DOT . Ident selection [ COMMA ] +## projection -> Constr DOT . Ident selection [ COMMA COLON ] ## ## The known suffix of the stack is as follows: ## Constr DOT @@ -860,9 +860,9 @@ interactive_expr: LBRACE ELLIPSIS Constr DOT WILD interactive_expr: LBRACE ELLIPSIS Constr WILD ## -## Ends in an error in state: 250. +## Ends in an error in state: 252. ## -## projection -> Constr . DOT Ident selection [ COMMA ] +## projection -> Constr . DOT Ident selection [ COMMA COLON ] ## ## The known suffix of the stack is as follows: ## Constr @@ -870,54 +870,40 @@ interactive_expr: LBRACE ELLIPSIS Constr WILD -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR +interactive_expr: LBRACE ELLIPSIS Ident COLON ## -## Ends in an error in state: 267. +## Ends in an error in state: 256. ## -## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] -## 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 ] +## update_record -> LBRACE ELLIPSIS path . COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE LBRACE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: -## field_path_assignment +## LBRACE ELLIPSIS path ## ## 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 266, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) COLON expr +## In state 251, spurious reduction of production path -> Ident ## -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON VBAR +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes COMMA Ident COLON Bytes COMMA WILD ## -## Ends in an error in state: 265. +## Ends in an error in state: 270. ## -## field_path_assignment -> nsepseq(field_name,DOT) COLON . expr [ RBRACE COMMA ] +## 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 ] ## ## The known suffix of the stack is as follows: -## nsepseq(field_name,DOT) COLON +## field_path_assignment COMMA ## -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COLON Bytes VBAR +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 271. +## Ends in an error in state: 269. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . COMMA nsepseq(field_path_assignment,COMMA) [ RBRACE ] @@ -930,40 +916,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 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 262, spurious reduction of production field_path_assignment -> path COLON expr ## -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COMMA WILD +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes COMMA WILD ## -## 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 ] -## -## The known suffix of the stack is as follows: -## field_path_assignment COMMA -## - - - -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA WILD -## -## Ends in an error in state: 268. +## Ends in an error in state: 266. ## ## nsepseq(field_path_assignment,COMMA) -> field_path_assignment COMMA . nsepseq(field_path_assignment,COMMA) [ RBRACE ] ## nseq(__anonymous_0(field_path_assignment,COMMA)) -> field_path_assignment COMMA . seq(__anonymous_0(field_path_assignment,COMMA)) [ RBRACE ] @@ -974,48 +947,72 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA WILD -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT Ident WILD +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 258. +## Ends in an error in state: 265. ## -## nsepseq(field_name,DOT) -> Ident . [ COLON ] -## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] +## nsepseq(field_path_assignment,COMMA) -> field_path_assignment . [ RBRACE ] +## 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 ] ## ## The known suffix of the stack is as follows: -## Ident +## field_path_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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 262, spurious reduction of production field_path_assignment -> path COLON expr ## -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident DOT WILD +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON VBAR ## -## Ends in an error in state: 257. +## Ends in an error in state: 261. ## -## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ COLON ] +## field_path_assignment -> path COLON . expr [ RBRACE COMMA ] ## ## The known suffix of the stack is as follows: -## Ident DOT +## path COLON ## -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident WILD +interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA ## -## Ends in an error in state: 256. +## Ends in an error in state: 260. ## -## field_path_assignment -> Ident . [ RBRACE COMMA ] -## nsepseq(field_name,DOT) -> Ident . [ COLON ] -## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ COLON ] +## field_path_assignment -> path . COLON expr [ RBRACE COMMA ] ## ## The known suffix of the stack is as follows: -## Ident +## path +## +## 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 251, spurious reduction of production path -> Ident ## interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD ## -## Ends in an error in state: 255. +## Ends in an error in state: 257. ## ## 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 ] ## @@ -1025,32 +1022,12 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD -interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR -## -## 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 ] -## -## The known suffix of the stack is as follows: -## LBRACE ELLIPSIS path -## -## 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 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: 249. +## Ends in an error in state: 251. ## -## path -> Ident . [ COMMA ] -## projection -> Ident . selection [ COMMA ] +## path -> Ident . [ COMMA COLON ] +## projection -> Ident . selection [ COMMA COLON ] ## ## The known suffix of the stack is as follows: ## Ident @@ -1060,7 +1037,7 @@ interactive_expr: LBRACE ELLIPSIS Ident WILD interactive_expr: LBRACE ELLIPSIS WILD ## -## Ends in an error in state: 248. +## Ends in an error in state: 250. ## ## update_record -> LBRACE ELLIPSIS . path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR 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 ] ## @@ -1072,38 +1049,38 @@ interactive_expr: LBRACE ELLIPSIS WILD interactive_expr: LBRACE Ident COLON Bytes VBAR ## -## Ends in an error in state: 482. +## Ends in an error in state: 477. ## -## sequence_or_record_in -> field_assignment . option(more_field_assignments) [ RBRACE ] +## record -> LBRACE field_assignment . option(more_field_assignments) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: -## field_assignment +## LBRACE 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 463, spurious reduction of production field_assignment -> Ident COLON expr ## interactive_expr: LBRACE Ident COLON VBAR ## -## Ends in an error in state: 463. +## Ends in an error in state: 462. ## ## field_assignment -> Ident COLON . expr [ RBRACE COMMA ] ## @@ -1115,7 +1092,7 @@ interactive_expr: LBRACE Ident COLON VBAR interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 468. +## Ends in an error in state: 467. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . [ RBRACE ] ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . COMMA nsepseq(field_assignment_punning,COMMA) [ RBRACE ] @@ -1128,28 +1105,28 @@ interactive_expr: LBRACE Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 463, spurious reduction of production field_assignment -> Ident COLON expr +## In state 474, spurious reduction of production field_assignment_punning -> field_assignment ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## -## Ends in an error in state: 472. +## Ends in an error in state: 471. ## ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . [ RBRACE ] ## nsepseq(field_assignment_punning,COMMA) -> field_assignment_punning . COMMA nsepseq(field_assignment_punning,COMMA) [ RBRACE ] @@ -1162,28 +1139,28 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COLON Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 463, spurious reduction of production field_assignment -> Ident COLON expr +## In state 474, spurious reduction of production field_assignment_punning -> field_assignment ## interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 473. +## Ends in an error in state: 472. ## ## 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 ] @@ -1196,7 +1173,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident COMMA WILD ## -## Ends in an error in state: 469. +## Ends in an error in state: 468. ## ## 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 ] @@ -1209,7 +1186,7 @@ interactive_expr: LBRACE Ident COMMA Ident COMMA WILD interactive_expr: LBRACE Ident COMMA Ident WILD ## -## Ends in an error in state: 462. +## Ends in an error in state: 461. ## ## field_assignment -> Ident . COLON expr [ RBRACE COMMA ] ## field_assignment_punning -> Ident . [ RBRACE COMMA ] @@ -1222,7 +1199,7 @@ interactive_expr: LBRACE Ident COMMA Ident WILD interactive_expr: LBRACE Ident COMMA WILD ## -## Ends in an error in state: 461. +## Ends in an error in state: 460. ## ## more_field_assignments -> COMMA . sep_or_term_list(field_assignment_punning,COMMA) [ RBRACE ] ## @@ -1234,24 +1211,26 @@ interactive_expr: LBRACE Ident COMMA WILD interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 460. +## Ends in an error in state: 459. ## ## 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 ] +## record -> LBRACE Ident . more_field_assignments RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: -## Ident +## LBRACE Ident ## interactive_expr: LBRACE VBAR ## -## Ends in an error in state: 94. +## Ends in an error in state: 95. ## -## 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 ] +## record -> LBRACE . field_assignment option(more_field_assignments) 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 ] +## record -> LBRACE . Ident more_field_assignments 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 ] +## sequence -> LBRACE . exprs RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ VBAR Type TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LPAR LE GT GE EQEQ EOF COMMA COLON CAT BOOL_OR BOOL_AND Attr ARROW ] ## ## The known suffix of the stack is as follows: @@ -1260,12 +1239,12 @@ interactive_expr: LBRACE VBAR -interactive_expr: LBRACE WILD SEMI WILD SEMI VBAR +interactive_expr: LBRACE WILD SEMI VBAR ## -## Ends in an error in state: 490. +## Ends in an error in state: 484. ## -## 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 ] +## exprs -> expr_with_let_expr SEMI . exprs [ RBRACE ] +## option(SEMI) -> SEMI . [ RBRACE ] ## ## The known suffix of the stack is as follows: ## expr_with_let_expr SEMI @@ -1273,13 +1252,12 @@ interactive_expr: LBRACE WILD SEMI WILD SEMI VBAR -interactive_expr: LBRACE WILD SEMI WILD VBAR +interactive_expr: LBRACE WILD VBAR ## -## Ends in an error in state: 489. +## Ends in an error in state: 483. ## -## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . [ RBRACE ] -## nsepseq(expr_with_let_expr,SEMI) -> expr_with_let_expr . SEMI nsepseq(expr_with_let_expr,SEMI) [ RBRACE ] -## seq(__anonymous_0(expr_with_let_expr,SEMI)) -> expr_with_let_expr . SEMI seq(__anonymous_0(expr_with_let_expr,SEMI)) [ RBRACE ] +## exprs -> expr_with_let_expr . option(SEMI) [ RBRACE ] +## exprs -> expr_with_let_expr . SEMI exprs [ RBRACE ] ## ## The known suffix of the stack is as follows: ## expr_with_let_expr @@ -1288,27 +1266,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 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 400, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: LBRACKET VBAR ## -## Ends in an error in state: 92. +## Ends in an error in state: 93. ## ## 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 ] @@ -1322,7 +1300,7 @@ interactive_expr: LBRACKET VBAR interactive_expr: LBRACKET WILD COMMA ELLIPSIS VBAR ## -## Ends in an error in state: 497. +## Ends in an error in state: 492. ## ## 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 ] ## @@ -1334,7 +1312,7 @@ interactive_expr: LBRACKET WILD COMMA ELLIPSIS VBAR interactive_expr: LBRACKET WILD COMMA ELLIPSIS WILD VBAR ## -## Ends in an error in state: 498. +## Ends in an error in state: 493. ## ## 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 ] ## @@ -1345,26 +1323,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD COMMA VBAR ## -## Ends in an error in state: 496. +## Ends in an error in state: 491. ## ## 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 ] @@ -1377,7 +1355,7 @@ interactive_expr: LBRACKET WILD COMMA VBAR interactive_expr: LBRACKET WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 505. +## Ends in an error in state: 500. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## nseq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1390,7 +1368,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: 508. +## Ends in an error in state: 503. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RBRACKET ] ## seq(__anonymous_0(expr,COMMA)) -> expr COMMA . seq(__anonymous_0(expr,COMMA)) [ RBRACKET ] @@ -1403,7 +1381,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: 507. +## Ends in an error in state: 502. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1416,26 +1394,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD COMMA WILD VBAR ## -## Ends in an error in state: 504. +## Ends in an error in state: 499. ## ## nsepseq(expr,COMMA) -> expr . [ RBRACKET ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RBRACKET ] @@ -1448,26 +1426,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: LBRACKET WILD VBAR ## -## Ends in an error in state: 495. +## Ends in an error in state: 490. ## ## 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 ] @@ -1480,26 +1458,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: LPAR VBAR ## -## Ends in an error in state: 95. +## Ends in an error in state: 96. ## ## 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 ] @@ -1513,7 +1491,7 @@ interactive_expr: LPAR VBAR interactive_expr: LPAR WILD COMMA Bytes RPAR COLON Ident TIMES ## -## Ends in an error in state: 166. +## Ends in an error in state: 168. ## ## 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 ] @@ -1527,18 +1505,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 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) +## In state 136, spurious reduction of production option(type_expr_simple_args) -> +## In state 145, spurious reduction of production type_expr_simple -> Ident option(type_expr_simple_args) +## In state 152, spurious reduction of production type_annotation_simple -> COLON type_expr_simple +## In state 153, spurious reduction of production option(type_annotation_simple) -> type_annotation_simple +## In state 154, 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: 131. +## Ends in an error in state: 133. ## ## 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 ] ## @@ -1550,7 +1528,7 @@ interactive_expr: LPAR WILD COMMA Bytes RPAR WILD interactive_expr: LPAR WILD COMMA VBAR ## -## Ends in an error in state: 455. +## Ends in an error in state: 454. ## ## tuple(disj_expr_level) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1562,7 +1540,7 @@ interactive_expr: LPAR WILD COMMA VBAR interactive_expr: LPAR WILD COMMA WILD COMMA VBAR ## -## Ends in an error in state: 458. +## Ends in an error in state: 457. ## ## nsepseq(disj_expr_level,COMMA) -> disj_expr_level COMMA . nsepseq(disj_expr_level,COMMA) [ RPAR ] ## @@ -1574,7 +1552,7 @@ interactive_expr: LPAR WILD COMMA WILD COMMA VBAR interactive_expr: LPAR WILD COMMA WILD VBAR ## -## Ends in an error in state: 457. +## Ends in an error in state: 456. ## ## 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 ] @@ -1588,23 +1566,23 @@ 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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level ## interactive_expr: LPAR WILD VBAR ## -## Ends in an error in state: 454. +## Ends in an error in state: 453. ## ## 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 ] @@ -1619,23 +1597,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level ## -interactive_expr: Let Rec VBAR +interactive_expr: Let Rec Verbatim ## -## Ends in an error in state: 355. +## Ends in an error in state: 354. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let Rec . let_binding SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1647,7 +1625,7 @@ interactive_expr: Let Rec VBAR interactive_expr: Let Rec WILD EQ Bytes SEMI VBAR ## -## Ends in an error in state: 398. +## 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 ] ## @@ -1659,7 +1637,7 @@ interactive_expr: Let Rec WILD EQ Bytes SEMI VBAR interactive_expr: Let Rec WILD EQ Bytes VBAR ## -## Ends in an error in state: 397. +## Ends in an error in state: 396. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let Rec let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1670,27 +1648,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 520, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## -interactive_expr: Let VBAR +interactive_expr: Let Verbatim ## -## Ends in an error in state: 354. +## Ends in an error in state: 353. ## ## 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 ] @@ -1703,7 +1681,7 @@ interactive_expr: Let VBAR interactive_expr: Let WILD EQ Bytes SEMI VBAR ## -## Ends in an error in state: 403. +## 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 ] ## @@ -1715,7 +1693,7 @@ interactive_expr: Let WILD EQ Bytes SEMI VBAR interactive_expr: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 402. +## Ends in an error in state: 401. ## ## let_expr(expr_with_let_expr) -> seq(Attr) Let let_binding . SEMI expr_with_let_expr [ SEMI RBRACE EOF ] ## @@ -1726,27 +1704,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 520, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr ## interactive_expr: MINUS VBAR ## -## Ends in an error in state: 93. +## Ends in an error in state: 94. ## ## 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 ] ## @@ -1758,7 +1736,7 @@ interactive_expr: MINUS VBAR interactive_expr: NOT VBAR ## -## Ends in an error in state: 91. +## Ends in an error in state: 92. ## ## 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 ] ## @@ -1770,7 +1748,7 @@ interactive_expr: NOT VBAR interactive_expr: Switch Constr WILD ## -## Ends in an error in state: 115. +## Ends in an error in state: 116. ## ## 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 ] @@ -1783,7 +1761,7 @@ interactive_expr: Switch Constr WILD interactive_expr: Switch LBRACE WILD ## -## Ends in an error in state: 247. +## Ends in an error in state: 249. ## ## update_record -> LBRACE . ELLIPSIS path COMMA sep_or_term_list(field_path_assignment,COMMA) RBRACE [ LBRACE ] ## @@ -1795,7 +1773,7 @@ interactive_expr: Switch LBRACE WILD interactive_expr: Switch LBRACKET VBAR ## -## Ends in an error in state: 234. +## Ends in an error in state: 236. ## ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ LBRACE ] ## @@ -1807,7 +1785,7 @@ interactive_expr: Switch LBRACKET VBAR interactive_expr: Switch LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 241. +## Ends in an error in state: 243. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1820,7 +1798,7 @@ interactive_expr: Switch LBRACKET WILD SEMI VBAR interactive_expr: Switch LBRACKET WILD SEMI WILD SEMI VBAR ## -## Ends in an error in state: 245. +## Ends in an error in state: 247. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -1833,7 +1811,7 @@ interactive_expr: Switch LBRACKET WILD SEMI WILD SEMI VBAR interactive_expr: Switch LBRACKET WILD SEMI WILD VBAR ## -## Ends in an error in state: 244. +## Ends in an error in state: 246. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1846,26 +1824,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: Switch LBRACKET WILD VBAR ## -## Ends in an error in state: 240. +## Ends in an error in state: 242. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -1878,26 +1856,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: Switch LPAR VBAR ## -## Ends in an error in state: 89. +## Ends in an error in state: 90. ## ## 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 ] @@ -1910,7 +1888,7 @@ interactive_expr: Switch LPAR VBAR interactive_expr: Switch LPAR WILD VBAR ## -## Ends in an error in state: 452. +## Ends in an error in state: 451. ## ## 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 ] ## @@ -1921,26 +1899,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## interactive_expr: Switch VBAR ## -## Ends in an error in state: 85. +## Ends in an error in state: 86. ## ## switch_expr(base_cond) -> Switch . switch_expr_ LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -1952,7 +1930,7 @@ interactive_expr: Switch VBAR interactive_expr: Switch WILD LBRACE VBAR LBRACKET VBAR ## -## Ends in an error in state: 336. +## Ends in an error in state: 335. ## ## 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 ] @@ -1965,7 +1943,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: 339. +## Ends in an error in state: 338. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS . sub_pattern RBRACKET [ ARROW ] ## @@ -1977,7 +1955,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: 340. +## Ends in an error in state: 339. ## ## pattern -> LBRACKET sub_pattern COMMA ELLIPSIS sub_pattern . RBRACKET [ ARROW ] ## @@ -1989,7 +1967,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: 338. +## Ends in an error in state: 337. ## ## pattern -> LBRACKET sub_pattern COMMA . ELLIPSIS sub_pattern RBRACKET [ ARROW ] ## @@ -2001,7 +1979,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: 337. +## Ends in an error in state: 336. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2016,7 +1994,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: 343. +## Ends in an error in state: 342. ## ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ ARROW ] ## @@ -2028,7 +2006,7 @@ interactive_expr: Switch WILD LBRACE VBAR LPAR Bytes RPAR WILD interactive_expr: Switch WILD LBRACE VBAR VBAR ## -## Ends in an error in state: 513. +## Ends in an error in state: 508. ## ## case_clause(base_cond) -> VBAR . pattern ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2040,7 +2018,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: 521. +## Ends in an error in state: 516. ## ## nseq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2052,7 +2030,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: 523. +## Ends in an error in state: 518. ## ## seq(case_clause(base_cond)) -> case_clause(base_cond) . seq(case_clause(base_cond)) [ RBRACE ] ## @@ -2064,7 +2042,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: 515. +## Ends in an error in state: 510. ## ## case_clause(base_cond) -> VBAR pattern ARROW . base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2076,7 +2054,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW VBAR interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD Type ## -## Ends in an error in state: 516. +## Ends in an error in state: 511. ## ## case_clause(base_cond) -> VBAR pattern ARROW base_cond . option(SEMI) [ VBAR RBRACE ] ## @@ -2087,25 +2065,25 @@ interactive_expr: Switch WILD LBRACE VBAR WILD ARROW WILD 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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr ## interactive_expr: Switch WILD LBRACE VBAR WILD COMMA Bytes RPAR ## -## Ends in an error in state: 514. +## Ends in an error in state: 509. ## ## case_clause(base_cond) -> VBAR pattern . ARROW base_cond option(SEMI) [ VBAR RBRACE ] ## @@ -2116,16 +2094,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 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) +## 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) ## interactive_expr: Switch WILD LBRACE VBAR WILD COMMA VBAR ## -## Ends in an error in state: 329. +## Ends in an error in state: 328. ## ## tuple(sub_pattern) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2135,10 +2113,22 @@ interactive_expr: Switch WILD LBRACE VBAR WILD COMMA VBAR -interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD WILD +interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD COMMA VBAR ## ## Ends in an error in state: 330. ## +## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] +## +## The known suffix of the stack is as follows: +## sub_pattern COMMA +## + + + +interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD WILD +## +## Ends in an error in state: 329. +## ## nsepseq(sub_pattern,COMMA) -> sub_pattern . [ RPAR ARROW ] ## nsepseq(sub_pattern,COMMA) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] ## @@ -2148,21 +2138,9 @@ interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD WILD -interactive_expr: Switch WILD LBRACE VBAR WILD COMMA WILD COMMA VBAR -## -## Ends in an error in state: 336. -## -## nsepseq(sub_pattern,COMMA) -> sub_pattern COMMA . nsepseq(sub_pattern,COMMA) [ RPAR ARROW ] -## -## The known suffix of the stack is as follows: -## sub_pattern COMMA -## - - - interactive_expr: Switch WILD LBRACE VBAR WILD WILD ## -## Ends in an error in state: 430. +## Ends in an error in state: 429. ## ## pattern -> core_pattern . [ ARROW ] ## sub_pattern -> core_pattern . [ COMMA ] @@ -2175,7 +2153,7 @@ interactive_expr: Switch WILD LBRACE VBAR WILD WILD interactive_expr: Switch WILD LBRACE WILD ## -## Ends in an error in state: 512. +## Ends in an error in state: 507. ## ## switch_expr(base_cond) -> Switch switch_expr_ LBRACE . cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2187,7 +2165,7 @@ interactive_expr: Switch WILD LBRACE WILD interactive_expr: Switch WILD WILD ## -## Ends in an error in state: 511. +## Ends in an error in state: 506. ## ## switch_expr(base_cond) -> Switch switch_expr_ . LBRACE cases(base_cond) RBRACE [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2199,7 +2177,7 @@ interactive_expr: Switch WILD WILD interactive_expr: VBAR ## -## Ends in an error in state: 536. +## Ends in an error in state: 531. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2211,7 +2189,7 @@ interactive_expr: VBAR interactive_expr: WILD ARROW VBAR ## -## Ends in an error in state: 216. +## Ends in an error in state: 218. ## ## fun_expr(expr) -> disj_expr_level ARROW . expr [ VBAR Type SEMI RPAR RBRACKET RBRACE Let EOF COMMA Attr ] ## @@ -2223,7 +2201,7 @@ interactive_expr: WILD ARROW VBAR interactive_expr: WILD BOOL_AND VBAR ## -## Ends in an error in state: 170. +## Ends in an error in state: 172. ## ## 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 ] ## @@ -2235,7 +2213,7 @@ interactive_expr: WILD BOOL_AND VBAR interactive_expr: WILD BOOL_OR VBAR ## -## Ends in an error in state: 214. +## Ends in an error in state: 216. ## ## 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 ] ## @@ -2247,7 +2225,7 @@ interactive_expr: WILD BOOL_OR VBAR interactive_expr: WILD CAT VBAR ## -## Ends in an error in state: 193. +## Ends in an error in state: 195. ## ## 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 ] ## @@ -2259,7 +2237,7 @@ interactive_expr: WILD CAT VBAR interactive_expr: WILD COLON Ident LPAR Ident VBAR ## -## Ends in an error in state: 136. +## Ends in an error in state: 138. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2271,15 +2249,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 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 136, spurious reduction of production option(type_expr_simple_args) -> +## In state 145, 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: 135. +## Ends in an error in state: 137. ## ## 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 ] ## @@ -2291,7 +2269,7 @@ interactive_expr: WILD COLON Ident LPAR WILD interactive_expr: WILD COLON Ident WILD ## -## Ends in an error in state: 134. +## Ends in an error in state: 136. ## ## 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 ] ## @@ -2303,7 +2281,7 @@ interactive_expr: WILD COLON Ident WILD interactive_expr: WILD COLON LPAR Ident ARROW Ident VBAR ## -## Ends in an error in state: 146. +## Ends in an error in state: 148. ## ## 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 ] ## @@ -2314,15 +2292,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 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 136, spurious reduction of production option(type_expr_simple_args) -> +## In state 145, 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: 145. +## Ends in an error in state: 147. ## ## 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 ] ## @@ -2334,7 +2312,7 @@ interactive_expr: WILD COLON LPAR Ident ARROW WILD interactive_expr: WILD COLON LPAR Ident COMMA WILD ## -## Ends in an error in state: 137. +## Ends in an error in state: 139. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple COMMA . nsepseq(type_expr_simple,COMMA) [ RPAR ] ## @@ -2346,7 +2324,7 @@ interactive_expr: WILD COLON LPAR Ident COMMA WILD interactive_expr: WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 153. +## Ends in an error in state: 155. ## ## 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 ] @@ -2361,7 +2339,7 @@ interactive_expr: WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD COLON LPAR Ident VBAR ## -## Ends in an error in state: 144. +## Ends in an error in state: 146. ## ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . [ RPAR ] ## nsepseq(type_expr_simple,COMMA) -> type_expr_simple . COMMA nsepseq(type_expr_simple,COMMA) [ RPAR ] @@ -2374,15 +2352,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 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 136, spurious reduction of production option(type_expr_simple_args) -> +## In state 145, 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: 133. +## Ends in an error in state: 135. ## ## 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 ] @@ -2395,7 +2373,7 @@ interactive_expr: WILD COLON LPAR WILD interactive_expr: WILD COLON WILD ## -## Ends in an error in state: 132. +## Ends in an error in state: 134. ## ## 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 ] ## @@ -2407,7 +2385,7 @@ interactive_expr: WILD COLON WILD interactive_expr: WILD EQEQ VBAR ## -## Ends in an error in state: 203. +## Ends in an error in state: 205. ## ## 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 ] ## @@ -2419,7 +2397,7 @@ interactive_expr: WILD EQEQ VBAR interactive_expr: WILD GE VBAR ## -## Ends in an error in state: 201. +## Ends in an error in state: 203. ## ## 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 ] ## @@ -2431,7 +2409,7 @@ interactive_expr: WILD GE VBAR interactive_expr: WILD GT VBAR ## -## Ends in an error in state: 199. +## Ends in an error in state: 201. ## ## 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 ] ## @@ -2443,7 +2421,7 @@ interactive_expr: WILD GT VBAR interactive_expr: WILD LE VBAR ## -## Ends in an error in state: 197. +## Ends in an error in state: 199. ## ## 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 ] ## @@ -2455,7 +2433,7 @@ interactive_expr: WILD LE VBAR interactive_expr: WILD LPAR VBAR ## -## Ends in an error in state: 157. +## Ends in an error in state: 159. ## ## 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 ] @@ -2468,7 +2446,7 @@ interactive_expr: WILD LPAR VBAR interactive_expr: WILD LPAR WILD COMMA VBAR ## -## Ends in an error in state: 164. +## Ends in an error in state: 166. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -2480,7 +2458,7 @@ interactive_expr: WILD LPAR WILD COMMA VBAR interactive_expr: WILD LPAR WILD VBAR ## -## Ends in an error in state: 163. +## Ends in an error in state: 165. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -2492,26 +2470,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 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 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond ## Missing `)`. interactive_expr: WILD LT VBAR ## -## Ends in an error in state: 195. +## Ends in an error in state: 197. ## ## 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 ] ## @@ -2523,7 +2501,7 @@ interactive_expr: WILD LT VBAR interactive_expr: WILD MINUS VBAR ## -## Ends in an error in state: 191. +## Ends in an error in state: 193. ## ## 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 ] ## @@ -2535,7 +2513,7 @@ interactive_expr: WILD MINUS VBAR interactive_expr: WILD MINUS WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 192. +## Ends in an error in state: 194. ## ## 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 ] @@ -2550,7 +2528,7 @@ interactive_expr: WILD MINUS WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD Mod VBAR ## -## Ends in an error in state: 189. +## Ends in an error in state: 191. ## ## 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 ] ## @@ -2562,7 +2540,7 @@ interactive_expr: WILD Mod VBAR interactive_expr: WILD NE VBAR ## -## Ends in an error in state: 172. +## Ends in an error in state: 174. ## ## 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 ] ## @@ -2574,7 +2552,7 @@ interactive_expr: WILD NE VBAR interactive_expr: WILD Or VBAR ## -## Ends in an error in state: 167. +## Ends in an error in state: 169. ## ## 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 ] ## @@ -2586,7 +2564,7 @@ interactive_expr: WILD Or VBAR interactive_expr: WILD PLUS VBAR ## -## Ends in an error in state: 185. +## Ends in an error in state: 187. ## ## 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 ] ## @@ -2598,7 +2576,7 @@ interactive_expr: WILD PLUS VBAR interactive_expr: WILD PLUS WILD COLON LPAR Ident RPAR WILD ## -## Ends in an error in state: 186. +## Ends in an error in state: 188. ## ## 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 ] @@ -2613,7 +2591,7 @@ interactive_expr: WILD PLUS WILD COLON LPAR Ident RPAR WILD interactive_expr: WILD SLASH VBAR ## -## Ends in an error in state: 187. +## Ends in an error in state: 189. ## ## 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 ] ## @@ -2625,7 +2603,7 @@ interactive_expr: WILD SLASH VBAR interactive_expr: WILD TIMES VBAR ## -## Ends in an error in state: 154. +## Ends in an error in state: 156. ## ## 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 ] ## @@ -2637,7 +2615,7 @@ interactive_expr: WILD TIMES VBAR interactive_expr: WILD VBAR ## -## Ends in an error in state: 538. +## Ends in an error in state: 533. ## ## interactive_expr -> expr_with_let_expr . EOF [ # ] ## @@ -2648,27 +2626,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 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 400, spurious reduction of production expr_with_let_expr -> expr ## interactive_expr: WILD WILD ## -## Ends in an error in state: 156. +## Ends in an error in state: 158. ## ## 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 ] @@ -2694,7 +2672,7 @@ contract: Attr WILD contract: Let Ident COLON String WILD ## -## Ends in an error in state: 377. +## Ends in an error in state: 376. ## ## let_binding -> Ident option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -2706,7 +2684,7 @@ contract: Let Ident COLON String WILD contract: Let Ident EQ VBAR ## -## Ends in an error in state: 378. +## Ends in an error in state: 377. ## ## let_binding -> Ident option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2723,7 +2701,7 @@ let func = (a: int, b: int) => a + b; contract: Let Ident WILD ## -## Ends in an error in state: 376. +## Ends in an error in state: 375. ## ## let_binding -> Ident . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> Ident . [ COMMA ] @@ -2736,7 +2714,7 @@ contract: Let Ident WILD contract: Let LBRACE Ident EQ Bytes COMMA Ident EQ Bytes COMMA WILD ## -## Ends in an error in state: 312. +## Ends in an error in state: 311. ## ## 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 ] @@ -2749,7 +2727,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: 311. +## Ends in an error in state: 310. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2763,7 +2741,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: 308. +## Ends in an error in state: 307. ## ## 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 ] @@ -2776,7 +2754,7 @@ contract: Let LBRACE Ident EQ Bytes COMMA WILD contract: Let LBRACE Ident EQ Bytes RBRACE COLON String WILD ## -## Ends in an error in state: 390. +## Ends in an error in state: 389. ## ## let_binding -> record_pattern option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -2788,7 +2766,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE COLON String WILD contract: Let LBRACE Ident EQ Bytes RBRACE EQ VBAR ## -## Ends in an error in state: 391. +## Ends in an error in state: 390. ## ## let_binding -> record_pattern option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -2800,7 +2778,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE EQ VBAR contract: Let LBRACE Ident EQ Bytes RBRACE WILD ## -## Ends in an error in state: 389. +## Ends in an error in state: 388. ## ## let_binding -> record_pattern . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> record_pattern . [ COMMA ] @@ -2813,7 +2791,7 @@ contract: Let LBRACE Ident EQ Bytes RBRACE WILD contract: Let LBRACE Ident EQ Bytes WILD ## -## Ends in an error in state: 307. +## Ends in an error in state: 306. ## ## nsepseq(field_pattern,COMMA) -> field_pattern . [ RBRACE ] ## nsepseq(field_pattern,COMMA) -> field_pattern . COMMA nsepseq(field_pattern,COMMA) [ RBRACE ] @@ -2827,7 +2805,7 @@ contract: Let LBRACE Ident EQ Bytes WILD contract: Let LBRACE Ident EQ VBAR ## -## Ends in an error in state: 285. +## Ends in an error in state: 284. ## ## field_pattern -> Ident EQ . sub_pattern [ RBRACE COMMA ] ## @@ -2839,7 +2817,7 @@ contract: Let LBRACE Ident EQ VBAR contract: Let LBRACE Ident WILD ## -## Ends in an error in state: 284. +## Ends in an error in state: 283. ## ## field_pattern -> Ident . EQ sub_pattern [ RBRACE COMMA ] ## @@ -2851,7 +2829,7 @@ contract: Let LBRACE Ident WILD contract: Let LBRACE WILD ## -## Ends in an error in state: 283. +## Ends in an error in state: 282. ## ## record_pattern -> LBRACE . sep_or_term_list(field_pattern,COMMA) RBRACE [ SEMI RPAR RBRACKET RBRACE EQ COMMA COLON ARROW ] ## @@ -2863,7 +2841,7 @@ contract: Let LBRACE WILD contract: Let LPAR C_Some VBAR ## -## Ends in an error in state: 290. +## Ends in an error in state: 289. ## ## constr_pattern -> C_Some . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -2875,7 +2853,7 @@ contract: Let LPAR C_Some VBAR contract: Let LPAR Constr LBRACKET VBAR ## -## Ends in an error in state: 282. +## Ends in an error in state: 281. ## ## list__(sub_pattern) -> LBRACKET . option(sep_or_term_list(sub_pattern,SEMI)) RBRACKET [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -2887,7 +2865,7 @@ contract: Let LPAR Constr LBRACKET VBAR contract: Let LPAR Constr LBRACKET WILD SEMI VBAR ## -## Ends in an error in state: 315. +## Ends in an error in state: 314. ## ## 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 ] @@ -2900,7 +2878,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: 317. +## Ends in an error in state: 316. ## ## 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 ] @@ -2913,7 +2891,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: 316. +## Ends in an error in state: 315. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2927,7 +2905,7 @@ contract: Let LPAR Constr LBRACKET WILD SEMI WILD WILD contract: Let LPAR Constr LBRACKET WILD WILD ## -## Ends in an error in state: 314. +## Ends in an error in state: 313. ## ## nsepseq(sub_pattern,SEMI) -> sub_pattern . [ RBRACKET ] ## nsepseq(sub_pattern,SEMI) -> sub_pattern . SEMI nsepseq(sub_pattern,SEMI) [ RBRACKET ] @@ -2941,7 +2919,7 @@ contract: Let LPAR Constr LBRACKET WILD WILD contract: Let LPAR Constr LPAR VBAR ## -## Ends in an error in state: 281. +## Ends in an error in state: 280. ## ## par(ptuple) -> LPAR . ptuple RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## par(sub_pattern) -> LPAR . sub_pattern RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -2955,7 +2933,7 @@ contract: Let LPAR Constr LPAR VBAR contract: Let LPAR Constr LPAR WILD COMMA Bytes ARROW ## -## Ends in an error in state: 334. +## Ends in an error in state: 333. ## ## par(ptuple) -> LPAR ptuple . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## @@ -2966,16 +2944,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 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) +## 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) ## contract: Let LPAR Constr LPAR WILD WILD ## -## Ends in an error in state: 327. +## Ends in an error in state: 326. ## ## par(sub_pattern) -> LPAR sub_pattern . RPAR [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## tuple(sub_pattern) -> sub_pattern . COMMA nsepseq(sub_pattern,COMMA) [ RPAR ] @@ -2988,7 +2966,7 @@ contract: Let LPAR Constr LPAR WILD WILD contract: Let LPAR Constr SEMI ## -## Ends in an error in state: 374. +## Ends in an error in state: 373. ## ## par(closed_irrefutable) -> LPAR closed_irrefutable . RPAR [ RPAR EQ COMMA COLON ] ## @@ -2999,15 +2977,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 289, spurious reduction of production constr_pattern -> Constr -## In state 373, spurious reduction of production closed_irrefutable -> constr_pattern +## In state 288, spurious reduction of production constr_pattern -> Constr +## In state 372, spurious reduction of production closed_irrefutable -> constr_pattern ## contract: Let LPAR Constr VBAR ## -## Ends in an error in state: 289. +## Ends in an error in state: 288. ## ## constr_pattern -> Constr . sub_pattern [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET RBRACE COMMA ARROW ] @@ -3020,7 +2998,7 @@ contract: Let LPAR Constr VBAR contract: Let LPAR RPAR COLON String WILD ## -## Ends in an error in state: 381. +## Ends in an error in state: 380. ## ## let_binding -> unit option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3032,7 +3010,7 @@ contract: Let LPAR RPAR COLON String WILD contract: Let LPAR RPAR EQ VBAR ## -## Ends in an error in state: 382. +## Ends in an error in state: 381. ## ## let_binding -> unit option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3044,7 +3022,7 @@ contract: Let LPAR RPAR EQ VBAR contract: Let LPAR RPAR WILD ## -## Ends in an error in state: 380. +## Ends in an error in state: 379. ## ## let_binding -> unit . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> unit . [ COMMA ] @@ -3055,9 +3033,9 @@ contract: Let LPAR RPAR WILD -contract: Let LPAR VBAR +contract: Let LPAR Verbatim ## -## Ends in an error in state: 356. +## Ends in an error in state: 355. ## ## par(closed_irrefutable) -> LPAR . closed_irrefutable RPAR [ RPAR EQ COMMA COLON ] ## unit -> LPAR . RPAR [ RPAR EQ COMMA COLON ] @@ -3070,7 +3048,7 @@ contract: Let LPAR VBAR contract: Let LPAR WILD COLON WILD ## -## Ends in an error in state: 371. +## Ends in an error in state: 370. ## ## typed_pattern -> irrefutable COLON . type_expr [ RPAR ] ## @@ -3082,7 +3060,7 @@ contract: Let LPAR WILD COLON WILD contract: Let LPAR WILD COMMA Ident EQ ## -## Ends in an error in state: 370. +## Ends in an error in state: 369. ## ## closed_irrefutable -> irrefutable . [ RPAR ] ## typed_pattern -> irrefutable . COLON type_expr [ RPAR ] @@ -3094,16 +3072,16 @@ contract: Let LPAR WILD COMMA Ident EQ ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 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) +## 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) ## contract: Let LPAR WILD RPAR COLON String WILD ## -## Ends in an error in state: 394. +## Ends in an error in state: 393. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3115,7 +3093,7 @@ contract: Let LPAR WILD RPAR COLON String WILD contract: Let LPAR WILD RPAR EQ VBAR ## -## Ends in an error in state: 395. +## Ends in an error in state: 394. ## ## let_binding -> par(closed_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3127,7 +3105,7 @@ contract: Let LPAR WILD RPAR EQ VBAR contract: Let LPAR WILD RPAR WILD ## -## Ends in an error in state: 393. +## Ends in an error in state: 392. ## ## let_binding -> par(closed_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## sub_irrefutable -> par(closed_irrefutable) . [ COMMA ] @@ -3140,7 +3118,7 @@ contract: Let LPAR WILD RPAR WILD contract: Let LPAR WILD WILD ## -## Ends in an error in state: 362. +## Ends in an error in state: 361. ## ## irrefutable -> sub_irrefutable . [ RPAR COLON ] ## tuple(sub_irrefutable) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR COLON ] @@ -3151,9 +3129,9 @@ contract: Let LPAR WILD WILD -contract: Let Rec VBAR +contract: Let Rec Verbatim ## -## Ends in an error in state: 526. +## Ends in an error in state: 521. ## ## let_declaration -> seq(Attr) Let Rec . let_binding [ Type SEMI Let EOF Attr ] ## @@ -3163,7 +3141,7 @@ contract: Let Rec VBAR -contract: Let VBAR +contract: Let Verbatim ## ## Ends in an error in state: 76. ## @@ -3202,7 +3180,7 @@ contract: Let WILD COLON WILD contract: Let WILD COMMA Ident COLON String WILD ## -## Ends in an error in state: 385. +## Ends in an error in state: 384. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) . EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3214,7 +3192,7 @@ contract: Let WILD COMMA Ident COLON String WILD contract: Let WILD COMMA Ident EQ VBAR ## -## Ends in an error in state: 386. +## Ends in an error in state: 385. ## ## let_binding -> tuple(sub_irrefutable) option(type_annotation) EQ . expr [ Type SEMI Let EOF Attr ] ## @@ -3226,7 +3204,7 @@ contract: Let WILD COMMA Ident EQ VBAR contract: Let WILD COMMA Ident RPAR ## -## Ends in an error in state: 384. +## Ends in an error in state: 383. ## ## let_binding -> tuple(sub_irrefutable) . option(type_annotation) EQ expr [ Type SEMI Let EOF Attr ] ## @@ -3237,15 +3215,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 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 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) ## -contract: Let WILD COMMA VBAR +contract: Let WILD COMMA Verbatim ## -## Ends in an error in state: 363. +## Ends in an error in state: 362. ## ## tuple(sub_irrefutable) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3255,9 +3233,9 @@ contract: Let WILD COMMA VBAR -contract: Let WILD COMMA WILD COMMA VBAR +contract: Let WILD COMMA WILD COMMA Verbatim ## -## Ends in an error in state: 365. +## Ends in an error in state: 364. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable COMMA . nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] ## @@ -3269,7 +3247,7 @@ contract: Let WILD COMMA WILD COMMA VBAR contract: Let WILD COMMA WILD WILD ## -## Ends in an error in state: 364. +## Ends in an error in state: 363. ## ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . [ RPAR EQ COLON ] ## nsepseq(sub_irrefutable,COMMA) -> sub_irrefutable . COMMA nsepseq(sub_irrefutable,COMMA) [ RPAR EQ COLON ] @@ -3282,7 +3260,7 @@ contract: Let WILD COMMA WILD WILD contract: Let WILD EQ Bytes VBAR ## -## Ends in an error in state: 529. +## Ends in an error in state: 524. ## ## declaration -> let_declaration . option(SEMI) [ Type Let EOF Attr ] ## @@ -3293,21 +3271,21 @@ contract: Let WILD EQ Bytes VBAR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 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 +## In state 158, spurious reduction of production call_expr_level_in -> core_expr +## In state 176, spurious reduction of production option(type_annotation_simple) -> +## In state 177, spurious reduction of production call_expr_level -> call_expr_level_in option(type_annotation_simple) +## In state 178, spurious reduction of production unary_expr_level -> call_expr_level +## In state 131, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 155, spurious reduction of production add_expr_level -> mult_expr_level +## In state 186, spurious reduction of production cat_expr_level -> add_expr_level +## In state 207, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 214, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 221, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 168, spurious reduction of production base_expr -> disj_expr_level +## In state 225, spurious reduction of production base_cond -> base_expr +## In state 226, spurious reduction of production expr -> base_cond +## In state 520, spurious reduction of production let_binding -> WILD option(type_annotation) EQ expr +## In state 523, spurious reduction of production let_declaration -> seq(Attr) Let let_binding ## @@ -3388,7 +3366,7 @@ contract: Type Ident EQ Constr LPAR WILD contract: Type Ident EQ Constr SEMI WILD ## -## Ends in an error in state: 533. +## Ends in an error in state: 528. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -3816,3 +3794,4 @@ contract: WILD ## + diff --git a/src/passes/02-concrete_to_imperative/cameligo.ml b/src/passes/02-concrete_to_imperative/cameligo.ml index 79e0c5acc..73fae2fda 100644 --- a/src/passes/02-concrete_to_imperative/cameligo.ml +++ b/src/passes/02-concrete_to_imperative/cameligo.ml @@ -352,38 +352,32 @@ let rec compile_expression : let compile_selection : Raw.selection -> access = fun s -> match s with | FieldName property -> Access_record property.value - | Component index -> (Access_tuple (snd index.value)) - in - let compile_path : Raw.path -> string * access list = fun p -> - match p with - | Raw.Name v -> (v.value , []) - | Raw.Path p -> ( - let p' = p.value in - let var = p'.struct_name.value in - let path = p'.field_path in - let path' = List.map compile_selection @@ npseq_to_list path in - (var , path') - ) - in - let compile_update = fun (u:Raw.update Region.reg) -> - let (u, loc) = r_split u in - let (name, path) = compile_path u.record in - let record = match path with - | [] -> e_variable (Var.of_name name) - | _ -> e_accessor (e_variable (Var.of_name name)) path in - let updates = u.updates.value.ne_elements in - let%bind updates' = - let aux (f:Raw.field_path_assign Raw.reg) = - let (f,_) = r_split f in - let%bind expr = compile_expression f.field_expr in - ok ( List.map compile_selection (npseq_to_list f.field_path), expr) - in - bind_map_list aux @@ npseq_to_list updates - in - let aux ur (path, expr) = ok @@ e_update ~loc ur path expr in - bind_fold_list aux record updates' - in - trace (abstracting_expr t) @@ + | Component index -> (Access_tuple (snd index.value)) in + + let compile_path : Raw.path -> string * access list = function + Raw.Name v -> v.value, [] + | Raw.Path {value; _} -> + let Raw.{struct_name; field_path; _} = value in + let var = struct_name.value in + let path = List.map compile_selection @@ npseq_to_list field_path + in var, path in + +let compile_update (u: Raw.update Region.reg) = + let u, loc = r_split u in + let name, path = compile_path u.record in + let var = e_variable (Var.of_name name) in + let record = if path = [] then var else e_accessor var path in + let updates = u.updates.value.ne_elements in + let%bind updates' = + let aux (f: Raw.field_path_assignment Raw.reg) = + let f, _ = r_split f in + let%bind expr = compile_expression f.field_expr + in ok (compile_path f.field_path, expr) + in bind_map_list aux @@ npseq_to_list updates in + let aux ur ((var, path), expr) = + ok @@ e_update ~loc ur (Access_record var :: path) expr + in bind_fold_list aux record updates' +in trace (abstracting_expr t) @@ match t with Raw.ELetIn e -> let Raw.{kwd_rec; binding; body; attributes; _} = e.value in diff --git a/src/passes/02-concrete_to_imperative/pascaligo.ml b/src/passes/02-concrete_to_imperative/pascaligo.ml index 2d96e76e9..942b5fd04 100644 --- a/src/passes/02-concrete_to_imperative/pascaligo.ml +++ b/src/passes/02-concrete_to_imperative/pascaligo.ml @@ -328,7 +328,8 @@ let rec compile_expression (t:Raw.expr) : expr result = | ERecord r -> let%bind fields = bind_list @@ List.map (fun ((k : _ Raw.reg), v) -> let%bind v = compile_expression v in ok (k.value, v)) - @@ List.map (fun (x:Raw.field_assign Raw.reg) -> (x.value.field_name, x.value.field_expr)) + @@ List.map (fun (x:Raw.field_assignment Raw.reg) -> + (x.value.field_name, x.value.field_expr)) @@ npseq_to_list r.value.ne_elements in let aux prev (k, v) = SMap.add k v prev in return @@ e_record (List.fold_left aux SMap.empty fields) @@ -458,36 +459,28 @@ let rec compile_expression (t:Raw.expr) : expr result = let (f , loc) = r_split f in let%bind (_ty_opt, f') = compile_fun_expression ~loc f in return @@ f' - - -and compile_update = fun (u:Raw.update Region.reg) -> - let (u, loc) = r_split u in - let (name, path) = compile_path u.record in - let record = match path with - | [] -> e_variable (Var.of_name name) - | _ -> e_accessor (e_variable (Var.of_name name)) path in - let updates = u.updates.value.ne_elements in +and compile_update (u: Raw.update Region.reg) = + let u, loc = r_split u in + let name, path = compile_path u.record in + let var = e_variable (Var.of_name name) in + let record = if path = [] then var else e_accessor var path in + let updates = u.updates.value.ne_elements in let%bind updates' = - let aux (f:Raw.field_path_assign Raw.reg) = - let (f,_) = r_split f in - let%bind expr = compile_expression f.field_expr in - ok ( List.map compile_selection (npseq_to_list f.field_path), expr) - in - bind_map_list aux @@ npseq_to_list updates in - let aux ur (path, expr) = ok @@ e_update ~loc ur path expr + let aux (f: Raw.field_path_assignment Raw.reg) = + let f, _ = r_split f in + let%bind expr = compile_expression f.field_expr + in ok (compile_path f.field_path, expr) + in bind_map_list aux @@ npseq_to_list updates in + let aux ur ((var, path), expr) = + ok @@ e_update ~loc ur (Access_record var :: path) expr in bind_fold_list aux record updates' and compile_logic_expression (t:Raw.logic_expr) : expression result = - let return x = ok x in match t with - | BoolExpr (False reg) -> ( - let loc = Location.lift reg in - return @@ e_bool ~loc false - ) - | BoolExpr (True reg) -> ( - let loc = Location.lift reg in - return @@ e_bool ~loc true - ) + | BoolExpr (False reg) -> + ok @@ e_bool ~loc:(Location.lift reg) false + | BoolExpr (True reg) -> + ok @@ e_bool ~loc:(Location.lift reg) true | BoolExpr (Or b) -> compile_binop "OR" b | BoolExpr (And b) -> @@ -857,25 +850,25 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res let (a , loc) = r_split a in let%bind value_expr = compile_expression a.rhs in match a.lhs with - | Path path -> ( - let (name , path') = compile_path path in + | Path path -> + let name , path' = compile_path path in let name = Var.of_name name in return_statement @@ e_assign ~loc name path' value_expr - ) - | MapPath v -> ( + | MapPath v -> let v' = v.value in let%bind (varname,map,path) = match v'.path with - | Name name -> ok (name.value , e_variable (Var.of_name name.value), []) + | Name name -> + ok (name.value , + e_variable (Var.of_name name.value), []) | Path p -> - let (name,p') = compile_path v'.path in - let%bind accessor = compile_projection p in - ok @@ (name , accessor , p') - in - let%bind key_expr = compile_expression v'.index.value.inside in + let name, p' = compile_path v'.path in + let%bind accessor = compile_projection p in + ok @@ (name, accessor, p') in + let%bind key_expr = + compile_expression v'.index.value.inside in let expr' = e_map_add key_expr value_expr map in let varname = Var.of_name varname in return_statement @@ e_assign ~loc varname path expr' - ) ) | CaseInstr c -> ( let (c , loc) = r_split c in @@ -891,7 +884,7 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res LongBlock {value; _} -> compile_block value | ShortBlock {value; _} -> - compile_statements @@ fst value.inside in + compile_statements @@ fst value.inside in let%bind case_clause = case_clause None in ok (x.value.pattern, case_clause) in bind_list @@ -902,13 +895,13 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res ) | RecordPatch r -> let reg = r.region in - let (r,loc) = r_split r in - let aux (fa :Raw.field_assign Raw.reg) : Raw.field_path_assign Raw.reg = - {value = {field_path = FieldName fa.value.field_name, []; + let r, loc = r_split r in + let aux (fa: Raw.field_assignment Raw.reg) : Raw.field_path_assignment Raw.reg = + {value = {field_path = Name fa.value.field_name; assignment = fa.value.assignment; field_expr = fa.value.field_expr}; region = fa.region} in - let update : Raw.field_path_assign Raw.reg Raw.ne_injection Raw.reg = { + let update : Raw.field_path_assignment Raw.reg Raw.ne_injection Raw.reg = { value = Raw.map_ne_injection aux r.record_inj.value; region = r.record_inj.region} in let u : Raw.update = { @@ -916,12 +909,12 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res kwd_with = r.kwd_with; updates = update} in let%bind expr = compile_update {value=u;region=reg} in - let (name , access_path) = compile_path r.path in + let name, access_path = compile_path r.path in let name = Var.of_name name in return_statement @@ e_assign ~loc name access_path expr | MapPatch patch -> - let (map_p, loc) = r_split patch in - let (name, access_path) = compile_path map_p.path in + let map_p, loc = r_split patch in + let name, access_path = compile_path map_p.path in let%bind inj = bind_list @@ List.map (fun (x:Raw.binding Region.reg) -> let x = x.value in @@ -931,7 +924,7 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res in ok @@ (key', value') ) @@ npseq_to_list map_p.map_inj.value.ne_elements in - match inj with + (match inj with | [] -> return_statement @@ e_skip ~loc () | _ :: _ -> let assigns = List.fold_right @@ -939,10 +932,10 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res inj (e_accessor ~loc (e_variable (Var.of_name name)) access_path) and name = Var.of_name name in - return_statement @@ e_assign ~loc name access_path assigns + return_statement @@ e_assign ~loc name access_path assigns) | SetPatch patch -> ( - let (setp, loc) = r_split patch in - let (name , access_path) = compile_path setp.path in + let setp, loc = r_split patch in + let name, access_path = compile_path setp.path in let%bind inj = bind_list @@ List.map compile_expression @@ @@ -956,13 +949,13 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res let name = Var.of_name name in return_statement @@ e_assign ~loc name access_path assigns ) - | MapRemove r -> ( + | MapRemove r -> let (v , loc) = r_split r in let key = v.key in let%bind (name,map,path) = match v.map with | Name v -> ok (v.value , e_variable (Var.of_name v.value) , []) | Path p -> - let (name,p') = compile_path v.map in + let name, p' = compile_path v.map in let%bind accessor = compile_projection p in ok @@ (name , accessor , p') in @@ -970,37 +963,32 @@ and compile_single_instruction : Raw.instruction -> (_ -> expression result) res let expr = e_constant ~loc C_MAP_REMOVE [key' ; map] in let name = Var.of_name name in return_statement @@ e_assign ~loc name path expr - ) - | SetRemove r -> ( - let (set_rm, loc) = r_split r in - let%bind (name, set, path) = match set_rm.set with - | Name v -> ok (v.value, e_variable (Var.of_name v.value), []) + | SetRemove r -> + let set_rm, loc = r_split r in + let%bind (name, set, path) = + match set_rm.set with + | Name v -> + ok (v.value, e_variable (Var.of_name v.value), []) | Path path -> - let(name, p') = compile_path set_rm.set in - let%bind accessor = compile_projection path in - ok @@ (name, accessor, p') - in + let name, p' = compile_path set_rm.set in + let%bind accessor = compile_projection path in + ok @@ (name, accessor, p') in let%bind removed' = compile_expression set_rm.element in let expr = e_constant ~loc C_SET_REMOVE [removed' ; set] in let name = Var.of_name name in return_statement @@ e_assign ~loc name path expr - ) -and compile_path : Raw.path -> string * access list = fun p -> - match p with - | Raw.Name v -> (v.value , []) - | Raw.Path p -> ( - let p' = p.value in - let var = p'.struct_name.value in - let path = p'.field_path in - let path' = List.map compile_selection @@ npseq_to_list path in - (var , path') - ) +and compile_path : Raw.path -> string * access list = function + Raw.Name v -> v.value, [] +| Raw.Path {value; _} -> + let Raw.{struct_name; field_path; _} = value in + let var = struct_name.value in + let path = List.map compile_selection @@ npseq_to_list field_path + in var, path -and compile_selection : Raw.selection -> access = fun s -> - match s with - | FieldName property -> Access_record property.value - | Component index -> (Access_tuple (snd index.value)) +and compile_selection : Raw.selection -> access = function + FieldName property -> Access_record property.value +| Component index -> Access_tuple (snd index.value) and compile_cases : (Raw.pattern * expression) list -> matching_expr result = fun t -> let open Raw in