diff --git a/src/bin/expect_tests/code_insertion.ml b/src/bin/expect_tests/code_insertion.ml new file mode 100644 index 000000000..0add86ac0 --- /dev/null +++ b/src/bin/expect_tests/code_insertion.ml @@ -0,0 +1,55 @@ +open Cli_expect + +let contract basename = + "../../test/contracts/" ^ basename +let bad_contract basename = + "../../test/contracts/negative/" ^ basename + +let%expect_test _ = + run_ligo_bad [ "compile-contract" ; bad_contract "bad_michelson_insertion_1.ligo" ; "main" ] ; + [%expect{| + ligo: generated Michelson contract failed to typecheck: bad contract type + { parameter nat ; + storage nat ; + code { DUP ; + LAMBDA (pair nat nat) nat ADD ; + SWAP ; + EXEC ; + NIL operation ; + PAIR ; + DIP { DROP } } } + + If you're not sure how to fix this error, you can + do one of the following: + + * Visit our documentation: https://ligolang.org/docs/intro/introduction + * Ask a question on our Discord: https://discord.gg/9rhYaEt + * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new + * Check the changelog by running 'ligo changelog' |}] + +let%expect_test _ = + run_ligo_bad [ "compile-contract" ; bad_contract "bad_michelson_insertion_2.ligo" ; "main" ] ; + [%expect{| + ligo: in file "bad_michelson_insertion_2.ligo", line 5, characters 32-40. different kinds: {"a":"nat","b":"( nat * nat )"} + + + If you're not sure how to fix this error, you can + do one of the following: + + * Visit our documentation: https://ligolang.org/docs/intro/introduction + * Ask a question on our Discord: https://discord.gg/9rhYaEt + * Open a gitlab issue: https://gitlab.com/ligolang/ligo/issues/new + * Check the changelog by running 'ligo changelog' |}] + +let%expect_test _ = + run_ligo_good [ "compile-contract" ; bad_contract "bad_michelson_insertion_3.ligo" ; "main" ] ; + [%expect{| + { parameter nat ; + storage nat ; + code { DUP ; + LAMBDA (pair nat nat) nat { { { DUP ; CDR ; SWAP ; CAR } } ; ADD } ; + SWAP ; + EXEC ; + NIL operation ; + PAIR ; + DIP { DROP } } } |}] diff --git a/src/passes/01-parser/cameligo/AST.ml b/src/passes/01-parser/cameligo/AST.ml index 80c8b84ad..b1ffa4ed7 100644 --- a/src/passes/01-parser/cameligo/AST.ml +++ b/src/passes/01-parser/cameligo/AST.ml @@ -227,26 +227,26 @@ and field_pattern = { } and expr = - ECase of expr case reg -| ECond of cond_expr reg -| EAnnot of annot_expr par reg -| ELogic of logic_expr -| EArith of arith_expr -| EString of string_expr -| EList of list_expr -| EConstr of constr_expr -| ERecord of record reg -| EProj of projection reg -| EUpdate of update reg -| EVar of variable -| ECall of (expr * expr nseq) reg -| EBytes of (string * Hex.t) reg -| EUnit of the_unit reg -| ETuple of (expr, comma) nsepseq reg -| EPar of expr par reg -| ELetIn of let_in reg -| EFun of fun_expr reg -| ESeq of expr injection reg + ECase of expr case reg +| ECond of cond_expr reg +| EAnnot of annot_expr par reg +| ELogic of logic_expr +| EArith of arith_expr +| EString of string_expr +| EList of list_expr +| EConstr of constr_expr +| ERecord of record reg +| EProj of projection reg +| EUpdate of update reg +| EVar of variable +| ECall of (expr * expr nseq) reg +| EBytes of (string * Hex.t) reg +| EUnit of the_unit reg +| ETuple of (expr, comma) nsepseq reg +| EPar of expr par reg +| ELetIn of let_in reg +| EFun of fun_expr reg +| ESeq of expr injection reg | ECodeInsert of code_insert reg and annot_expr = expr * colon * type_expr diff --git a/src/passes/01-parser/cameligo/Pretty.ml b/src/passes/01-parser/cameligo/Pretty.ml index 780d05e29..650e03ef3 100644 --- a/src/passes/01-parser/cameligo/Pretty.ml +++ b/src/passes/01-parser/cameligo/Pretty.ml @@ -132,26 +132,27 @@ and pp_type_decl decl = ^^ group (nest padding (break 1 ^^ pp_type_expr type_expr)) and pp_expr = function - ECase e -> pp_case_expr e -| ECond e -> group (pp_cond_expr e) -| EAnnot e -> pp_annot_expr e -| ELogic e -> group (pp_logic_expr e) -| EArith e -> group (pp_arith_expr e) -| EString e -> pp_string_expr e -| EList e -> group (pp_list_expr e) -| EConstr e -> pp_constr_expr e -| ERecord e -> pp_record_expr e -| EProj e -> pp_projection e -| EUpdate e -> pp_update e -| EVar v -> pp_ident v -| ECall e -> pp_call_expr e -| EBytes e -> pp_bytes e -| EUnit _ -> string "()" -| ETuple e -> pp_tuple_expr e -| EPar e -> pp_par_expr e -| ELetIn e -> pp_let_in e -| EFun e -> pp_fun e -| ESeq e -> pp_seq e + ECase e -> pp_case_expr e +| ECond e -> group (pp_cond_expr e) +| EAnnot e -> pp_annot_expr e +| ELogic e -> group (pp_logic_expr e) +| EArith e -> group (pp_arith_expr e) +| EString e -> pp_string_expr e +| EList e -> group (pp_list_expr e) +| EConstr e -> pp_constr_expr e +| ERecord e -> pp_record_expr e +| EProj e -> pp_projection e +| EUpdate e -> pp_update e +| EVar v -> pp_ident v +| ECall e -> pp_call_expr e +| EBytes e -> pp_bytes e +| EUnit _ -> string "()" +| ETuple e -> pp_tuple_expr e +| EPar e -> pp_par_expr e +| ELetIn e -> pp_let_in e +| EFun e -> pp_fun e +| ESeq e -> pp_seq e +| ECodeInsert e -> pp_code_insert e and pp_case_expr {value; _} = let {expr; cases; _} = value in @@ -313,6 +314,12 @@ and pp_update {value; _} = string "{" ^^ record ^^ string " with" ^^ nest 2 (break 1 ^^ updates ^^ string "}") +and pp_code_insert {value; _} = + let {language; code; _} = value in + let language = pp_string language + and code = pp_expr code in + string "[%" ^^ language ^^ string " " ^^ code ^^ string " ]" + and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in let path = pp_path field_path in diff --git a/src/passes/01-parser/cameligo/error.messages.checked-in b/src/passes/01-parser/cameligo/error.messages.checked-in index 47de1af49..8ac839bf3 100644 --- a/src/passes/01-parser/cameligo/error.messages.checked-in +++ b/src/passes/01-parser/cameligo/error.messages.checked-in @@ -963,7 +963,7 @@ interactive_expr: Begin Verbatim With interactive_expr: Begin With ## -## Ends in an error in state: 204. +## Ends in an error in state: 206. ## ## sequence -> Begin . option(series) End [ 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 ] ## @@ -1002,7 +1002,7 @@ interactive_expr: C_Some With interactive_expr: Constr DOT Ident DOT With ## -## Ends in an error in state: 199. +## Ends in an error in state: 201. ## ## projection -> Constr DOT Ident DOT . nsepseq(selection,DOT) [ 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 ] ## @@ -1014,7 +1014,7 @@ interactive_expr: Constr DOT Ident DOT With interactive_expr: Constr DOT Ident WILD ## -## Ends in an error in state: 198. +## Ends in an error in state: 200. ## ## module_fun -> Ident . [ 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 ] ## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ 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 ] @@ -1027,7 +1027,7 @@ interactive_expr: Constr DOT Ident WILD interactive_expr: Constr DOT With ## -## Ends in an error in state: 196. +## Ends in an error in state: 198. ## ## module_field -> Constr DOT . module_fun [ 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 ] ## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ 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 ] @@ -1040,7 +1040,7 @@ interactive_expr: Constr DOT With interactive_expr: Constr WILD ## -## Ends in an error in state: 195. +## Ends in an error in state: 197. ## ## constr_expr -> Constr . core_expr [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] ## constr_expr -> Constr . [ With VBAR Type Then TIMES SLASH SEMI RPAR RBRACKET RBRACE PLUS Or NE Mod MINUS Let LT LE In GT GE End Else EQ EOF CONS COMMA COLON CAT BOOL_OR BOOL_AND Attr ] @@ -1055,7 +1055,7 @@ interactive_expr: Constr WILD interactive_expr: Fun WILD ARROW With ## -## Ends in an error in state: 193. +## Ends in an error in state: 195. ## ## fun_expr(expr) -> Fun nseq(irrefutable) ARROW . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -1103,7 +1103,7 @@ interactive_expr: Fun WILD WILD RPAR interactive_expr: Fun With ## -## Ends in an error in state: 191. +## Ends in an error in state: 193. ## ## fun_expr(expr) -> Fun . nseq(irrefutable) ARROW expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -1115,7 +1115,7 @@ interactive_expr: Fun With interactive_expr: Ident DOT Int DOT With ## -## Ends in an error in state: 188. +## Ends in an error in state: 190. ## ## nsepseq(selection,DOT) -> selection DOT . nsepseq(selection,DOT) [ 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 ] ## @@ -1127,7 +1127,7 @@ interactive_expr: Ident DOT Int DOT With interactive_expr: Ident DOT Int WILD ## -## Ends in an error in state: 187. +## Ends in an error in state: 189. ## ## nsepseq(selection,DOT) -> selection . [ 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 ] ## nsepseq(selection,DOT) -> selection . DOT nsepseq(selection,DOT) [ 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 ] @@ -1140,7 +1140,7 @@ interactive_expr: Ident DOT Int WILD interactive_expr: Ident DOT With ## -## Ends in an error in state: 184. +## Ends in an error in state: 186. ## ## projection -> Ident DOT . nsepseq(selection,DOT) [ 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 ] ## @@ -1152,7 +1152,7 @@ interactive_expr: Ident DOT With interactive_expr: Ident WILD ## -## Ends in an error in state: 183. +## Ends in an error in state: 185. ## ## core_expr -> Ident . [ 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 ] ## projection -> Ident . DOT nsepseq(selection,DOT) [ 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 ] @@ -1275,8 +1275,8 @@ interactive_expr: If Verbatim Then Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -1352,8 +1352,8 @@ interactive_expr: If Verbatim Then Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -1585,8 +1585,8 @@ interactive_expr: If Verbatim Then Match Verbatim With WILD ARROW Let Rec WILD E ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -1662,8 +1662,8 @@ interactive_expr: If Verbatim Then Match Verbatim With WILD ARROW Let WILD EQ 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 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -1787,6 +1787,9 @@ interactive_expr: If Verbatim Then Match Verbatim With WILD CONS Bytes SEMI ## In state 97, spurious reduction of production tail -> sub_pattern ## In state 252, spurious reduction of production pattern -> sub_pattern CONS tail ## + + + interactive_expr: If Verbatim Then Match Verbatim With With ## ## Ends in an error in state: 496. @@ -1930,7 +1933,7 @@ interactive_expr: If Verbatim With interactive_expr: If With ## -## Ends in an error in state: 182. +## Ends in an error in state: 184. ## ## if_then(expr) -> If . expr Then expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## if_then_else(expr) -> If . expr Then closed_if Else expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] @@ -1999,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: 557. +## Ends in an error in state: 555. ## ## 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 ] @@ -2012,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: 556. +## Ends in an error in state: 554. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACE ] @@ -2044,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: 553. +## Ends in an error in state: 551. ## ## field_assignment -> Ident . EQ expr [ SEMI RBRACE ] ## @@ -2056,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: 552. +## Ends in an error in state: 550. ## ## 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 ] @@ -2069,7 +2072,7 @@ interactive_expr: LBRACE Ident EQ Bytes SEMI With interactive_expr: LBRACE Ident EQ Bytes With ## -## Ends in an error in state: 551. +## Ends in an error in state: 549. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACE ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACE ] @@ -2101,7 +2104,7 @@ interactive_expr: LBRACE Ident EQ Bytes With interactive_expr: LBRACE Ident EQ With ## -## Ends in an error in state: 180. +## Ends in an error in state: 182. ## ## field_assignment -> Ident EQ . expr [ SEMI RBRACE ] ## @@ -2113,7 +2116,7 @@ interactive_expr: LBRACE Ident EQ With interactive_expr: LBRACE Ident WILD ## -## Ends in an error in state: 179. +## Ends in an error in state: 181. ## ## field_assignment -> Ident . EQ expr [ SEMI RBRACE ] ## path -> Ident . [ With ] @@ -2125,21 +2128,29 @@ interactive_expr: LBRACE Ident WILD -interactive_expr: LBRACE Ident With Ident DOT With +interactive_expr: LBRACE Ident With Ident DOT Ident With ## -## Ends in an error in state: 533. +## Ends in an error in state: 535. ## -## nsepseq(field_name,DOT) -> Ident DOT . nsepseq(field_name,DOT) [ EQ ] +## field_path_assignment -> path . EQ expr [ SEMI RBRACE ] ## ## The known suffix of the stack is as follows: -## Ident 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 189, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 192, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 529, spurious reduction of production path -> projection ## interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 547. +## Ends in an error in state: 545. ## ## 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 ] @@ -2150,9 +2161,9 @@ interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes SEMI With -interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI Ident DOT Ident EQ Bytes With +interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI Ident EQ Bytes With ## -## Ends in an error in state: 546. +## Ends in an error in state: 544. ## ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACE ] ## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . SEMI nsepseq(field_path_assignment,SEMI) [ RBRACE ] @@ -2177,23 +2188,109 @@ interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI Ident DOT Iden ## In state 371, spurious reduction of production base_expr(expr) -> disj_expr_level ## In state 373, spurious reduction of production base_cond__open(expr) -> base_expr(expr) ## In state 374, spurious reduction of production expr -> base_cond__open(expr) -## In state 541, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr +## In state 537, spurious reduction of production field_path_assignment -> path EQ expr ## -interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes SEMI With +interactive_expr: LBRACE Ident With Ident EQ Bytes SEMI With ## +## Ends in an error in state: 541. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## field_path_assignment SEMI +## + + + +interactive_expr: LBRACE Ident With Ident EQ Bytes With +## +## Ends in an error in state: 540. +## +## nsepseq(field_path_assignment,SEMI) -> field_path_assignment . [ RBRACE ] +## 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 ] +## +## The known suffix of the stack is as follows: +## 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 227, spurious reduction of production call_expr_level -> core_expr +## In state 234, spurious reduction of production unary_expr_level -> call_expr_level +## In state 221, spurious reduction of production mult_expr_level -> unary_expr_level +## In state 224, spurious reduction of production add_expr_level -> mult_expr_level +## In state 314, spurious reduction of production cons_expr_level -> add_expr_level +## In state 304, spurious reduction of production cat_expr_level -> cons_expr_level +## In state 336, spurious reduction of production comp_expr_level -> cat_expr_level +## In state 343, spurious reduction of production conj_expr_level -> comp_expr_level +## In state 350, spurious reduction of production disj_expr_level -> conj_expr_level +## In state 371, spurious reduction of production base_expr(expr) -> disj_expr_level +## In state 373, spurious reduction of production base_cond__open(expr) -> base_expr(expr) +## In state 374, spurious reduction of production expr -> base_cond__open(expr) +## In state 537, spurious reduction of production field_path_assignment -> path EQ expr +## + + + +interactive_expr: LBRACE Ident With Ident EQ With +## +## Ends in an error in state: 536. +## +## field_path_assignment -> path EQ . expr [ SEMI RBRACE ] +## +## The known suffix of the stack is as follows: +## path EQ +## + + + +interactive_expr: LBRACE Ident With Ident With +## +## Ends in an error in state: 532. +## +## path -> Ident . [ EQ ] +## projection -> Ident . DOT nsepseq(selection,DOT) [ EQ ] +## +## The known suffix of the stack is as follows: +## Ident +## + + + +interactive_expr: LBRACE Ident With With +## +## Ends in an error in state: 531. +## +## update_record -> LBRACE path With . sep_or_term_list(field_path_assignment,SEMI) RBRACE [ 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 ] +## +## The known suffix of the stack is as follows: +## LBRACE path With +## + + + +interactive_expr: LBRACE With +## +## Ends in an error in state: 180. +## +## record_expr -> LBRACE . sep_or_term_list(field_assignment,SEMI) RBRACE [ 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 ] ## update_record -> LBRACE . path With sep_or_term_list(field_path_assignment,SEMI) RBRACE [ 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 ] +## ## The known suffix of the stack is as follows: ## LBRACE ## -interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes With +interactive_expr: LBRACKET PERCENT Constr Verbatim With ## -## Ends in an error in state: 542. +## Ends in an error in state: 560. ## ## code_insert -> LBRACKET PERCENT Constr expr . RBRACKET [ 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 ] ## @@ -2216,95 +2313,27 @@ interactive_expr: LBRACE Ident With Ident DOT Ident EQ Bytes With ## In state 371, spurious reduction of production base_expr(expr) -> disj_expr_level ## In state 373, spurious reduction of production base_cond__open(expr) -> base_expr(expr) ## In state 374, spurious reduction of production expr -> base_cond__open(expr) -## In state 541, spurious reduction of production field_path_assignment -> nsepseq(field_name,DOT) EQ expr ## -interactive_expr: LBRACE Ident With Ident EQ With +interactive_expr: LBRACKET PERCENT Constr With ## -## Ends in an error in state: 540. +## Ends in an error in state: 172. ## -## field_path_assignment -> nsepseq(field_name,DOT) EQ . expr [ SEMI RBRACE ] +## code_insert -> LBRACKET PERCENT Constr . expr RBRACKET [ 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 ] ## ## The known suffix of the stack is as follows: -## nsepseq(field_name,DOT) EQ -## - - - -interactive_expr: LBRACE Ident With Ident With -## -## Ends in an error in state: 532. -## -## nsepseq(field_name,DOT) -> Ident . [ EQ ] -## nsepseq(field_name,DOT) -> Ident . DOT nsepseq(field_name,DOT) [ EQ ] -## -## The known suffix of the stack is as follows: -## Ident -## - - - -interactive_expr: LBRACE Ident With With -## -## Ends in an error in state: 531. -## -## update_record -> LBRACE path With . sep_or_term_list(field_path_assignment,SEMI) RBRACE [ 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 ] -## -## The known suffix of the stack is as follows: -## LBRACE path With -## - - - -interactive_expr: LBRACE Ident With Ident DOT Ident EQ With -## -## Ends in an error in state: 533. -## -## field_path_assignment -> path EQ . expr [ SEMI RBRACE ] -## -## The known suffix of the stack is as follows: -## path EQ -## - - - -interactive_expr: LBRACE Ident With Ident DOT Ident With -## -## Ends in an error in state: 562. -## -## field_path_assignment -> path . EQ expr [ SEMI RBRACE ] -## -## 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 227, spurious reduction of production call_expr_level -> core_expr -## In state 234, spurious reduction of production unary_expr_level -> call_expr_level -## In state 221, spurious reduction of production mult_expr_level -> unary_expr_level -## In state 224, spurious reduction of production add_expr_level -> mult_expr_level -## In state 314, spurious reduction of production cons_expr_level -> add_expr_level -## In state 304, spurious reduction of production cat_expr_level -> cons_expr_level -## In state 336, spurious reduction of production comp_expr_level -> cat_expr_level -## In state 343, spurious reduction of production conj_expr_level -> comp_expr_level -## In state 350, spurious reduction of production disj_expr_level -> conj_expr_level -## In state 371, spurious reduction of production base_expr(expr) -> disj_expr_level -## In state 373, spurious reduction of production base_cond__open(expr) -> base_expr(expr) -## In state 374, spurious reduction of production expr -> base_cond__open(expr) +## LBRACKET PERCENT Constr ## interactive_expr: LBRACKET PERCENT With ## -## Ends in an error in state: 529. +## Ends in an error in state: 171. ## -## path -> Ident . [ EQ ] -## projection -> Ident . DOT nsepseq(selection,DOT) [ EQ ] +## code_insert -> LBRACKET PERCENT . Constr expr RBRACKET [ 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 ] ## ## The known suffix of the stack is as follows: ## LBRACKET PERCENT @@ -2312,21 +2341,9 @@ interactive_expr: LBRACKET PERCENT With -interactive_expr: LBRACKET Verbatim End -## -## Ends in an error in state: 528. -## -## update_record -> LBRACE path With . sep_or_term_list(field_path_assignment,SEMI) RBRACE [ 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 ] -## -## The known suffix of the stack is as follows: -## LBRACE path With -## - - - interactive_expr: LBRACKET Verbatim SEMI Verbatim SEMI With ## -## Ends in an error in state: 574. +## Ends in an error in state: 572. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -2339,7 +2356,7 @@ interactive_expr: LBRACKET Verbatim SEMI Verbatim SEMI With interactive_expr: LBRACKET Verbatim SEMI Verbatim With ## -## Ends in an error in state: 573. +## Ends in an error in state: 571. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -2370,7 +2387,7 @@ interactive_expr: LBRACKET Verbatim SEMI Verbatim With interactive_expr: LBRACKET Verbatim SEMI With ## -## Ends in an error in state: 570. +## Ends in an error in state: 568. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET ] @@ -2383,7 +2400,7 @@ interactive_expr: LBRACKET Verbatim SEMI With interactive_expr: LBRACKET Verbatim With ## -## Ends in an error in state: 569. +## Ends in an error in state: 567. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET ] @@ -2416,6 +2433,7 @@ interactive_expr: LBRACKET With ## ## Ends in an error in state: 170. ## +## code_insert -> LBRACKET . PERCENT Constr expr RBRACKET [ 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 ] ## list__(expr) -> LBRACKET . option(sep_or_term_list(expr,SEMI)) RBRACKET [ 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 ] ## ## The known suffix of the stack is as follows: @@ -2426,7 +2444,7 @@ interactive_expr: LBRACKET With interactive_expr: LPAR Verbatim COLON Ident VBAR ## -## Ends in an error in state: 587. +## Ends in an error in state: 586. ## ## 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 ] ## @@ -2440,14 +2458,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 580, spurious reduction of production annot_expr -> expr COLON type_expr +## In state 585, spurious reduction of production annot_expr -> expr COLON type_expr ## interactive_expr: LPAR Verbatim COLON With ## -## Ends in an error in state: 586. +## Ends in an error in state: 584. ## ## annot_expr -> expr COLON . type_expr [ RPAR ] ## @@ -2459,7 +2477,7 @@ interactive_expr: LPAR Verbatim COLON With interactive_expr: LPAR Verbatim With ## -## Ends in an error in state: 584. +## Ends in an error in state: 582. ## ## 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 ] @@ -2503,7 +2521,7 @@ interactive_expr: LPAR With interactive_expr: Let Rec WILD EQ Bytes Attr Type ## -## Ends in an error in state: 176. +## Ends in an error in state: 178. ## ## let_expr(expr) -> Let Rec let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2514,15 +2532,15 @@ interactive_expr: Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Let Rec WILD EQ Bytes In With ## -## Ends in an error in state: 177. +## Ends in an error in state: 179. ## ## let_expr(expr) -> Let Rec let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2534,7 +2552,7 @@ interactive_expr: Let Rec WILD EQ Bytes In With interactive_expr: Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 173. +## Ends in an error in state: 175. ## ## let_expr(expr) -> Let Rec let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2564,7 +2582,7 @@ interactive_expr: Let Rec WILD EQ Bytes With interactive_expr: Let Rec With ## -## Ends in an error in state: 172. +## Ends in an error in state: 174. ## ## let_expr(expr) -> Let Rec . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2576,7 +2594,7 @@ interactive_expr: Let Rec With interactive_expr: Let WILD EQ Bytes Attr Type ## -## Ends in an error in state: 560. +## Ends in an error in state: 558. ## ## let_expr(expr) -> Let let_binding seq(Attr) . In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2587,15 +2605,15 @@ interactive_expr: Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## interactive_expr: Let WILD EQ Bytes In With ## -## Ends in an error in state: 561. +## Ends in an error in state: 559. ## ## let_expr(expr) -> Let let_binding seq(Attr) In . expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2607,7 +2625,7 @@ interactive_expr: Let WILD EQ Bytes In With interactive_expr: Let WILD EQ Bytes With ## -## Ends in an error in state: 559. +## Ends in an error in state: 557. ## ## let_expr(expr) -> Let let_binding . seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2637,7 +2655,7 @@ interactive_expr: Let WILD EQ Bytes With interactive_expr: Let With ## -## Ends in an error in state: 171. +## Ends in an error in state: 173. ## ## let_expr(expr) -> Let . let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## let_expr(expr) -> Let . Rec let_binding seq(Attr) In expr [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] @@ -2662,7 +2680,7 @@ interactive_expr: MINUS With interactive_expr: Match Verbatim Type ## -## Ends in an error in state: 577. +## Ends in an error in state: 575. ## ## match_expr(base_cond) -> Match expr . With option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2704,7 +2722,7 @@ interactive_expr: Match Verbatim With LPAR Bytes RPAR With interactive_expr: Match Verbatim With VBAR Begin ## -## Ends in an error in state: 579. +## Ends in an error in state: 577. ## ## match_expr(base_cond) -> Match expr With option(VBAR) . cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2716,7 +2734,7 @@ interactive_expr: Match Verbatim With VBAR Begin interactive_expr: Match Verbatim With WILD ARROW Bytes VBAR With ## -## Ends in an error in state: 583. +## Ends in an error in state: 581. ## ## cases(base_cond) -> cases(base_cond) VBAR . case_clause(base_cond) [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -2862,8 +2880,8 @@ interactive_expr: Match Verbatim With WILD ARROW If Verbatim Then Let Rec WILD E ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -2939,8 +2957,8 @@ interactive_expr: Match Verbatim With WILD ARROW If Verbatim Then Let WILD EQ 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 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -3115,8 +3133,8 @@ interactive_expr: Match Verbatim With WILD ARROW Let Rec WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -3188,8 +3206,8 @@ interactive_expr: Match Verbatim With WILD ARROW Let WILD EQ Bytes Attr Type ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 174, spurious reduction of production seq(Attr) -> -## In state 175, spurious reduction of production seq(Attr) -> Attr seq(Attr) +## In state 176, spurious reduction of production seq(Attr) -> +## In state 177, spurious reduction of production seq(Attr) -> Attr seq(Attr) ## @@ -3251,7 +3269,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: 582. +## Ends in an error in state: 580. ## ## 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 ] @@ -3315,7 +3333,7 @@ interactive_expr: Match Verbatim With WILD ARROW Verbatim End interactive_expr: Match Verbatim With WILD ARROW With ## -## Ends in an error in state: 581. +## Ends in an error in state: 579. ## ## case_clause(base_cond) -> pattern ARROW . base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -3364,7 +3382,7 @@ interactive_expr: Match Verbatim With WILD COMMA With interactive_expr: Match Verbatim With WILD CONS Bytes SEMI ## -## Ends in an error in state: 580. +## Ends in an error in state: 578. ## ## case_clause(base_cond) -> pattern . ARROW base_cond [ With VBAR Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -3408,7 +3426,7 @@ interactive_expr: Match Verbatim With WILD With interactive_expr: Match Verbatim With With ## -## Ends in an error in state: 578. +## Ends in an error in state: 576. ## ## match_expr(base_cond) -> Match expr With . option(VBAR) cases(base_cond) [ With Type Then SEMI RPAR RBRACKET RBRACE Let In EOF COLON Attr ] ## @@ -3545,7 +3563,7 @@ interactive_expr: Verbatim CONS With interactive_expr: Verbatim Constr With ## -## Ends in an error in state: 202. +## Ends in an error in state: 204. ## ## module_field -> Constr . DOT module_fun [ 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 ] ## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ 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 ] @@ -3798,7 +3816,7 @@ interactive_expr: Verbatim WILD interactive_expr: Verbatim With ## -## Ends in an error in state: 604. +## Ends in an error in state: 603. ## ## interactive_expr -> expr . EOF [ # ] ## @@ -3827,7 +3845,7 @@ interactive_expr: Verbatim With interactive_expr: With ## -## Ends in an error in state: 602. +## Ends in an error in state: 601. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -4273,7 +4291,7 @@ contract: Let LPAR With contract: Let Rec WILD EQ Bytes With ## -## Ends in an error in state: 591. +## Ends in an error in state: 590. ## ## let_declaration -> Let Rec let_binding . seq(Attr) [ Type Let EOF ] ## @@ -4386,7 +4404,7 @@ contract: Let WILD COMMA With contract: Let WILD EQ Bytes Attr With ## -## Ends in an error in state: 174. +## Ends in an error in state: 176. ## ## seq(Attr) -> Attr . seq(Attr) [ Type Let In EOF ] ## @@ -4398,7 +4416,7 @@ contract: Let WILD EQ Bytes Attr With contract: Let WILD EQ Bytes With ## -## Ends in an error in state: 593. +## Ends in an error in state: 592. ## ## let_declaration -> Let let_binding . seq(Attr) [ Type Let EOF ] ## @@ -4534,7 +4552,7 @@ contract: Type Ident EQ Constr With contract: Type Ident EQ Ident VBAR ## -## Ends in an error in state: 599. +## Ends in an error in state: 598. ## ## declarations -> declaration . [ EOF ] ## declarations -> declaration . declarations [ EOF ] @@ -4550,7 +4568,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 595, spurious reduction of production declaration -> type_decl +## In state 594, spurious reduction of production declaration -> type_decl ## @@ -4902,3 +4920,4 @@ contract: With ## + diff --git a/src/passes/01-parser/pascaligo/Pretty.ml b/src/passes/01-parser/pascaligo/Pretty.ml index 4c52d071a..c3da0fe4a 100644 --- a/src/passes/01-parser/pascaligo/Pretty.ml +++ b/src/passes/01-parser/pascaligo/Pretty.ml @@ -361,26 +361,27 @@ and pp_collection = function (* Expressions *) and pp_expr = function - ECase e -> pp_case pp_expr e -| ECond e -> group (pp_cond_expr e) -| EAnnot e -> pp_annot_expr e -| ELogic e -> group (pp_logic_expr e) -| EArith e -> group (pp_arith_expr e) -| EString e -> pp_string_expr e -| EList e -> group (pp_list_expr e) -| ESet e -> pp_set_expr e -| EConstr e -> pp_constr_expr e -| ERecord e -> pp_record e -| EProj e -> pp_projection e -| EUpdate e -> pp_update e -| EMap e -> pp_map_expr e -| EVar e -> pp_ident e -| ECall e -> pp_fun_call e -| EBytes e -> pp_bytes e -| EUnit _ -> string "Unit" -| ETuple e -> pp_tuple_expr e -| EPar e -> pp_par pp_expr e -| EFun e -> pp_fun_expr e + ECase e -> pp_case pp_expr e +| ECond e -> group (pp_cond_expr e) +| EAnnot e -> pp_annot_expr e +| ELogic e -> group (pp_logic_expr e) +| EArith e -> group (pp_arith_expr e) +| EString e -> pp_string_expr e +| EList e -> group (pp_list_expr e) +| ESet e -> pp_set_expr e +| EConstr e -> pp_constr_expr e +| ERecord e -> pp_record e +| EProj e -> pp_projection e +| EUpdate e -> pp_update e +| EMap e -> pp_map_expr e +| EVar e -> pp_ident e +| ECall e -> pp_fun_call e +| EBytes e -> pp_bytes e +| EUnit _ -> string "Unit" +| ETuple e -> pp_tuple_expr e +| EPar e -> pp_par pp_expr e +| EFun e -> pp_fun_expr e +| ECodeInsert e -> pp_code_insert e and pp_annot_expr {value; _} = let expr, _, type_expr = value.inside in @@ -495,6 +496,12 @@ and pp_update {value; _} = and record = pp_path record in record ^^ string " with" ^^ nest 2 (break 1 ^^ updates) +and pp_code_insert {value; _} = + let {language; code; _} = value in + let language = pp_string language + and code = pp_expr code in + string "[%" ^^ language ^^ string " " ^^ code ^^ string " ]" + and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in let path = pp_path field_path in diff --git a/src/passes/01-parser/pascaligo/error.messages.checked-in b/src/passes/01-parser/pascaligo/error.messages.checked-in index 5d3861419..7377200d0 100644 --- a/src/passes/01-parser/pascaligo/error.messages.checked-in +++ b/src/passes/01-parser/pascaligo/error.messages.checked-in @@ -1,6 +1,6 @@ interactive_expr: BigMap LBRACKET Verbatim ARROW Bytes End ## -## Ends in an error in state: 147. +## Ends in an error in state: 150. ## ## injection(BigMap,binding) -> BigMap 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 ] ## @@ -11,26 +11,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## interactive_expr: BigMap LBRACKET With ## -## Ends in an error in state: 140. +## Ends in an error in state: 143. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH PLUS Or NE Mod MINUS LT LE GT GE EQ Contains CONS CAT And ARROW ] ## injection(BigMap,binding) -> BigMap 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 ] @@ -44,7 +44,7 @@ interactive_expr: BigMap LBRACKET With interactive_expr: BigMap Verbatim ARROW Bytes RBRACKET ## -## Ends in an error in state: 257. +## Ends in an error in state: 261. ## ## 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 ] ## @@ -55,26 +55,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## interactive_expr: BigMap With ## -## Ends in an error in state: 139. +## Ends in an error in state: 142. ## ## 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 ] ## injection(BigMap,binding) -> BigMap . 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 ] @@ -89,7 +89,7 @@ interactive_expr: BigMap With interactive_expr: C_Some With ## -## Ends in an error in state: 135. +## Ends in an error in state: 138. ## ## core_expr -> C_Some . 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 ] ## @@ -101,7 +101,7 @@ interactive_expr: C_Some With interactive_expr: Case Verbatim Of C_Some LPAR WILD With ## -## Ends in an error in state: 285. +## Ends in an error in state: 289. ## ## par(core_pattern) -> LPAR core_pattern . RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -113,7 +113,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: 277. +## Ends in an error in state: 281. ## ## par(core_pattern) -> LPAR . core_pattern RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -125,7 +125,7 @@ interactive_expr: Case Verbatim Of C_Some LPAR With interactive_expr: Case Verbatim Of C_Some With ## -## Ends in an error in state: 276. +## Ends in an error in state: 280. ## ## constr_pattern -> C_Some . par(core_pattern) [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -137,7 +137,7 @@ interactive_expr: Case Verbatim Of C_Some With interactive_expr: Case Verbatim Of Constr LPAR WILD With ## -## Ends in an error in state: 291. +## Ends in an error in state: 295. ## ## nsepseq(core_pattern,COMMA) -> core_pattern . [ RPAR ] ## nsepseq(core_pattern,COMMA) -> core_pattern . COMMA nsepseq(core_pattern,COMMA) [ RPAR ] @@ -150,7 +150,7 @@ interactive_expr: Case Verbatim Of Constr LPAR WILD With interactive_expr: Case Verbatim Of Constr LPAR With ## -## Ends in an error in state: 275. +## Ends in an error in state: 279. ## ## par(nsepseq(core_pattern,COMMA)) -> LPAR . nsepseq(core_pattern,COMMA) RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -162,7 +162,7 @@ interactive_expr: Case Verbatim Of Constr LPAR With interactive_expr: Case Verbatim Of Constr With ## -## Ends in an error in state: 274. +## Ends in an error in state: 278. ## ## constr_pattern -> Constr . tuple_pattern [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## constr_pattern -> Constr . [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] @@ -175,7 +175,7 @@ interactive_expr: Case Verbatim Of Constr With interactive_expr: Case Verbatim Of LBRACKET VBAR Block ## -## Ends in an error in state: 262. +## Ends in an error in state: 266. ## ## 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 ] ## @@ -187,7 +187,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: 326. +## Ends in an error in state: 330. ## ## 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 ] ## @@ -198,26 +198,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 328, spurious reduction of production case_clause(expr) -> pattern ARROW expr +## In state 332, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) +## In state 329, spurious reduction of production cases(expr) -> nsepseq(case_clause(expr),VBAR) ## interactive_expr: Case Verbatim Of LBRACKET With ## -## Ends in an error in state: 261. +## Ends in an error in state: 265. ## ## 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 ] ## @@ -229,7 +229,7 @@ interactive_expr: Case Verbatim Of LBRACKET With interactive_expr: Case Verbatim Of LPAR WILD COMMA With ## -## Ends in an error in state: 292. +## Ends in an error in state: 296. ## ## nsepseq(core_pattern,COMMA) -> core_pattern COMMA . nsepseq(core_pattern,COMMA) [ RPAR ] ## @@ -241,7 +241,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: 304. +## Ends in an error in state: 308. ## ## par(cons_pattern) -> LPAR cons_pattern . RPAR [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -252,15 +252,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 298, spurious reduction of production pattern -> core_pattern -## In state 297, spurious reduction of production cons_pattern -> core_pattern CONS pattern +## In state 302, spurious reduction of production pattern -> core_pattern +## In state 301, 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: 296. +## Ends in an error in state: 300. ## ## cons_pattern -> core_pattern CONS . pattern [ RPAR ] ## @@ -272,7 +272,7 @@ interactive_expr: Case Verbatim Of LPAR WILD CONS With interactive_expr: Case Verbatim Of LPAR WILD With ## -## Ends in an error in state: 295. +## Ends in an error in state: 299. ## ## cons_pattern -> core_pattern . CONS pattern [ RPAR ] ## nsepseq(core_pattern,COMMA) -> core_pattern . [ RPAR ] @@ -286,7 +286,7 @@ interactive_expr: Case Verbatim Of LPAR WILD With interactive_expr: Case Verbatim Of LPAR With ## -## Ends in an error in state: 270. +## Ends in an error in state: 274. ## ## 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 ] @@ -299,7 +299,7 @@ interactive_expr: Case Verbatim Of LPAR With interactive_expr: Case Verbatim Of List LBRACKET WILD End ## -## Ends in an error in state: 308. +## Ends in an error in state: 312. ## ## injection(List,core_pattern) -> List LBRACKET sep_or_term_list(core_pattern,SEMI) . RBRACKET [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -310,15 +310,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 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) +## In state 316, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern +## In state 315, 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: 306. +## Ends in an error in state: 310. ## ## 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 ] @@ -331,7 +331,7 @@ interactive_expr: Case Verbatim Of List LBRACKET With interactive_expr: Case Verbatim Of List WILD RBRACKET ## -## Ends in an error in state: 320. +## Ends in an error in state: 324. ## ## injection(List,core_pattern) -> List sep_or_term_list(core_pattern,SEMI) . End [ SEMI RPAR RBRACKET End CONS COMMA ARROW ] ## @@ -342,15 +342,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 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) +## In state 316, spurious reduction of production nsepseq(core_pattern,SEMI) -> core_pattern +## In state 315, 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: 317. +## Ends in an error in state: 321. ## ## 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 ] @@ -363,7 +363,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: 316. +## Ends in an error in state: 320. ## ## nsepseq(core_pattern,SEMI) -> core_pattern . [ RBRACKET End ] ## nsepseq(core_pattern,SEMI) -> core_pattern . SEMI nsepseq(core_pattern,SEMI) [ RBRACKET End ] @@ -377,7 +377,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: 313. +## Ends in an error in state: 317. ## ## 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 ] @@ -390,7 +390,7 @@ interactive_expr: Case Verbatim Of List WILD SEMI With interactive_expr: Case Verbatim Of List WILD With ## -## Ends in an error in state: 312. +## 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 ] @@ -404,7 +404,7 @@ interactive_expr: Case Verbatim Of List WILD With interactive_expr: Case Verbatim Of List With ## -## Ends in an error in state: 269. +## Ends in an error in state: 273. ## ## 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 ] @@ -419,7 +419,7 @@ interactive_expr: Case Verbatim Of List With interactive_expr: Case Verbatim Of VBAR Block ## -## Ends in an error in state: 331. +## Ends in an error in state: 335. ## ## 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 ] ## @@ -431,7 +431,7 @@ interactive_expr: Case Verbatim Of VBAR Block interactive_expr: Case Verbatim Of WILD ARROW Bytes RBRACKET ## -## Ends in an error in state: 332. +## Ends in an error in state: 336. ## ## 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 ] ## @@ -442,26 +442,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 328, spurious reduction of production case_clause(expr) -> pattern ARROW expr +## In state 332, spurious reduction of production nsepseq(case_clause(expr),VBAR) -> case_clause(expr) +## In state 329, 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: 328. +## Ends in an error in state: 332. ## ## 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 ] @@ -473,24 +473,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 328, 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: 329. +## Ends in an error in state: 333. ## ## nsepseq(case_clause(expr),VBAR) -> case_clause(expr) VBAR . nsepseq(case_clause(expr),VBAR) [ RBRACKET End ] ## @@ -502,7 +502,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: 323. +## Ends in an error in state: 327. ## ## case_clause(expr) -> pattern ARROW . expr [ VBAR RBRACKET End ] ## @@ -514,7 +514,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: 302. +## Ends in an error in state: 306. ## ## nsepseq(core_pattern,CONS) -> core_pattern CONS . nsepseq(core_pattern,CONS) [ RPAR ARROW ] ## @@ -526,7 +526,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: 301. +## Ends in an error in state: 305. ## ## nsepseq(core_pattern,CONS) -> core_pattern . [ RPAR ARROW ] ## nsepseq(core_pattern,CONS) -> core_pattern . CONS nsepseq(core_pattern,CONS) [ RPAR ARROW ] @@ -539,7 +539,7 @@ interactive_expr: Case Verbatim Of WILD CONS WILD With interactive_expr: Case Verbatim Of WILD CONS With ## -## Ends in an error in state: 299. +## Ends in an error in state: 303. ## ## pattern -> core_pattern CONS . nsepseq(core_pattern,CONS) [ RPAR ARROW ] ## @@ -551,7 +551,7 @@ interactive_expr: Case Verbatim Of WILD CONS With interactive_expr: Case Verbatim Of WILD RPAR ## -## Ends in an error in state: 322. +## Ends in an error in state: 326. ## ## case_clause(expr) -> pattern . ARROW expr [ VBAR RBRACKET End ] ## @@ -562,14 +562,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 298, spurious reduction of production pattern -> core_pattern +## In state 302, spurious reduction of production pattern -> core_pattern ## interactive_expr: Case Verbatim Of WILD With ## -## Ends in an error in state: 298. +## Ends in an error in state: 302. ## ## pattern -> core_pattern . [ RPAR ARROW ] ## pattern -> core_pattern . CONS nsepseq(core_pattern,CONS) [ RPAR ARROW ] @@ -582,7 +582,7 @@ interactive_expr: Case Verbatim Of WILD With interactive_expr: Case Verbatim Of With ## -## Ends in an error in state: 260. +## Ends in an error in state: 264. ## ## 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 ] @@ -595,7 +595,7 @@ interactive_expr: Case Verbatim Of With interactive_expr: Case Verbatim VBAR ## -## Ends in an error in state: 259. +## Ends in an error in state: 263. ## ## 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 ] @@ -607,23 +607,23 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: Case With ## -## Ends in an error in state: 134. +## Ends in an error in state: 137. ## ## 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 ] @@ -636,7 +636,7 @@ interactive_expr: Case With interactive_expr: Constr DOT And With ## -## Ends in an error in state: 175. +## Ends in an error in state: 178. ## ## 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 ] @@ -649,7 +649,7 @@ interactive_expr: Constr DOT And With interactive_expr: Constr DOT Ident DOT With ## -## Ends in an error in state: 123. +## Ends in an error in state: 126. ## ## projection -> Constr DOT 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 ] ## @@ -661,7 +661,7 @@ interactive_expr: Constr DOT Ident DOT With interactive_expr: Constr DOT Ident With ## -## Ends in an error in state: 122. +## Ends in an error in state: 125. ## ## module_fun -> Ident . [ 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 ] ## projection -> Constr DOT 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 ] @@ -674,7 +674,7 @@ interactive_expr: Constr DOT Ident With interactive_expr: Constr DOT With ## -## Ends in an error in state: 118. +## Ends in an error in state: 121. ## ## module_field -> Constr DOT . module_fun [ 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 ] ## projection -> Constr DOT . 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 ] @@ -687,7 +687,7 @@ interactive_expr: Constr DOT With interactive_expr: Constr With ## -## Ends in an error in state: 117. +## Ends in an error in state: 120. ## ## core_expr -> Constr . 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 ] ## core_expr -> Constr . [ 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 ] @@ -702,7 +702,7 @@ interactive_expr: Constr With interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON String Is With ## -## Ends in an error in state: 115. +## Ends in an error in state: 118. ## ## fun_expr -> Function parameters COLON type_expr Is . expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -714,7 +714,7 @@ interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON String Is Wit interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON String VBAR ## -## Ends in an error in state: 114. +## Ends in an error in state: 117. ## ## fun_expr -> Function parameters COLON type_expr . Is expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -734,7 +734,7 @@ interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON String VBAR interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON With ## -## Ends in an error in state: 113. +## Ends in an error in state: 116. ## ## fun_expr -> Function parameters COLON . type_expr Is expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -746,7 +746,7 @@ interactive_expr: Function LPAR Const Ident COLON Ident RPAR COLON With interactive_expr: Function LPAR Const Ident COLON Ident RPAR With ## -## Ends in an error in state: 112. +## Ends in an error in state: 115. ## ## fun_expr -> Function parameters . COLON type_expr Is expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -877,7 +877,7 @@ interactive_expr: Function LPAR With interactive_expr: Function With ## -## Ends in an error in state: 120. +## Ends in an error in state: 114. ## ## fun_expr -> Function . parameters COLON type_expr Is expr [ VBAR Type To Then Step SEMI Recursive RPAR RBRACKET RBRACE Of Function From End Else EOF Const COMMA Block Begin Attributes ARROW ] ## @@ -889,7 +889,7 @@ interactive_expr: Function With interactive_expr: Ident DOT Ident ASS ## -## Ends in an error in state: 150. +## Ends in an error in state: 153. ## ## fun_call_or_par_or_projection -> projection . 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 ] ## path -> projection . [ With LBRACKET ] @@ -901,15 +901,15 @@ interactive_expr: Ident DOT Ident ASS ## This implies that, although the LR(1) items shown above provide an ## accurate view 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 159, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 129, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 162, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) ## interactive_expr: Ident DOT Int DOT With ## -## Ends in an error in state: 127. +## Ends in an error in state: 130. ## ## nsepseq(selection,DOT) -> selection 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 ] ## @@ -921,7 +921,7 @@ interactive_expr: Ident DOT Int DOT With interactive_expr: Ident DOT Int While ## -## Ends in an error in state: 126. +## Ends in an error in state: 129. ## ## nsepseq(selection,DOT) -> selection . [ 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 ] ## nsepseq(selection,DOT) -> selection . 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 ] @@ -934,7 +934,7 @@ interactive_expr: Ident DOT Int While interactive_expr: Ident DOT With ## -## Ends in an error in state: 158. +## Ends in an error in state: 161. ## ## 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 ] ## @@ -946,7 +946,7 @@ interactive_expr: Ident DOT With interactive_expr: Ident LBRACKET Verbatim VBAR ## -## Ends in an error in state: 241. +## Ends in an error in state: 245. ## ## 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 ] ## @@ -957,23 +957,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: Ident LBRACKET With ## -## Ends in an error in state: 240. +## Ends in an error in state: 244. ## ## 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 ] ## @@ -985,7 +985,7 @@ interactive_expr: Ident LBRACKET With interactive_expr: Ident LPAR Verbatim COMMA With ## -## Ends in an error in state: 339. +## Ends in an error in state: 343. ## ## nsepseq(expr,COMMA) -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -997,7 +997,7 @@ interactive_expr: Ident LPAR Verbatim COMMA With interactive_expr: Ident LPAR Verbatim VBAR ## -## Ends in an error in state: 338. +## Ends in an error in state: 342. ## ## nsepseq(expr,COMMA) -> expr . [ RPAR ] ## nsepseq(expr,COMMA) -> expr . COMMA nsepseq(expr,COMMA) [ RPAR ] @@ -1009,23 +1009,23 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: Ident LPAR With ## -## Ends in an error in state: 110. +## Ends in an error in state: 113. ## ## par(nsepseq(expr,COMMA)) -> LPAR . nsepseq(expr,COMMA) 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 ] ## @@ -1037,7 +1037,7 @@ interactive_expr: Ident LPAR With interactive_expr: Ident While ## -## Ends in an error in state: 109. +## Ends in an error in state: 112. ## ## core_expr -> Ident . [ 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 -> Ident . 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 ] @@ -1052,7 +1052,7 @@ interactive_expr: Ident While interactive_expr: Ident With Record Constr DOT Ident With ## -## Ends in an error in state: 162. +## Ends in an error in state: 165. ## ## projection -> Constr DOT Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] ## @@ -1064,7 +1064,7 @@ interactive_expr: Ident With Record Constr DOT Ident With interactive_expr: Ident With Record Constr DOT With ## -## Ends in an error in state: 161. +## Ends in an error in state: 164. ## ## projection -> Constr DOT . Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] ## @@ -1076,7 +1076,7 @@ interactive_expr: Ident With Record Constr DOT With interactive_expr: Ident With Record Constr With ## -## Ends in an error in state: 160. +## Ends in an error in state: 163. ## ## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] ## @@ -1088,7 +1088,7 @@ interactive_expr: Ident With Record Constr With interactive_expr: Ident With Record Ident EQ Bytes RBRACKET ## -## Ends in an error in state: 237. +## Ends in an error in state: 241. ## ## 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 ] ## @@ -1099,26 +1099,26 @@ interactive_expr: Ident With 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 196, spurious reduction of production field_path_assignment -> path EQ expr +## In state 234, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment +## In state 233, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) ## interactive_expr: Ident With Record Ident EQ Bytes SEMI Ident EQ Bytes SEMI With ## -## Ends in an error in state: 235. +## Ends in an error in state: 239. ## ## 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 ] @@ -1131,7 +1131,7 @@ interactive_expr: Ident With Record Ident EQ Bytes SEMI Ident EQ Bytes SEMI With interactive_expr: Ident With Record Ident EQ Bytes SEMI Ident EQ Bytes VBAR ## -## Ends in an error in state: 234. +## Ends in an error in state: 238. ## ## 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 ] @@ -1144,24 +1144,24 @@ interactive_expr: Ident With 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 196, spurious reduction of production field_path_assignment -> path EQ expr ## interactive_expr: Ident With Record Ident EQ Bytes SEMI With ## -## Ends in an error in state: 231. +## Ends in an error in state: 235. ## ## 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 ] @@ -1174,7 +1174,7 @@ interactive_expr: Ident With Record Ident EQ Bytes SEMI With interactive_expr: Ident With Record Ident EQ Bytes VBAR ## -## Ends in an error in state: 230. +## 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 ] @@ -1187,24 +1187,24 @@ interactive_expr: Ident With 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 196, spurious reduction of production field_path_assignment -> path EQ expr ## interactive_expr: Ident With Record Ident EQ With ## -## Ends in an error in state: 167. +## Ends in an error in state: 170. ## ## field_path_assignment -> path EQ . expr [ SEMI RBRACKET End ] ## @@ -1216,7 +1216,7 @@ interactive_expr: Ident With Record Ident EQ With interactive_expr: Ident With Record Ident While ## -## Ends in an error in state: 157. +## Ends in an error in state: 160. ## ## path -> Ident . [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] ## projection -> Ident . DOT nsepseq(selection,DOT) [ With VBAR SEMI RBRACKET RBRACE End Else EQ ] @@ -1240,14 +1240,14 @@ interactive_expr: Ident With Record Ident With ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 157, spurious reduction of production path -> Ident +## In state 160, spurious reduction of production path -> Ident ## interactive_expr: Ident With Record LBRACKET Ident EQ Bytes End ## -## Ends in an error in state: 163. +## Ends in an error in state: 166. ## ## 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 ] ## @@ -1258,26 +1258,26 @@ interactive_expr: Ident With 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 196, spurious reduction of production field_path_assignment -> path EQ expr +## In state 234, spurious reduction of production nsepseq(field_path_assignment,SEMI) -> field_path_assignment +## In state 233, spurious reduction of production sep_or_term_list(field_path_assignment,SEMI) -> nsepseq(field_path_assignment,SEMI) ## interactive_expr: Ident With Record LBRACKET With ## -## Ends in an error in state: 156. +## Ends in an error in state: 159. ## ## 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 ] ## @@ -1289,7 +1289,7 @@ interactive_expr: Ident With Record LBRACKET With interactive_expr: Ident With Record With ## -## Ends in an error in state: 155. +## Ends in an error in state: 158. ## ## 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 ] ## 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 ] @@ -1302,7 +1302,7 @@ interactive_expr: Ident With Record With interactive_expr: Ident With With ## -## Ends in an error in state: 154. +## Ends in an error in state: 157. ## ## update_record -> path With . ne_injection(Record,field_path_assignment) [ 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 ] ## @@ -1314,7 +1314,7 @@ interactive_expr: Ident With With interactive_expr: If Verbatim Then Verbatim Else With ## -## Ends in an error in state: 346. +## Ends in an error in state: 350. ## ## 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 ] ## @@ -1326,7 +1326,7 @@ interactive_expr: If Verbatim Then Verbatim Else With interactive_expr: If Verbatim Then Verbatim SEMI EQ ## -## Ends in an error in state: 345. +## Ends in an error in state: 349. ## ## 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,7 +1338,7 @@ interactive_expr: If Verbatim Then Verbatim SEMI EQ interactive_expr: If Verbatim Then Verbatim VBAR ## -## Ends in an error in state: 344. +## Ends in an error in state: 348. ## ## 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 ] ## @@ -1349,23 +1349,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: If Verbatim Then With ## -## Ends in an error in state: 343. +## Ends in an error in state: 347. ## ## 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 ] ## @@ -1377,7 +1377,7 @@ interactive_expr: If Verbatim Then With interactive_expr: If Verbatim VBAR ## -## Ends in an error in state: 342. +## 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 ] ## @@ -1388,23 +1388,23 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: If With ## -## Ends in an error in state: 108. +## Ends in an error in state: 111. ## ## 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 ] ## @@ -1414,9 +1414,72 @@ interactive_expr: If With +interactive_expr: LBRACKET PERCENT Constr Verbatim VBAR +## +## Ends in an error in state: 352. +## +## code_insert_expr -> LBRACKET PERCENT Constr 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 ARROW ] +## +## The known suffix of the stack is as follows: +## LBRACKET PERCENT Constr expr +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## + + + +interactive_expr: LBRACKET PERCENT Constr With +## +## Ends in an error in state: 109. +## +## code_insert_expr -> LBRACKET PERCENT Constr . 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 ARROW ] +## +## The known suffix of the stack is as follows: +## LBRACKET PERCENT Constr +## + + + +interactive_expr: LBRACKET PERCENT With +## +## Ends in an error in state: 108. +## +## code_insert_expr -> LBRACKET PERCENT . Constr 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 ARROW ] +## +## The known suffix of the stack is as follows: +## LBRACKET PERCENT +## + + + +interactive_expr: LBRACKET With +## +## Ends in an error in state: 107. +## +## code_insert_expr -> LBRACKET . PERCENT Constr 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 ARROW ] +## +## The known suffix of the stack is as follows: +## LBRACKET +## + + + interactive_expr: LPAR Bytes RPAR With ## -## Ends in an error in state: 169. +## Ends in an error in state: 172. ## ## 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 ] ## @@ -1428,7 +1491,7 @@ interactive_expr: LPAR Bytes RPAR With interactive_expr: LPAR If Verbatim Then Bytes Else Bytes VBAR ## -## Ends in an error in state: 350. +## Ends in an error in state: 356. ## ## 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 ] @@ -1440,25 +1503,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 351, spurious reduction of production cond_expr -> If expr Then expr option(SEMI) Else expr +## In state 230, spurious reduction of production expr -> cond_expr ## interactive_expr: LPAR Verbatim COLON Ident VBAR ## -## Ends in an error in state: 357. +## Ends in an error in state: 363. ## ## 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 ] ## @@ -1473,14 +1536,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 356, spurious reduction of production annot_expr -> disj_expr COLON type_expr +## In state 362, spurious reduction of production annot_expr -> disj_expr COLON type_expr ## interactive_expr: LPAR Verbatim COLON With ## -## Ends in an error in state: 355. +## Ends in an error in state: 361. ## ## annot_expr -> disj_expr COLON . type_expr [ RPAR ] ## @@ -1492,7 +1555,7 @@ interactive_expr: LPAR Verbatim COLON With interactive_expr: LPAR Verbatim COMMA With ## -## Ends in an error in state: 352. +## Ends in an error in state: 358. ## ## tuple_comp -> expr COMMA . nsepseq(expr,COMMA) [ RPAR ] ## @@ -1504,7 +1567,7 @@ interactive_expr: LPAR Verbatim COMMA With interactive_expr: LPAR Verbatim VBAR ## -## Ends in an error in state: 354. +## Ends in an error in state: 360. ## ## annot_expr -> disj_expr . COLON type_expr [ RPAR ] ## disj_expr -> disj_expr . Or conj_expr [ RPAR Or COMMA COLON ] @@ -1517,15 +1580,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr ## @@ -1546,7 +1609,7 @@ interactive_expr: LPAR With interactive_expr: List LBRACKET Verbatim End ## -## Ends in an error in state: 361. +## Ends in an error in state: 367. ## ## 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 ] ## @@ -1557,25 +1620,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## interactive_expr: List LBRACKET With ## -## Ends in an error in state: 359. +## Ends in an error in state: 365. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH SEMI PLUS Or NE Mod MINUS LT LE GT GE End EQ Contains CONS CAT And ] ## 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 ] @@ -1589,7 +1652,7 @@ interactive_expr: List LBRACKET With interactive_expr: List Verbatim RBRACKET ## -## Ends in an error in state: 373. +## Ends in an error in state: 379. ## ## 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 ] ## @@ -1600,18 +1663,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## @@ -1645,7 +1708,7 @@ interactive_expr: MINUS With interactive_expr: Map LBRACKET Verbatim ARROW Bytes End ## -## Ends in an error in state: 378. +## Ends in an error in state: 384. ## ## 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 ] ## @@ -1656,26 +1719,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## interactive_expr: Map LBRACKET With ## -## Ends in an error in state: 376. +## Ends in an error in state: 382. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH PLUS Or NE Mod MINUS LT LE GT GE EQ Contains CONS CAT And ARROW ] ## 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 ] @@ -1689,7 +1752,7 @@ interactive_expr: Map LBRACKET With interactive_expr: Map Verbatim ARROW Bytes RBRACKET ## -## Ends in an error in state: 381. +## Ends in an error in state: 387. ## ## 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 ] ## @@ -1700,26 +1763,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, 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: 254. +## Ends in an error in state: 258. ## ## nsepseq(binding,SEMI) -> binding SEMI . nsepseq(binding,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(binding,SEMI)) -> binding SEMI . seq(__anonymous_0(binding,SEMI)) [ RBRACKET End ] @@ -1732,7 +1795,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: 253. +## Ends in an error in state: 257. ## ## nsepseq(binding,SEMI) -> binding . [ RBRACKET End ] ## nsepseq(binding,SEMI) -> binding . SEMI nsepseq(binding,SEMI) [ RBRACKET End ] @@ -1745,24 +1808,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr ## interactive_expr: Map Verbatim ARROW Bytes SEMI With ## -## Ends in an error in state: 250. +## Ends in an error in state: 254. ## ## nsepseq(binding,SEMI) -> binding SEMI . nsepseq(binding,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(binding,SEMI)) -> binding SEMI . seq(__anonymous_0(binding,SEMI)) [ RBRACKET End ] @@ -1775,7 +1838,7 @@ interactive_expr: Map Verbatim ARROW Bytes SEMI With interactive_expr: Map Verbatim ARROW Bytes VBAR ## -## Ends in an error in state: 249. +## Ends in an error in state: 253. ## ## nsepseq(binding,SEMI) -> binding . [ RBRACKET End ] ## nsepseq(binding,SEMI) -> binding . SEMI nsepseq(binding,SEMI) [ RBRACKET End ] @@ -1788,24 +1851,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr ## interactive_expr: Map Verbatim ARROW With ## -## Ends in an error in state: 247. +## Ends in an error in state: 251. ## ## binding -> expr ARROW . expr [ SEMI RBRACKET End ] ## @@ -1817,7 +1880,7 @@ interactive_expr: Map Verbatim ARROW With interactive_expr: Map Verbatim VBAR ## -## Ends in an error in state: 246. +## Ends in an error in state: 250. ## ## binding -> expr . ARROW expr [ SEMI RBRACKET End ] ## @@ -1828,16 +1891,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## @@ -1859,7 +1922,7 @@ interactive_expr: Map With interactive_expr: Not Bytes With ## -## Ends in an error in state: 172. +## Ends in an error in state: 175. ## ## 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 ] @@ -1886,7 +1949,7 @@ interactive_expr: Not With interactive_expr: Record Ident EQ Bytes RBRACKET ## -## Ends in an error in state: 396. +## Ends in an error in state: 402. ## ## 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 ] ## @@ -1897,26 +1960,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr +## In state 395, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 394, 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: 394. +## Ends in an error in state: 400. ## ## 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 ] @@ -1929,7 +1992,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: 393. +## Ends in an error in state: 399. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACKET End ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACKET End ] @@ -1942,24 +2005,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr ## interactive_expr: Record Ident EQ Bytes SEMI With ## -## Ends in an error in state: 390. +## Ends in an error in state: 396. ## ## 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 ] @@ -1972,7 +2035,7 @@ interactive_expr: Record Ident EQ Bytes SEMI With interactive_expr: Record Ident EQ Bytes VBAR ## -## Ends in an error in state: 389. +## Ends in an error in state: 395. ## ## nsepseq(field_assignment,SEMI) -> field_assignment . [ RBRACKET End ] ## nsepseq(field_assignment,SEMI) -> field_assignment . SEMI nsepseq(field_assignment,SEMI) [ RBRACKET End ] @@ -1985,17 +2048,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr ## @@ -2026,7 +2089,7 @@ interactive_expr: Record Ident With interactive_expr: Record LBRACKET Ident EQ Bytes End ## -## Ends in an error in state: 385. +## Ends in an error in state: 391. ## ## 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 ] ## @@ -2037,19 +2100,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr +## In state 395, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 394, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## @@ -2081,7 +2144,7 @@ interactive_expr: Record With interactive_expr: Set LBRACKET Verbatim End ## -## Ends in an error in state: 400. +## Ends in an error in state: 406. ## ## 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 ] ## @@ -2092,25 +2155,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## interactive_expr: Set LBRACKET With ## -## Ends in an error in state: 398. +## Ends in an error in state: 404. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH SEMI PLUS Or NE Mod MINUS LT LE GT GE End EQ Contains CONS CAT And ] ## 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 ] @@ -2124,7 +2187,7 @@ interactive_expr: Set LBRACKET With interactive_expr: Set Verbatim RBRACKET ## -## Ends in an error in state: 403. +## Ends in an error in state: 409. ## ## 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 ] ## @@ -2135,25 +2198,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, 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: 370. +## Ends in an error in state: 376. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] @@ -2166,7 +2229,7 @@ interactive_expr: Set Verbatim SEMI Verbatim SEMI With interactive_expr: Set Verbatim SEMI Verbatim VBAR ## -## Ends in an error in state: 369. +## Ends in an error in state: 375. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] @@ -2179,23 +2242,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: Set Verbatim SEMI With ## -## Ends in an error in state: 366. +## Ends in an error in state: 372. ## ## nsepseq(expr,SEMI) -> expr SEMI . nsepseq(expr,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(expr,SEMI)) -> expr SEMI . seq(__anonymous_0(expr,SEMI)) [ RBRACKET End ] @@ -2208,7 +2271,7 @@ interactive_expr: Set Verbatim SEMI With interactive_expr: Set Verbatim VBAR ## -## Ends in an error in state: 365. +## Ends in an error in state: 371. ## ## nsepseq(expr,SEMI) -> expr . [ RBRACKET End ] ## nsepseq(expr,SEMI) -> expr . SEMI nsepseq(expr,SEMI) [ RBRACKET End ] @@ -2221,16 +2284,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## @@ -2252,7 +2315,7 @@ interactive_expr: Set With interactive_expr: Verbatim And With ## -## Ends in an error in state: 223. +## Ends in an error in state: 227. ## ## 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 ] ## @@ -2264,7 +2327,7 @@ interactive_expr: Verbatim And With interactive_expr: Verbatim CAT With ## -## Ends in an error in state: 199. +## Ends in an error in state: 203. ## ## 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 ] ## @@ -2276,7 +2339,7 @@ interactive_expr: Verbatim CAT With interactive_expr: Verbatim COLON ## -## Ends in an error in state: 193. +## Ends in an error in state: 197. ## ## 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 ] @@ -2288,22 +2351,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr ## interactive_expr: Verbatim CONS With ## -## Ends in an error in state: 206. +## Ends in an error in state: 210. ## ## 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 ] ## @@ -2315,7 +2378,7 @@ interactive_expr: Verbatim CONS With interactive_expr: Verbatim Contains With ## -## Ends in an error in state: 196. +## Ends in an error in state: 200. ## ## 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 ] ## @@ -2327,7 +2390,7 @@ interactive_expr: Verbatim Contains With interactive_expr: Verbatim EQ With ## -## Ends in an error in state: 219. +## Ends in an error in state: 223. ## ## 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 ] ## @@ -2339,7 +2402,7 @@ interactive_expr: Verbatim EQ With interactive_expr: Verbatim GE With ## -## Ends in an error in state: 217. +## Ends in an error in state: 221. ## ## 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 ] ## @@ -2351,7 +2414,7 @@ interactive_expr: Verbatim GE With interactive_expr: Verbatim GT With ## -## Ends in an error in state: 215. +## Ends in an error in state: 219. ## ## 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 ] ## @@ -2363,7 +2426,7 @@ interactive_expr: Verbatim GT With interactive_expr: Verbatim LE With ## -## Ends in an error in state: 213. +## Ends in an error in state: 217. ## ## 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 ] ## @@ -2375,7 +2438,7 @@ interactive_expr: Verbatim LE With interactive_expr: Verbatim LT With ## -## Ends in an error in state: 211. +## Ends in an error in state: 215. ## ## 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 ] ## @@ -2387,7 +2450,7 @@ interactive_expr: Verbatim LT With interactive_expr: Verbatim MINUS Verbatim With ## -## Ends in an error in state: 205. +## Ends in an error in state: 209. ## ## 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 ] @@ -2402,7 +2465,7 @@ interactive_expr: Verbatim MINUS Verbatim With interactive_expr: Verbatim MINUS With ## -## Ends in an error in state: 204. +## Ends in an error in state: 208. ## ## 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 ] ## @@ -2414,7 +2477,7 @@ interactive_expr: Verbatim MINUS With interactive_expr: Verbatim Mod With ## -## Ends in an error in state: 189. +## Ends in an error in state: 193. ## ## 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 ] ## @@ -2426,7 +2489,7 @@ interactive_expr: Verbatim Mod With interactive_expr: Verbatim NE With ## -## Ends in an error in state: 209. +## Ends in an error in state: 213. ## ## 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 ] ## @@ -2438,7 +2501,7 @@ interactive_expr: Verbatim NE With interactive_expr: Verbatim Or With ## -## Ends in an error in state: 194. +## Ends in an error in state: 198. ## ## 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 ] ## @@ -2450,7 +2513,7 @@ interactive_expr: Verbatim Or With interactive_expr: Verbatim PLUS Verbatim With ## -## Ends in an error in state: 203. +## Ends in an error in state: 207. ## ## 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 ] @@ -2465,7 +2528,7 @@ interactive_expr: Verbatim PLUS Verbatim With interactive_expr: Verbatim PLUS With ## -## Ends in an error in state: 202. +## Ends in an error in state: 206. ## ## 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 ] ## @@ -2477,7 +2540,7 @@ interactive_expr: Verbatim PLUS With interactive_expr: Verbatim SLASH With ## -## Ends in an error in state: 187. +## Ends in an error in state: 191. ## ## 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 ] ## @@ -2489,7 +2552,7 @@ interactive_expr: Verbatim SLASH With interactive_expr: Verbatim TIMES With ## -## Ends in an error in state: 173. +## Ends in an error in state: 176. ## ## 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 ] ## @@ -2501,7 +2564,7 @@ interactive_expr: Verbatim TIMES With interactive_expr: Verbatim VBAR ## -## Ends in an error in state: 600. +## Ends in an error in state: 606. ## ## interactive_expr -> expr . EOF [ # ] ## @@ -2512,23 +2575,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## interactive_expr: Verbatim With ## -## Ends in an error in state: 195. +## Ends in an error in state: 199. ## ## 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 ] @@ -2541,7 +2604,7 @@ interactive_expr: Verbatim With interactive_expr: With ## -## Ends in an error in state: 598. +## Ends in an error in state: 604. ## ## interactive_expr' -> . interactive_expr [ # ] ## @@ -2553,7 +2616,7 @@ interactive_expr: With contract: Attributes LBRACKET String End ## -## Ends in an error in state: 544. +## Ends in an error in state: 550. ## ## ne_injection(Attributes,String) -> Attributes LBRACKET sep_or_term_list(String,SEMI) . RBRACKET [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2564,15 +2627,15 @@ contract: Attributes LBRACKET String 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 536, spurious reduction of production nsepseq(String,SEMI) -> String -## In state 547, spurious reduction of production sep_or_term_list(String,SEMI) -> nsepseq(String,SEMI) +## In state 542, spurious reduction of production nsepseq(String,SEMI) -> String +## In state 553, spurious reduction of production sep_or_term_list(String,SEMI) -> nsepseq(String,SEMI) ## contract: Attributes LBRACKET With ## -## Ends in an error in state: 543. +## Ends in an error in state: 549. ## ## ne_injection(Attributes,String) -> Attributes LBRACKET . sep_or_term_list(String,SEMI) RBRACKET [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2584,7 +2647,7 @@ contract: Attributes LBRACKET With contract: Attributes String End Attributes String End SEMI With ## -## Ends in an error in state: 593. +## Ends in an error in state: 599. ## ## seq(declaration) -> declaration . seq(declaration) [ EOF ] ## @@ -2596,7 +2659,7 @@ contract: Attributes String End Attributes String End SEMI With contract: Attributes String End SEMI With ## -## Ends in an error in state: 591. +## Ends in an error in state: 597. ## ## nseq(declaration) -> declaration . seq(declaration) [ EOF ] ## @@ -2608,7 +2671,7 @@ contract: Attributes String End SEMI With contract: Attributes String End With ## -## Ends in an error in state: 586. +## Ends in an error in state: 592. ## ## attr_decl -> open_attr_decl . option(SEMI) [ Type Recursive Function EOF Const Attributes ] ## @@ -2620,7 +2683,7 @@ contract: Attributes String End With contract: Attributes String RBRACKET ## -## Ends in an error in state: 548. +## Ends in an error in state: 554. ## ## ne_injection(Attributes,String) -> Attributes sep_or_term_list(String,SEMI) . End [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2631,15 +2694,15 @@ contract: Attributes String 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 536, spurious reduction of production nsepseq(String,SEMI) -> String -## In state 547, spurious reduction of production sep_or_term_list(String,SEMI) -> nsepseq(String,SEMI) +## In state 542, spurious reduction of production nsepseq(String,SEMI) -> String +## In state 553, spurious reduction of production sep_or_term_list(String,SEMI) -> nsepseq(String,SEMI) ## contract: Attributes String SEMI String SEMI With ## -## Ends in an error in state: 539. +## Ends in an error in state: 545. ## ## nsepseq(String,SEMI) -> String SEMI . nsepseq(String,SEMI) [ RBRACKET End ] ## seq(__anonymous_0(String,SEMI)) -> String SEMI . seq(__anonymous_0(String,SEMI)) [ RBRACKET End ] @@ -2652,7 +2715,7 @@ contract: Attributes String SEMI String SEMI With contract: Attributes String SEMI String With ## -## Ends in an error in state: 538. +## Ends in an error in state: 544. ## ## nsepseq(String,SEMI) -> String . [ RBRACKET End ] ## nsepseq(String,SEMI) -> String . SEMI nsepseq(String,SEMI) [ RBRACKET End ] @@ -2666,7 +2729,7 @@ contract: Attributes String SEMI String With contract: Attributes String SEMI With ## -## Ends in an error in state: 537. +## Ends in an error in state: 543. ## ## nsepseq(String,SEMI) -> String SEMI . nsepseq(String,SEMI) [ RBRACKET End ] ## nseq(__anonymous_0(String,SEMI)) -> String SEMI . seq(__anonymous_0(String,SEMI)) [ RBRACKET End ] @@ -2679,7 +2742,7 @@ contract: Attributes String SEMI With contract: Attributes String With ## -## Ends in an error in state: 536. +## Ends in an error in state: 542. ## ## nsepseq(String,SEMI) -> String . [ RBRACKET End ] ## nsepseq(String,SEMI) -> String . SEMI nsepseq(String,SEMI) [ RBRACKET End ] @@ -2693,7 +2756,7 @@ contract: Attributes String With contract: Attributes With ## -## Ends in an error in state: 535. +## Ends in an error in state: 541. ## ## ne_injection(Attributes,String) -> Attributes . sep_or_term_list(String,SEMI) End [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## ne_injection(Attributes,String) -> Attributes . LBRACKET sep_or_term_list(String,SEMI) RBRACKET [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -2706,7 +2769,7 @@ contract: Attributes With contract: Const Ident COLON Ident EQ Bytes VBAR ## -## Ends in an error in state: 584. +## Ends in an error in state: 590. ## ## const_decl -> open_const_decl . option(SEMI) [ Type Recursive Function EOF Const Attributes ] ## @@ -2717,25 +2780,25 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 498, spurious reduction of production unqualified_decl(EQ) -> Ident COLON type_expr EQ expr +## In state 499, spurious reduction of production open_const_decl -> Const unqualified_decl(EQ) ## contract: Const Ident COLON String EQ With ## -## Ends in an error in state: 491. +## Ends in an error in state: 497. ## ## unqualified_decl(EQ) -> Ident COLON type_expr EQ . expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2747,7 +2810,7 @@ contract: Const Ident COLON String EQ With contract: Const Ident COLON String VBAR ## -## Ends in an error in state: 490. +## Ends in an error in state: 496. ## ## unqualified_decl(EQ) -> Ident COLON type_expr . EQ expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2767,7 +2830,7 @@ contract: Const Ident COLON String VBAR contract: Const Ident COLON With ## -## Ends in an error in state: 489. +## Ends in an error in state: 495. ## ## unqualified_decl(EQ) -> Ident COLON . type_expr EQ expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2779,7 +2842,7 @@ contract: Const Ident COLON With contract: Const Ident With ## -## Ends in an error in state: 488. +## Ends in an error in state: 494. ## ## unqualified_decl(EQ) -> Ident . COLON type_expr EQ expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2791,7 +2854,7 @@ contract: Const Ident With contract: Const With ## -## Ends in an error in state: 487. +## Ends in an error in state: 493. ## ## open_const_decl -> Const . unqualified_decl(EQ) [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -2803,7 +2866,7 @@ contract: Const With contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON Ident Is Bytes VBAR ## -## Ends in an error in state: 582. +## Ends in an error in state: 588. ## ## fun_decl -> open_fun_decl . option(SEMI) [ Type Recursive Function EOF Const Attributes ] ## @@ -2814,24 +2877,24 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 466, spurious reduction of production open_fun_decl -> Function Ident parameters COLON type_expr Is expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Case Verbatim Of LBRACKET VBAR Block ## -## Ends in an error in state: 498. +## Ends in an error in state: 504. ## ## case(if_clause) -> Case expr Of LBRACKET option(VBAR) . cases(if_clause) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -2843,7 +2906,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 Case Verbatim Of LBRACKET WILD ARROW Skip End ## -## Ends in an error in state: 527. +## Ends in an error in state: 533. ## ## case(if_clause) -> Case expr Of LBRACKET option(VBAR) cases(if_clause) . RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -2854,15 +2917,15 @@ 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 529, spurious reduction of production nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) -## In state 526, spurious reduction of production cases(if_clause) -> nsepseq(case_clause(if_clause),VBAR) +## In state 535, spurious reduction of production nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) +## In state 532, spurious reduction of production cases(if_clause) -> nsepseq(case_clause(if_clause),VBAR) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Case Verbatim Of LBRACKET With ## -## Ends in an error in state: 497. +## Ends in an error in state: 503. ## ## case(if_clause) -> Case expr Of LBRACKET . option(VBAR) cases(if_clause) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -2874,7 +2937,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 Case Verbatim Of VBAR Block ## -## Ends in an error in state: 532. +## Ends in an error in state: 538. ## ## case(if_clause) -> Case expr Of option(VBAR) . cases(if_clause) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -2886,7 +2949,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 Case Verbatim Of WILD ARROW Skip RBRACKET ## -## Ends in an error in state: 533. +## Ends in an error in state: 539. ## ## case(if_clause) -> Case expr Of option(VBAR) cases(if_clause) . End [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -2897,15 +2960,15 @@ 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 529, spurious reduction of production nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) -## In state 526, spurious reduction of production cases(if_clause) -> nsepseq(case_clause(if_clause),VBAR) +## In state 535, spurious reduction of production nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) +## In state 532, spurious reduction of production cases(if_clause) -> nsepseq(case_clause(if_clause),VBAR) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Case Verbatim Of WILD ARROW Skip VBAR With ## -## Ends in an error in state: 530. +## Ends in an error in state: 536. ## ## nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) VBAR . nsepseq(case_clause(if_clause),VBAR) [ RBRACKET End ] ## @@ -2917,7 +2980,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 Case Verbatim Of WILD ARROW Skip With ## -## Ends in an error in state: 529. +## Ends in an error in state: 535. ## ## nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) . [ RBRACKET End ] ## nsepseq(case_clause(if_clause),VBAR) -> case_clause(if_clause) . VBAR nsepseq(case_clause(if_clause),VBAR) [ RBRACKET End ] @@ -2930,7 +2993,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 Case Verbatim Of WILD ARROW With ## -## Ends in an error in state: 500. +## Ends in an error in state: 506. ## ## case_clause(if_clause) -> pattern ARROW . if_clause [ VBAR RBRACKET End ] ## @@ -2942,7 +3005,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 Case Verbatim Of WILD RPAR ## -## Ends in an error in state: 499. +## Ends in an error in state: 505. ## ## case_clause(if_clause) -> pattern . ARROW if_clause [ VBAR RBRACKET End ] ## @@ -2953,14 +3016,14 @@ 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 298, spurious reduction of production pattern -> core_pattern +## In state 302, spurious reduction of production pattern -> core_pattern ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Case Verbatim Of With ## -## Ends in an error in state: 496. +## Ends in an error in state: 502. ## ## case(if_clause) -> Case expr Of . option(VBAR) cases(if_clause) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## case(if_clause) -> Case expr Of . LBRACKET option(VBAR) cases(if_clause) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -2973,7 +3036,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 Case Verbatim VBAR ## -## Ends in an error in state: 495. +## Ends in an error in state: 501. ## ## case(if_clause) -> Case expr . Of option(VBAR) cases(if_clause) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## case(if_clause) -> Case expr . Of LBRACKET option(VBAR) cases(if_clause) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -2985,23 +3048,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Case With ## -## Ends in an error in state: 494. +## Ends in an error in state: 500. ## ## case(if_clause) -> Case . expr Of option(VBAR) cases(if_clause) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## case(if_clause) -> Case . expr Of LBRACKET option(VBAR) cases(if_clause) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3014,7 +3077,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 Constr DOT And With ## -## Ends in an error in state: 507. +## Ends in an error in state: 513. ## ## fun_call -> module_field . arguments [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3026,7 +3089,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 Constr With ## -## Ends in an error in state: 486. +## Ends in an error in state: 492. ## ## module_field -> Constr . DOT module_fun [ LPAR ] ## projection -> Constr . DOT Ident DOT nsepseq(selection,DOT) [ LBRACKET ASS ] @@ -3039,7 +3102,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 For Ident ARROW Ident With ## -## Ends in an error in state: 470. +## Ends in an error in state: 476. ## ## for_loop -> For Ident option(arrow_clause) . In collection expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3051,7 +3114,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 For Ident ARROW With ## -## Ends in an error in state: 468. +## Ends in an error in state: 474. ## ## arrow_clause -> ARROW . Ident [ In ] ## @@ -3063,7 +3126,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 For Ident ASS Bytes To Verbatim Step Verbatim VBAR ## -## Ends in an error in state: 483. +## Ends in an error in state: 489. ## ## for_loop -> For var_assign To expr Step expr . block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3074,23 +3137,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin For Ident ASS Bytes To Verbatim Step With ## -## Ends in an error in state: 482. +## Ends in an error in state: 488. ## ## for_loop -> For var_assign To expr Step . expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3102,7 +3165,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 For Ident ASS Bytes To Verbatim VBAR ## -## Ends in an error in state: 481. +## Ends in an error in state: 487. ## ## for_loop -> For var_assign To expr . block [ VBAR SEMI RBRACKET RBRACE End Else ] ## for_loop -> For var_assign To expr . Step expr block [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3114,23 +3177,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin For Ident ASS Bytes To With ## -## Ends in an error in state: 480. +## Ends in an error in state: 486. ## ## for_loop -> For var_assign To . expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## for_loop -> For var_assign To . expr Step expr block [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3143,7 +3206,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 For Ident ASS Bytes VBAR ## -## Ends in an error in state: 479. +## Ends in an error in state: 485. ## ## for_loop -> For var_assign . To expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## for_loop -> For var_assign . To expr Step expr block [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3155,24 +3218,24 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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 +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 473, spurious reduction of production var_assign -> Ident ASS expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin For Ident ASS With ## -## Ends in an error in state: 466. +## Ends in an error in state: 472. ## ## var_assign -> Ident ASS . expr [ To ] ## @@ -3184,7 +3247,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 For Ident In Set Verbatim VBAR ## -## Ends in an error in state: 476. +## Ends in an error in state: 482. ## ## for_loop -> For Ident option(arrow_clause) In collection expr . block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3195,23 +3258,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin For Ident In Set With ## -## Ends in an error in state: 475. +## Ends in an error in state: 481. ## ## for_loop -> For Ident option(arrow_clause) In collection . expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3223,7 +3286,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 For Ident In With ## -## Ends in an error in state: 471. +## Ends in an error in state: 477. ## ## for_loop -> For Ident option(arrow_clause) In . collection expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3235,7 +3298,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 For Ident With ## -## Ends in an error in state: 465. +## Ends in an error in state: 471. ## ## for_loop -> For Ident . option(arrow_clause) In collection expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## var_assign -> Ident . ASS expr [ To ] @@ -3248,7 +3311,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 For With ## -## Ends in an error in state: 464. +## Ends in an error in state: 470. ## ## for_loop -> For . var_assign To expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## for_loop -> For . var_assign To expr Step expr block [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3262,7 +3325,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 Ident ASS With ## -## Ends in an error in state: 513. +## Ends in an error in state: 519. ## ## assignment -> lhs ASS . rhs [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3274,7 +3337,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 Ident DOT Ident With ## -## Ends in an error in state: 506. +## Ends in an error in state: 512. ## ## lhs -> path . [ ASS ] ## map_lookup -> path . brackets(expr) [ ASS ] @@ -3286,16 +3349,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 126, spurious reduction of production nsepseq(selection,DOT) -> selection -## In state 159, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) -## In state 165, spurious reduction of production path -> projection +## In state 129, spurious reduction of production nsepseq(selection,DOT) -> selection +## In state 162, spurious reduction of production projection -> Ident DOT nsepseq(selection,DOT) +## In state 168, spurious reduction of production path -> projection ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Ident LBRACKET Bytes RBRACKET With ## -## Ends in an error in state: 512. +## Ends in an error in state: 518. ## ## assignment -> lhs . ASS rhs [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3307,7 +3370,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 Ident With ## -## Ends in an error in state: 453. +## Ends in an error in state: 459. ## ## fun_call -> Ident . arguments [ VBAR SEMI RBRACKET RBRACE End Else ] ## path -> Ident . [ LBRACKET ASS ] @@ -3321,7 +3384,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 If Verbatim Then LBRACE Skip End ## -## Ends in an error in state: 564. +## Ends in an error in state: 570. ## ## clause_block -> LBRACE sep_or_term_list(statement,SEMI) . RBRACE [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3332,15 +3395,15 @@ 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 550, spurious reduction of production nsepseq(statement,SEMI) -> statement -## In state 567, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) +## In state 556, spurious reduction of production nsepseq(statement,SEMI) -> statement +## In state 573, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin If Verbatim Then LBRACE With ## -## Ends in an error in state: 452. +## Ends in an error in state: 458. ## ## clause_block -> LBRACE . sep_or_term_list(statement,SEMI) RBRACE [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3352,7 +3415,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 If Verbatim Then Skip Else With ## -## Ends in an error in state: 570. +## Ends in an error in state: 576. ## ## conditional -> If expr Then if_clause option(SEMI) Else . if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3364,7 +3427,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 If Verbatim Then Skip SEMI EQ ## -## Ends in an error in state: 569. +## Ends in an error in state: 575. ## ## conditional -> If expr Then if_clause option(SEMI) . Else if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3376,7 +3439,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 If Verbatim Then Skip With ## -## Ends in an error in state: 568. +## Ends in an error in state: 574. ## ## conditional -> If expr Then if_clause . option(SEMI) Else if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3388,7 +3451,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 If Verbatim Then With ## -## Ends in an error in state: 451. +## Ends in an error in state: 457. ## ## conditional -> If expr Then . if_clause option(SEMI) Else if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3400,7 +3463,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 If Verbatim VBAR ## -## Ends in an error in state: 450. +## Ends in an error in state: 456. ## ## conditional -> If expr . Then if_clause option(SEMI) Else if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3411,23 +3474,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin If With ## -## Ends in an error in state: 449. +## Ends in an error in state: 455. ## ## conditional -> If . expr Then if_clause option(SEMI) Else if_clause [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3439,7 +3502,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 Patch Ident VBAR ## -## Ends in an error in state: 426. +## Ends in an error in state: 432. ## ## map_patch -> Patch path . With ne_injection(Map,binding) [ VBAR SEMI RBRACKET RBRACE End Else ] ## record_patch -> Patch path . With ne_injection(Record,field_assignment) [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3452,14 +3515,14 @@ 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 157, spurious reduction of production path -> Ident +## In state 160, spurious reduction of production path -> Ident ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Map LBRACKET Verbatim ARROW Bytes End ## -## Ends in an error in state: 442. +## Ends in an error in state: 448. ## ## ne_injection(Map,binding) -> Map LBRACKET sep_or_term_list(binding,SEMI) . RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3470,26 +3533,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Map LBRACKET With ## -## Ends in an error in state: 441. +## Ends in an error in state: 447. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH PLUS Or NE Mod MINUS LT LE GT GE EQ Contains CONS CAT And ARROW ] ## ne_injection(Map,binding) -> Map LBRACKET . sep_or_term_list(binding,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3502,7 +3565,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 Patch Ident With Map Verbatim ARROW Bytes RBRACKET ## -## Ends in an error in state: 444. +## Ends in an error in state: 450. ## ## ne_injection(Map,binding) -> Map sep_or_term_list(binding,SEMI) . End [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3513,26 +3576,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 252, spurious reduction of production binding -> expr ARROW expr +## In state 253, spurious reduction of production nsepseq(binding,SEMI) -> binding +## In state 249, spurious reduction of production sep_or_term_list(binding,SEMI) -> nsepseq(binding,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Map With ## -## Ends in an error in state: 440. +## Ends in an error in state: 446. ## ## ne_injection(Map,binding) -> Map . sep_or_term_list(binding,SEMI) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## ne_injection(Map,binding) -> Map . LBRACKET sep_or_term_list(binding,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3545,7 +3608,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 Patch Ident With Record Ident EQ Bytes RBRACKET ## -## Ends in an error in state: 438. +## Ends in an error in state: 444. ## ## ne_injection(Record,field_assignment) -> Record sep_or_term_list(field_assignment,SEMI) . End [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3556,26 +3619,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr +## In state 395, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 394, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Record LBRACKET Ident EQ Bytes End ## -## Ends in an error in state: 436. +## Ends in an error in state: 442. ## ## ne_injection(Record,field_assignment) -> Record LBRACKET sep_or_term_list(field_assignment,SEMI) . RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3586,26 +3649,26 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 390, spurious reduction of production field_assignment -> Ident EQ expr +## In state 395, spurious reduction of production nsepseq(field_assignment,SEMI) -> field_assignment +## In state 394, spurious reduction of production sep_or_term_list(field_assignment,SEMI) -> nsepseq(field_assignment,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Record LBRACKET With ## -## Ends in an error in state: 435. +## Ends in an error in state: 441. ## ## ne_injection(Record,field_assignment) -> Record LBRACKET . sep_or_term_list(field_assignment,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3617,7 +3680,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 Patch Ident With Record With ## -## Ends in an error in state: 434. +## Ends in an error in state: 440. ## ## ne_injection(Record,field_assignment) -> Record . sep_or_term_list(field_assignment,SEMI) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## ne_injection(Record,field_assignment) -> Record . LBRACKET sep_or_term_list(field_assignment,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3630,7 +3693,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 Patch Ident With Set LBRACKET Verbatim End ## -## Ends in an error in state: 430. +## Ends in an error in state: 436. ## ## ne_injection(Set,expr) -> Set LBRACKET sep_or_term_list(expr,SEMI) . RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3641,25 +3704,25 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Set LBRACKET With ## -## Ends in an error in state: 429. +## Ends in an error in state: 435. ## ## code_insert_expr -> LBRACKET . PERCENT Constr expr RBRACKET [ TIMES SLASH SEMI PLUS Or NE Mod MINUS LT LE GT GE End EQ Contains CONS CAT And ] ## ne_injection(Set,expr) -> Set LBRACKET . sep_or_term_list(expr,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3672,7 +3735,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 Patch Ident With Set Verbatim RBRACKET ## -## Ends in an error in state: 432. +## Ends in an error in state: 438. ## ## ne_injection(Set,expr) -> Set sep_or_term_list(expr,SEMI) . End [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3683,25 +3746,25 @@ 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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 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) +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, spurious reduction of production expr -> disj_expr +## In state 371, spurious reduction of production nsepseq(expr,SEMI) -> expr +## In state 370, spurious reduction of production sep_or_term_list(expr,SEMI) -> nsepseq(expr,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Patch Ident With Set With ## -## Ends in an error in state: 428. +## Ends in an error in state: 434. ## ## ne_injection(Set,expr) -> Set . sep_or_term_list(expr,SEMI) End [ VBAR SEMI RBRACKET RBRACE End Else ] ## ne_injection(Set,expr) -> Set . LBRACKET sep_or_term_list(expr,SEMI) RBRACKET [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3714,7 +3777,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 Patch Ident With With ## -## Ends in an error in state: 427. +## Ends in an error in state: 433. ## ## map_patch -> Patch path With . ne_injection(Map,binding) [ VBAR SEMI RBRACKET RBRACE End Else ] ## record_patch -> Patch path With . ne_injection(Record,field_assignment) [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3728,7 +3791,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 Patch With ## -## Ends in an error in state: 425. +## Ends in an error in state: 431. ## ## map_patch -> Patch . path With ne_injection(Map,binding) [ VBAR SEMI RBRACKET RBRACE End Else ] ## record_patch -> Patch . path With ne_injection(Record,field_assignment) [ VBAR SEMI RBRACKET RBRACE End Else ] @@ -3742,7 +3805,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 Map With ## -## Ends in an error in state: 423. +## Ends in an error in state: 429. ## ## map_remove -> Remove expr From Map . path [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3754,7 +3817,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: 421. +## Ends in an error in state: 427. ## ## set_remove -> Remove expr From Set . path [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3766,7 +3829,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: 420. +## Ends in an error in state: 426. ## ## 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 ] @@ -3779,7 +3842,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: 419. +## Ends in an error in state: 425. ## ## 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 ] @@ -3791,23 +3854,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, 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: 418. +## Ends in an error in state: 424. ## ## 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 ] @@ -3820,7 +3883,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 Skip End While ## -## Ends in an error in state: 461. +## Ends in an error in state: 467. ## ## open_fun_decl -> Function Ident parameters COLON type_expr Is block . With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -3832,7 +3895,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 Skip End With With ## -## Ends in an error in state: 462. +## Ends in an error in state: 468. ## ## open_fun_decl -> Function Ident parameters COLON type_expr Is block With . expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -3844,7 +3907,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 Skip RBRACE ## -## Ends in an error in state: 572. +## Ends in an error in state: 578. ## ## block -> Begin sep_or_term_list(statement,SEMI) . End [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3855,15 +3918,15 @@ 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 550, spurious reduction of production nsepseq(statement,SEMI) -> statement -## In state 567, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) +## In state 556, spurious reduction of production nsepseq(statement,SEMI) -> statement +## In state 573, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Skip SEMI Skip SEMI With ## -## Ends in an error in state: 553. +## Ends in an error in state: 559. ## ## nsepseq(statement,SEMI) -> statement SEMI . nsepseq(statement,SEMI) [ RBRACE End ] ## seq(__anonymous_0(statement,SEMI)) -> statement SEMI . seq(__anonymous_0(statement,SEMI)) [ RBRACE End ] @@ -3876,7 +3939,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 Skip SEMI Skip With ## -## Ends in an error in state: 552. +## Ends in an error in state: 558. ## ## nsepseq(statement,SEMI) -> statement . [ RBRACE End ] ## nsepseq(statement,SEMI) -> statement . SEMI nsepseq(statement,SEMI) [ RBRACE End ] @@ -3890,7 +3953,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 Skip SEMI With ## -## Ends in an error in state: 551. +## Ends in an error in state: 557. ## ## nsepseq(statement,SEMI) -> statement SEMI . nsepseq(statement,SEMI) [ RBRACE End ] ## nseq(__anonymous_0(statement,SEMI)) -> statement SEMI . seq(__anonymous_0(statement,SEMI)) [ RBRACE End ] @@ -3903,7 +3966,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 Skip With ## -## Ends in an error in state: 550. +## Ends in an error in state: 556. ## ## nsepseq(statement,SEMI) -> statement . [ RBRACE End ] ## nsepseq(statement,SEMI) -> statement . SEMI nsepseq(statement,SEMI) [ RBRACE End ] @@ -3917,7 +3980,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: 414. +## Ends in an error in state: 420. ## ## unqualified_decl(ASS) -> Ident COLON type_expr ASS . expr [ SEMI RBRACE End ] ## @@ -3929,7 +3992,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: 413. +## Ends in an error in state: 419. ## ## unqualified_decl(ASS) -> Ident COLON type_expr . ASS expr [ SEMI RBRACE End ] ## @@ -3949,7 +4012,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: 412. +## Ends in an error in state: 418. ## ## unqualified_decl(ASS) -> Ident COLON . type_expr ASS expr [ SEMI RBRACE End ] ## @@ -3961,7 +4024,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: 411. +## Ends in an error in state: 417. ## ## unqualified_decl(ASS) -> Ident . COLON type_expr ASS expr [ SEMI RBRACE End ] ## @@ -3973,7 +4036,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: 410. +## Ends in an error in state: 416. ## ## open_var_decl -> Var . unqualified_decl(ASS) [ SEMI RBRACE End ] ## @@ -3985,7 +4048,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: 408. +## Ends in an error in state: 414. ## ## while_loop -> While expr . block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -3996,23 +4059,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 195, spurious reduction of production unary_expr -> core_expr -## In state 143, spurious reduction of production mult_expr -> unary_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 225, spurious reduction of production disj_expr -> conj_expr -## In state 193, spurious reduction of production expr -> disj_expr +## In state 199, spurious reduction of production unary_expr -> core_expr +## In state 146, spurious reduction of production mult_expr -> unary_expr +## In state 175, spurious reduction of production add_expr -> mult_expr +## In state 205, spurious reduction of production cons_expr -> add_expr +## In state 202, spurious reduction of production cat_expr -> cons_expr +## In state 225, spurious reduction of production comp_expr -> cat_expr +## In state 212, spurious reduction of production set_membership -> comp_expr +## In state 148, spurious reduction of production conj_expr -> set_membership +## In state 229, spurious reduction of production disj_expr -> conj_expr +## In state 197, 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: 407. +## Ends in an error in state: 413. ## ## while_loop -> While . expr block [ VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4024,7 +4087,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: 409. +## Ends in an error in state: 415. ## ## block -> Begin . sep_or_term_list(statement,SEMI) End [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4036,7 +4099,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 Block LBRACE Skip End ## -## Ends in an error in state: 575. +## Ends in an error in state: 581. ## ## block -> Block LBRACE sep_or_term_list(statement,SEMI) . RBRACE [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4047,15 +4110,15 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 550, spurious reduction of production nsepseq(statement,SEMI) -> statement -## In state 567, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) +## In state 556, spurious reduction of production nsepseq(statement,SEMI) -> statement +## In state 573, spurious reduction of production sep_or_term_list(statement,SEMI) -> nsepseq(statement,SEMI) ## contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Block LBRACE With ## -## Ends in an error in state: 406. +## Ends in an error in state: 412. ## ## block -> Block LBRACE . sep_or_term_list(statement,SEMI) RBRACE [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4067,7 +4130,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: 405. +## Ends in an error in state: 411. ## ## block -> Block . LBRACE sep_or_term_list(statement,SEMI) RBRACE [ With VBAR SEMI RBRACKET RBRACE End Else ] ## @@ -4079,7 +4142,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 With ## -## Ends in an error in state: 459. +## Ends in an error in state: 465. ## ## open_fun_decl -> Function Ident parameters COLON type_expr Is . block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function Ident parameters COLON type_expr Is . expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4092,7 +4155,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is With contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String VBAR ## -## Ends in an error in state: 458. +## Ends in an error in state: 464. ## ## open_fun_decl -> Function Ident parameters COLON type_expr . Is block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function Ident parameters COLON type_expr . Is expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4113,7 +4176,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON String VBAR contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON With ## -## Ends in an error in state: 457. +## Ends in an error in state: 463. ## ## open_fun_decl -> Function Ident parameters COLON . type_expr Is block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function Ident parameters COLON . type_expr Is expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4126,7 +4189,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR COLON With contract: Function Ident LPAR Const Ident COLON Ident RPAR With ## -## Ends in an error in state: 456. +## Ends in an error in state: 462. ## ## open_fun_decl -> Function Ident parameters . COLON type_expr Is block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function Ident parameters . COLON type_expr Is expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4139,7 +4202,7 @@ contract: Function Ident LPAR Const Ident COLON Ident RPAR With contract: Function Ident With ## -## Ends in an error in state: 455. +## Ends in an error in state: 461. ## ## open_fun_decl -> Function Ident . parameters COLON type_expr Is block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function Ident . parameters COLON type_expr Is expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4152,7 +4215,7 @@ contract: Function Ident With contract: Function With ## -## Ends in an error in state: 454. +## Ends in an error in state: 460. ## ## open_fun_decl -> Function . Ident parameters COLON type_expr Is block With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## open_fun_decl -> Function . Ident parameters COLON type_expr Is expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] @@ -4165,7 +4228,7 @@ contract: Function With contract: Recursive Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Skip End While ## -## Ends in an error in state: 578. +## Ends in an error in state: 584. ## ## open_fun_decl -> Recursive Function Ident parameters COLON type_expr Is block . With expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -4177,7 +4240,7 @@ contract: Recursive Function Ident LPAR Const Ident COLON Ident RPAR COLON Strin contract: Recursive Function Ident LPAR Const Ident COLON Ident RPAR COLON String Is Begin Skip End With With ## -## Ends in an error in state: 579. +## Ends in an error in state: 585. ## ## open_fun_decl -> Recursive Function Ident parameters COLON type_expr Is block With . expr [ Type SEMI Recursive RBRACE Function End EOF Const Attributes ] ## @@ -4773,3 +4836,4 @@ contract: With ## + diff --git a/src/passes/01-parser/reasonligo/Pretty.ml b/src/passes/01-parser/reasonligo/Pretty.ml index d0d4cbf80..284a00360 100644 --- a/src/passes/01-parser/reasonligo/Pretty.ml +++ b/src/passes/01-parser/reasonligo/Pretty.ml @@ -139,26 +139,27 @@ and pp_type_decl decl = ^^ group (pp_type_expr type_expr) ^^ string ";" and pp_expr = function - ECase e -> pp_case_expr e -| ECond e -> group (pp_cond_expr e) -| EAnnot e -> pp_annot_expr e -| ELogic e -> pp_logic_expr e -| EArith e -> group (pp_arith_expr e) -| EString e -> pp_string_expr e -| EList e -> group (pp_list_expr e) -| EConstr e -> pp_constr_expr e -| ERecord e -> pp_record_expr e -| EProj e -> pp_projection e -| EUpdate e -> pp_update e -| EVar v -> pp_ident v -| ECall e -> pp_call_expr e -| EBytes e -> pp_bytes e -| EUnit _ -> string "()" -| ETuple e -> pp_tuple_expr e -| EPar e -> pp_par_expr e -| ELetIn e -> pp_let_in e -| EFun e -> pp_fun e -| ESeq e -> pp_seq e + ECase e -> pp_case_expr e +| ECond e -> group (pp_cond_expr e) +| EAnnot e -> pp_annot_expr e +| ELogic e -> pp_logic_expr e +| EArith e -> group (pp_arith_expr e) +| EString e -> pp_string_expr e +| EList e -> group (pp_list_expr e) +| EConstr e -> pp_constr_expr e +| ERecord e -> pp_record_expr e +| EProj e -> pp_projection e +| EUpdate e -> pp_update e +| EVar v -> pp_ident v +| ECall e -> pp_call_expr e +| EBytes e -> pp_bytes e +| EUnit _ -> string "()" +| ETuple e -> pp_tuple_expr e +| EPar e -> pp_par_expr e +| ELetIn e -> pp_let_in e +| EFun e -> pp_fun e +| ESeq e -> pp_seq e +| ECodeInsert e -> pp_code_insert e and pp_case_expr {value; _} = let {expr; cases; _} = value in @@ -319,6 +320,12 @@ and pp_update {value; _} = string "{..." ^^ record ^^ string "," ^^ nest 2 (break 1 ^^ updates ^^ string "}") +and pp_code_insert {value; _} = + let {language; code; _} = value in + let language = pp_string language + and code = pp_expr code in + string "[%" ^^ language ^^ string " " ^^ code ^^ string " ]" + and pp_field_path_assign {value; _} = let {field_path; field_expr; _} = value in let path = pp_path field_path in diff --git a/src/passes/01-parser/reasonligo/error.messages.checked-in b/src/passes/01-parser/reasonligo/error.messages.checked-in index 9149f4111..80ce7b399 100644 --- a/src/passes/01-parser/reasonligo/error.messages.checked-in +++ b/src/passes/01-parser/reasonligo/error.messages.checked-in @@ -947,19 +947,6 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COLON Bytes COMMA Ident COLO -interactive_expr: LBRACE ELLIPSIS Ident COMMA Ident COMMA Ident COMMA WILD -## -## Ends in an error in state: 277. -## -## 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 COLON Bytes COMMA WILD ## ## Ends in an error in state: 273. @@ -1048,26 +1035,6 @@ interactive_expr: LBRACE ELLIPSIS Ident COMMA WILD -interactive_expr: LBRACE ELLIPSIS Ident DOT Ident VBAR -## -## Ends in an error in state: 259. -## -## 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 107, spurious reduction of production selection -> DOT Ident -## In state 110, spurious reduction of production projection -> Ident selection -## In state 258, spurious reduction of production path -> projection -## - - - interactive_expr: LBRACE ELLIPSIS Ident WILD ## ## Ends in an error in state: 254. diff --git a/src/passes/08-typer-new/wrap.ml b/src/passes/08-typer-new/wrap.ml index 040b25ee9..a5773bcd0 100644 --- a/src/passes/08-typer-new/wrap.ml +++ b/src/passes/08-typer-new/wrap.ml @@ -312,7 +312,7 @@ let raw_code : T.type_expression -> (constraints * T.type_variable) = let type_anno = type_expression_to_type_value type_anno in let whole_expr = Core.fresh_type_variable () in [ - c_equation type_anno (P_variable whole_expr) "wrap: raw_code: type_anno (whole)"; + c_equation type_anno ({ tsrc = "wrap: raw_code: whole"; t = P_variable whole_expr }) "wrap: raw_code: type_anno (whole)" ; ], whole_expr let assign : T.type_expression -> T.type_expression -> (constraints * T.type_variable) = diff --git a/src/passes/10-transpiler/transpiler.ml b/src/passes/10-transpiler/transpiler.ml index 36c0c5ec7..ab3de29f3 100644 --- a/src/passes/10-transpiler/transpiler.ml +++ b/src/passes/10-transpiler/transpiler.ml @@ -92,13 +92,12 @@ them. please report this to the developers." in ] in error ~data title content - let language_backend_mismatch language backend location = + let language_backend_mismatch language backend = let title () = "Language insert - Backend Mismatch" in let content () = "only provide code insertion in the language you are compiling to" in let data = [ ("Code Insertion Language", fun () -> language); ("Target backend", fun () -> backend); - ("Location", fun() -> Format.asprintf "%a" Location.pp location); ] in error ~data title content @@ -618,13 +617,14 @@ and transpile_annotated_expression (ae:AST.expression) : expression result = ) | E_raw_code { language; code} -> let backend = "Michelson" in - let%bind () = trace_strong (language_backend_mismatch language backend ae.location) @@ - Assert.assert_true (String.equal language backend) + let%bind () = + trace_strong (language_backend_mismatch language backend) @@ + Assert.assert_true (String.equal language backend) in let type_anno = get_type_expression code in let%bind type_anno' = transpile_type type_anno in - let%bind code = get_a_verbatim code in - return @@ E_raw_michelson (code, type_anno') + let%bind code = get_a_string code in + return ~tv:type_anno' @@ E_raw_michelson code and transpile_lambda l (input_type , output_type) = let { binder ; result } : AST.lambda = l in diff --git a/src/passes/12-compiler/compiler_program.ml b/src/passes/12-compiler/compiler_program.ml index 94db3329f..426d0656b 100644 --- a/src/passes/12-compiler/compiler_program.ml +++ b/src/passes/12-compiler/compiler_program.ml @@ -493,12 +493,14 @@ and translate_expression (expr:expression) (env:environment) : michelson result i_push_unit ; ] ) - | E_raw_michelson (code, type_anno) -> - let code = Format.asprintf "{%s}" code in - let%bind code = Proto_alpha_utils.Trace.trace_tzresult (raw_michelson_parsing_error code) @@ - Tezos_micheline.Micheline_parser.no_parsing_error @@ Michelson_parser.V1.parse_expression ~check:false code in + | E_raw_michelson code -> + let%bind code = + Proto_alpha_utils.Trace.trace_tzresult (raw_michelson_parsing_error code) @@ + Tezos_micheline.Micheline_parser.no_parsing_error @@ + Michelson_parser.V1.parse_expression ~check:false code + in let code = Tezos_micheline.Micheline.root code.expanded in - let%bind ty = Compiler_type.type_ type_anno in + let%bind ty = Compiler_type.type_ ty in return @@ i_push ty code and translate_function_body ({body ; binder} : anon_function) lst input : michelson result = diff --git a/src/stages/4-ast_typed/ast.ml b/src/stages/4-ast_typed/ast.ml index 6534fc5d5..a26b694a2 100644 --- a/src/stages/4-ast_typed/ast.ml +++ b/src/stages/4-ast_typed/ast.ml @@ -314,6 +314,7 @@ and expression_content = | E_lambda of lambda | E_recursive of recursive | E_let_in of let_in + | E_raw_code of raw_code (* Variant *) | E_constructor of constructor (* For user defined constructors *) | E_matching of matching @@ -346,6 +347,11 @@ and let_in = { inline : bool ; } +and raw_code = { + language : string; + code : expression; +} + and recursive = { fun_name : expression_variable; fun_type : type_expression; diff --git a/src/stages/5-mini_c/PP.ml b/src/stages/5-mini_c/PP.ml index 15d40f6f5..568c20af2 100644 --- a/src/stages/5-mini_c/PP.ml +++ b/src/stages/5-mini_c/PP.ml @@ -79,7 +79,7 @@ and type_expression ppf : type_expression -> unit = fun te -> match te.type_cont | T_function (a, b) -> fprintf ppf "lambda (%a) %a" type_expression a type_expression b | T_base tc -> fprintf ppf "%a" type_constant tc | T_map (k,v) -> fprintf ppf "Map (%a,%a)" type_expression k type_expression v - | T_big_map (k,v) -> fprintf ppf "BigMap (%a,%a)" type_expression k type_expression v + | T_big_map (k,v) -> fprintf ppf "Big_map (%a,%a)" type_expression k type_expression v | T_list e -> fprintf ppf "List (%a)" type_expression e | T_set e -> fprintf ppf "Set (%a)" type_expression e | T_contract c -> fprintf ppf "Contract (%a)" type_expression c @@ -125,7 +125,7 @@ and expression_content ppf (e:expression_content) = match e with fprintf ppf "@[{ %a@;<1 2>with@;<1 2>{ %a = %a } }@]" expression r (list_sep lr (const ".")) path expression update | E_while (e , b) -> fprintf ppf "@[while %a do %a@]" expression e expression b - | E_raw_michelson (code, _) -> + | E_raw_michelson code -> fprintf ppf "%s" code and expression_with_type : _ -> expression -> _ = fun ppf e -> diff --git a/src/stages/5-mini_c/types.ml b/src/stages/5-mini_c/types.ml index db6f7c4f3..81c2186b4 100644 --- a/src/stages/5-mini_c/types.ml +++ b/src/stages/5-mini_c/types.ml @@ -91,7 +91,7 @@ and expression_content = | E_sequence of (expression * expression) | E_record_update of (expression * [`Left | `Right] list * expression) | E_while of (expression * expression) - | E_raw_michelson of (string * type_expression) + | E_raw_michelson of string and expression = { content : expression_content ; diff --git a/src/test/contracts/michelson_insertion.ligo b/src/test/contracts/michelson_insertion.ligo index 5ea81c20d..9e9887bbd 100644 --- a/src/test/contracts/michelson_insertion.ligo +++ b/src/test/contracts/michelson_insertion.ligo @@ -1,5 +1,5 @@ // Test michelson insertion in PascaLIGO function michelson_add (var n : nat * nat ) : nat is block { - const f : (nat * nat -> nat)= [%Michelson ({| UNPAIR; ADD |} : nat *nat -> nat)]; + const f : (nat * nat -> nat)= [%Michelson ({| { UNPAIR; ADD } |} : nat *nat -> nat)]; } with f (n) diff --git a/src/test/contracts/michelson_insertion.mligo b/src/test/contracts/michelson_insertion.mligo index 568ea24a4..afa73d6dc 100644 --- a/src/test/contracts/michelson_insertion.mligo +++ b/src/test/contracts/michelson_insertion.mligo @@ -1,4 +1,4 @@ // Test michelson insertion in CameLIGO let michelson_add (n : nat * nat) : nat = - [%Michelson ({| UNPAIR;ADD |} : nat * nat -> nat) ] n + [%Michelson ({| { UNPAIR;ADD } |} : nat * nat -> nat) ] n diff --git a/src/test/contracts/michelson_insertion.religo b/src/test/contracts/michelson_insertion.religo index 3092ba0b0..3423c08ed 100644 --- a/src/test/contracts/michelson_insertion.religo +++ b/src/test/contracts/michelson_insertion.religo @@ -1,4 +1,4 @@ // Test michelson insertion in ReasonLIGO let michelson_add = (n : (nat, nat)) : nat => - [%Michelson ({| UNPAIR;ADD |} : ((nat, nat) => nat)) ](n); + [%Michelson ({| { UNPAIR;ADD } |} : ((nat, nat) => nat)) ](n); diff --git a/src/test/contracts/negative/bad_michelson_insertion_1.ligo b/src/test/contracts/negative/bad_michelson_insertion_1.ligo new file mode 100644 index 000000000..bfb27ae25 --- /dev/null +++ b/src/test/contracts/negative/bad_michelson_insertion_1.ligo @@ -0,0 +1,5 @@ +// Test michelson insertion in PascaLIGO + +function main (const p : nat; const s: nat ) : list (operation)* nat is block { + const f : (nat * nat -> nat)= [%Michelson ({| ADD |} : nat *nat -> nat)]; +} with ((nil: list(operation)), f (p, s)) diff --git a/src/test/contracts/negative/bad_michelson_insertion_2.ligo b/src/test/contracts/negative/bad_michelson_insertion_2.ligo new file mode 100644 index 000000000..3c27e3ef0 --- /dev/null +++ b/src/test/contracts/negative/bad_michelson_insertion_2.ligo @@ -0,0 +1,5 @@ +// Test michelson insertion in PascaLIGO + +function main (const p : nat; const s: nat ) : list (operation)* nat is block { + const f : (nat -> nat -> nat)= [%Michelson ({| ADD |} : nat -> nat -> nat)]; +} with ((nil: list(operation)), f (p, s)) diff --git a/src/test/contracts/negative/bad_michelson_insertion_3.ligo b/src/test/contracts/negative/bad_michelson_insertion_3.ligo new file mode 100644 index 000000000..834db370f --- /dev/null +++ b/src/test/contracts/negative/bad_michelson_insertion_3.ligo @@ -0,0 +1,5 @@ +// Test michelson insertion in PascaLIGO + +function main (const p : nat; const s: nat ) : list (operation)* nat is block { + const f : (nat * nat -> nat)= [%Michelson (" { UNPAIR; ADD } " : nat * nat -> nat)]; +} with ((nil: list(operation)), f (p, s))