diff --git a/build_system/clerk_driver.ml b/build_system/clerk_driver.ml index 2e9b0d27..5851c9b7 100644 --- a/build_system/clerk_driver.ml +++ b/build_system/clerk_driver.ml @@ -512,7 +512,7 @@ let[@ocamlformat "disable"] static_base_rules = !post_test; !input; ";"; "echo"; "-n"; "$$?"; ">"; !output; ] - ~description:[""; !output]; + ~description:[""; !test_id]; Nj.rule "interpret" ~command: @@ -522,7 +522,7 @@ let[@ocamlformat "disable"] static_base_rules = Nj.rule "dir-tests" ~command:["cat"; !input; ">"; !output; ";"] - ~description:[""; !output]; + ~description:[""; !test_id]; Nj.rule "test-results" ~command:[ @@ -714,6 +714,7 @@ let gen_build_statements Nj.build "post-test" ~inputs:[reference; test_out] ~implicit_in:["always"] ~outputs:[(!Var.builddir / reference) ^ "@post"] + ~vars:[Var.test_id, [reference]] :: acc) [] item.legacy_tests in @@ -738,6 +739,7 @@ let gen_build_statements ~outputs:[inc (srcv ^ label)] ~inputs:[srcv; inc (srcv ^ "@out")] ~implicit_in:["always"] + ~vars:[Var.test_id, [srcv]] in match item.legacy_tests with | [] -> @@ -755,7 +757,8 @@ let gen_build_statements @ List.map (fun test -> (!Var.builddir / legacy_test_reference test) ^ "@post") - legacy); + legacy) + ~vars:[Var.test_id, [srcv]]; results; ] in @@ -800,7 +803,10 @@ let dir_test_rules dir subdirs items = List.to_seq [ Nj.Comment ""; - Nj.build "dir-tests" ~outputs:[(Var.(!builddir) / dir) ^ "@test"] ~inputs; + Nj.build "dir-tests" + ~outputs:[(Var.(!builddir) / dir) ^ "@test"] + ~inputs + ~vars:[Var.test_id, [dir]]; Nj.build "test-results" ~outputs:[dir ^ "@test"] ~inputs:[(Var.(!builddir) / dir) ^ "@test"]; diff --git a/compiler/desugared/from_surface.ml b/compiler/desugared/from_surface.ml index 90141e3a..1df0be68 100644 --- a/compiler/desugared/from_surface.ml +++ b/compiler/desugared/from_surface.ml @@ -360,14 +360,17 @@ let rec translate_expr correct calendar day") in Expr.elit lit emark - | Ident ([], (x, pos)) -> ( + | Ident ([], (x, pos), state) -> ( (* first we check whether this is a local var, then we resort to scope-wide variables, then global variables *) - match Ident.Map.find_opt x local_vars with - | Some uid -> + match Ident.Map.find_opt x local_vars, state with + | Some uid, None -> Expr.make_var uid emark (* the whole box thing is to accomodate for this case *) - | None -> ( + | Some uid, Some state -> + Message.raise_spanned_error (Mark.get state) + "%a is a local variable, it has no states" Print.var uid + | None, state -> ( match Ident.Map.find_opt x scope_vars with | Some (ScopeVar uid) -> (* If the referenced variable has states, then here are the rules to @@ -376,36 +379,55 @@ let rec translate_expr the previous state in the chain. *) let x_sig = ScopeVar.Map.find uid ctxt.var_typs in let x_state = - match x_sig.var_sig_states_list with - | [] -> None - | states -> ( - match inside_definition_of with - | Some (Var (x'_uid, sx'), _) when ScopeVar.compare uid x'_uid = 0 - -> ( - match sx' with - | None -> - failwith - "inconsistent state: inside a definition of a variable with \ - no state but variable has states" - | Some inside_def_state -> - if StateName.compare inside_def_state (List.hd states) = 0 then - Message.raise_spanned_error pos - "It is impossible to refer to the variable you are \ - defining when defining its first state." - else - (* Tricky: we have to retrieve in the list the previous state - with respect to the state that we are defining. *) - let rec find_prev_state = function - | [] -> None - | st0 :: st1 :: _ when StateName.equal inside_def_state st1 - -> - Some st0 - | _ :: states -> find_prev_state states - in - find_prev_state states) - | _ -> - (* we take the last state in the chain *) - Some (List.hd (List.rev states))) + match state, x_sig.var_sig_states_list, inside_definition_of with + | None, [], _ -> None + | Some st, [], _ -> + Message.raise_spanned_error (Mark.get st) + "Variable %a does not define states" ScopeVar.format uid + | st, states, Some (Var (x'_uid, sx'), _) + when ScopeVar.equal uid x'_uid -> ( + if st <> None then + (* TODO *) + Message.raise_spanned_error + (Mark.get (Option.get st)) + "Referring to a previous state of the variable being defined \ + is not supported at the moment."; + match sx' with + | None -> + failwith + "inconsistent state: inside a definition of a variable with no \ + state but variable has states" + | Some inside_def_state -> + if StateName.compare inside_def_state (List.hd states) = 0 then + Message.raise_spanned_error pos + "It is impossible to refer to the variable you are defining \ + when defining its first state." + else + (* Tricky: we have to retrieve in the list the previous state + with respect to the state that we are defining. *) + let rec find_prev_state = function + | [] -> None + | st0 :: st1 :: _ when StateName.equal inside_def_state st1 -> + Some st0 + | _ :: states -> find_prev_state states + in + find_prev_state states) + | Some st, states, _ -> ( + match + Ident.Map.find_opt (Mark.remove st) x_sig.var_sig_states_idmap + with + | None -> + Message.raise_multispanned_error + ~suggestion:(List.map StateName.to_string states) + [ + None, Mark.get st; + Some "Variable defined here", Mark.get (ScopeVar.get_info uid); + ] + "Reference to unknown variable state" + | some -> some) + | _, states, _ -> + (* we take the last state in the chain *) + Some (List.hd (List.rev states)) in Expr.elocation (DesugaredScopeVar { name = uid, pos; state = x_state }) @@ -416,13 +438,21 @@ let rec translate_expr | None -> ( match Ident.Map.find_opt x ctxt.local.topdefs with | Some v -> + if state <> None then + Message.raise_spanned_error pos + "Access to intermediate states is only allowed for variables of \ + the current scope"; Expr.elocation (ToplevelVar { name = v, Mark.get (TopdefName.get_info v) }) emark | None -> Name_resolution.raise_unknown_identifier "for a local, scope-wide or global variable" (x, pos)))) - | Ident (path, name) -> ( + | Ident (_ :: _, (_, pos), Some _) -> + Message.raise_spanned_error pos + "Access to intermediate states is only allowed for variables of the \ + current scope" + | Ident (path, name, None) -> ( let ctxt = Name_resolution.module_ctx ctxt path in match Ident.Map.find_opt (Mark.remove name) ctxt.local.topdefs with | Some v -> @@ -433,7 +463,7 @@ let rec translate_expr Name_resolution.raise_unknown_identifier "for an external variable" name) | Dotted (e, ((path, x), _ppos)) -> ( match path, Mark.remove e with - | [], Ident ([], (y, _)) + | [], Ident ([], (y, _), None) when Option.fold scope ~none:false ~some:(fun s -> Name_resolution.is_subscope_uid s ctxt y) -> (* In this case, y.x is a subscope variable *) diff --git a/compiler/surface/ast.ml b/compiler/surface/ast.ml index 1c529469..f1cf771d 100644 --- a/compiler/surface/ast.ml +++ b/compiler/surface/ast.ml @@ -189,7 +189,8 @@ and naked_expression = (path * uident Mark.pos) Mark.pos * (lident Mark.pos * expression) list | ArrayLit of expression list | Tuple of expression list - | Ident of path * lident Mark.pos + | Ident of path * lident Mark.pos * lident Mark.pos option + (* path, ident, state *) | Dotted of expression * (path * lident Mark.pos) Mark.pos (** Dotted is for both struct field projection and sub-scope variables *) diff --git a/compiler/surface/parser.messages b/compiler/surface/parser.messages index 23977ae8..64adde9c 100644 --- a/compiler/surface/parser.messages +++ b/compiler/surface/parser.messages @@ -1,6 +1,6 @@ source_file: BEGIN_CODE DECLARATION ENUM UIDENT COLON ALT UIDENT CONTENT TEXT YEAR ## -## Ends in an error in state: 397. +## Ends in an error in state: 400. ## ## list(addpos(enum_decl_line)) -> enum_decl_line . list(addpos(enum_decl_line)) [ SCOPE END_CODE DECLARATION ] ## @@ -12,7 +12,7 @@ expected another enum case, or a new declaration or scope use source_file: BEGIN_CODE DECLARATION ENUM UIDENT COLON ALT UIDENT CONTENT YEAR ## -## Ends in an error in state: 393. +## Ends in an error in state: 396. ## ## option(preceded(CONTENT,addpos(typ))) -> CONTENT . typ_data [ SCOPE END_CODE DECLARATION ALT ] ## @@ -24,7 +24,7 @@ expected a content type source_file: BEGIN_CODE DECLARATION ENUM UIDENT COLON ALT UIDENT YEAR ## -## Ends in an error in state: 392. +## Ends in an error in state: 395. ## ## enum_decl_line -> ALT UIDENT . option(preceded(CONTENT,addpos(typ))) [ SCOPE END_CODE DECLARATION ALT ] ## @@ -36,7 +36,7 @@ expected a payload for your enum case, or another case or declaration source_file: BEGIN_CODE DECLARATION ENUM UIDENT COLON ALT YEAR ## -## Ends in an error in state: 391. +## Ends in an error in state: 394. ## ## enum_decl_line -> ALT . UIDENT option(preceded(CONTENT,addpos(typ))) [ SCOPE END_CODE DECLARATION ALT ] ## @@ -48,7 +48,7 @@ expected the name of an enum case source_file: BEGIN_CODE DECLARATION ENUM UIDENT COLON YEAR ## -## Ends in an error in state: 390. +## Ends in an error in state: 393. ## ## code_item -> DECLARATION ENUM UIDENT COLON . list(addpos(enum_decl_line)) [ SCOPE END_CODE DECLARATION ] ## @@ -60,7 +60,7 @@ expected an enum case source_file: BEGIN_CODE DECLARATION ENUM UIDENT YEAR ## -## Ends in an error in state: 389. +## Ends in an error in state: 392. ## ## code_item -> DECLARATION ENUM UIDENT . COLON list(addpos(enum_decl_line)) [ SCOPE END_CODE DECLARATION ] ## @@ -72,7 +72,7 @@ expected a colon source_file: BEGIN_CODE DECLARATION ENUM YEAR ## -## Ends in an error in state: 388. +## Ends in an error in state: 391. ## ## code_item -> DECLARATION ENUM . UIDENT COLON list(addpos(enum_decl_line)) [ SCOPE END_CODE DECLARATION ] ## @@ -84,7 +84,7 @@ expected the name of your enum source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON YEAR ## -## Ends in an error in state: 351. +## Ends in an error in state: 354. ## ## code_item -> DECLARATION SCOPE UIDENT COLON . nonempty_list(addpos(scope_decl_item)) [ SCOPE END_CODE DECLARATION ] ## @@ -96,7 +96,7 @@ expected a context item introduced by "context" source_file: BEGIN_CODE DECLARATION SCOPE UIDENT YEAR ## -## Ends in an error in state: 350. +## Ends in an error in state: 353. ## ## code_item -> DECLARATION SCOPE UIDENT . COLON nonempty_list(addpos(scope_decl_item)) [ SCOPE END_CODE DECLARATION ] ## @@ -108,7 +108,7 @@ expected a colon followed by the list of context items of this scope source_file: BEGIN_CODE DECLARATION SCOPE YEAR ## -## Ends in an error in state: 349. +## Ends in an error in state: 352. ## ## code_item -> DECLARATION SCOPE . UIDENT COLON nonempty_list(addpos(scope_decl_item)) [ SCOPE END_CODE DECLARATION ] ## @@ -122,7 +122,7 @@ expected the name of the scope you are declaring source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON CONDITION LIDENT DEPENDS YEAR ## -## Ends in an error in state: 336. +## Ends in an error in state: 339. ## ## struct_scope -> struct_scope_base DEPENDS . separated_nonempty_list(COMMA,var_content) [ SCOPE END_CODE DECLARATION DATA CONDITION ] ## struct_scope -> struct_scope_base DEPENDS . LPAREN separated_nonempty_list(COMMA,var_content) RPAREN [ SCOPE END_CODE DECLARATION DATA CONDITION ] @@ -135,7 +135,7 @@ expected the type of the parameter of this struct data function source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON CONDITION LIDENT YEAR ## -## Ends in an error in state: 335. +## Ends in an error in state: 338. ## ## struct_scope -> struct_scope_base . DEPENDS separated_nonempty_list(COMMA,var_content) [ SCOPE END_CODE DECLARATION DATA CONDITION ] ## struct_scope -> struct_scope_base . DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN [ SCOPE END_CODE DECLARATION DATA CONDITION ] @@ -149,7 +149,7 @@ expected a new struct data, or another declaration or scope use source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON CONDITION YEAR ## -## Ends in an error in state: 333. +## Ends in an error in state: 336. ## ## struct_scope_base -> CONDITION . lident [ SCOPE END_CODE DEPENDS DECLARATION DATA CONDITION ] ## @@ -161,7 +161,7 @@ expected the name of this struct condition source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON DATA LIDENT CONTENT YEAR ## -## Ends in an error in state: 322. +## Ends in an error in state: 325. ## ## struct_scope_base -> DATA lident CONTENT . typ_data [ SCOPE END_CODE DEPENDS DECLARATION DATA CONDITION ] ## @@ -173,7 +173,7 @@ expected the type of this struct data source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON DATA LIDENT YEAR ## -## Ends in an error in state: 321. +## Ends in an error in state: 324. ## ## struct_scope_base -> DATA lident . CONTENT typ_data [ SCOPE END_CODE DEPENDS DECLARATION DATA CONDITION ] ## @@ -185,7 +185,7 @@ expected the type of this struct data, introduced by the content keyword source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON DATA YEAR ## -## Ends in an error in state: 320. +## Ends in an error in state: 323. ## ## struct_scope_base -> DATA . lident CONTENT typ_data [ SCOPE END_CODE DEPENDS DECLARATION DATA CONDITION ] ## @@ -197,7 +197,7 @@ expected the name of this struct data source_file: BEGIN_CODE DECLARATION STRUCT UIDENT COLON YEAR ## -## Ends in an error in state: 319. +## Ends in an error in state: 322. ## ## code_item -> DECLARATION STRUCT UIDENT COLON . list(addpos(struct_scope)) [ SCOPE END_CODE DECLARATION ] ## @@ -209,7 +209,7 @@ expected struct data or condition source_file: BEGIN_CODE DECLARATION STRUCT UIDENT YEAR ## -## Ends in an error in state: 318. +## Ends in an error in state: 321. ## ## code_item -> DECLARATION STRUCT UIDENT . COLON list(addpos(struct_scope)) [ SCOPE END_CODE DECLARATION ] ## @@ -221,7 +221,7 @@ expected a colon source_file: BEGIN_CODE DECLARATION STRUCT YEAR ## -## Ends in an error in state: 317. +## Ends in an error in state: 320. ## ## code_item -> DECLARATION STRUCT . UIDENT COLON list(addpos(struct_scope)) [ SCOPE END_CODE DECLARATION ] ## @@ -233,7 +233,7 @@ expected the struct name source_file: BEGIN_CODE DECLARATION YEAR ## -## Ends in an error in state: 316. +## Ends in an error in state: 319. ## ## code_item -> DECLARATION . STRUCT UIDENT COLON list(addpos(struct_scope)) [ SCOPE END_CODE DECLARATION ] ## code_item -> DECLARATION . SCOPE UIDENT COLON nonempty_list(addpos(scope_decl_item)) [ SCOPE END_CODE DECLARATION ] @@ -250,7 +250,7 @@ expected the kind of the declaration (struct, scope or enum) source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION CARDINAL THEN ## -## Ends in an error in state: 277. +## Ends in an error in state: 280. ## ## assertion -> option(condition_consequence) expression . [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## expression -> expression . DOT qlident [ XOR WITH SCOPE RULE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE DOT DIV DEFINITION DECLARATION DATE CONTAINS ASSERTION AND ] @@ -284,7 +284,7 @@ expected a new scope use item source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION FIXED LIDENT BY YEAR ## -## Ends in an error in state: 274. +## Ends in an error in state: 277. ## ## assertion -> FIXED separated_nonempty_list(DOT,addpos(LIDENT)) BY . lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -296,7 +296,7 @@ expected the legislative text by which the value of the variable is fixed source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION FIXED LIDENT WITH_V ## -## Ends in an error in state: 273. +## Ends in an error in state: 276. ## ## assertion -> FIXED separated_nonempty_list(DOT,addpos(LIDENT)) . BY lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -307,14 +307,14 @@ source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION FIXED LIDENT WITH_V ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 261, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 264, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT ## expected the legislative text by which the value of the variable is fixed source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION FIXED YEAR ## -## Ends in an error in state: 272. +## Ends in an error in state: 275. ## ## assertion -> FIXED . separated_nonempty_list(DOT,addpos(LIDENT)) BY lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -326,7 +326,7 @@ expected the name of the variable that should be fixed source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION UNDER_CONDITION TRUE THEN ## -## Ends in an error in state: 270. +## Ends in an error in state: 273. ## ## condition_consequence -> UNDER_CONDITION expression . CONSEQUENCE [ UIDENT TRUE SUM OUTPUT NOT MONEY_AMOUNT MONEY MINUS MINIMUM MAXIMUM MATCH LPAREN LIDENT LET LBRACKET INT_LITERAL IF FOR FILLED FALSE EXISTS DEFINED_AS DECIMAL_LITERAL DECIMAL DATE_LITERAL CARDINAL ] ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS CONSEQUENCE AND ] @@ -360,7 +360,7 @@ expected a consequence for this definition under condition source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION UNDER_CONDITION YEAR ## -## Ends in an error in state: 269. +## Ends in an error in state: 272. ## ## condition_consequence -> UNDER_CONDITION . expression CONSEQUENCE [ UIDENT TRUE SUM OUTPUT NOT MONEY_AMOUNT MONEY MINUS MINIMUM MAXIMUM MATCH LPAREN LIDENT LET LBRACKET INT_LITERAL IF FOR FILLED FALSE EXISTS DEFINED_AS DECIMAL_LITERAL DECIMAL DATE_LITERAL CARDINAL ] ## @@ -372,7 +372,7 @@ expected an expression for this condition source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION VARIES LIDENT UNDER_CONDITION ## -## Ends in an error in state: 264. +## Ends in an error in state: 267. ## ## assertion -> VARIES separated_nonempty_list(DOT,addpos(LIDENT)) . WITH_V expression option(addpos(variation_type)) [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -383,14 +383,14 @@ source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION VARIES LIDENT UNDER_CONDITI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 261, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 264, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT ## expected an indication about what this variable varies with source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION VARIES LIDENT WITH_V YEAR ## -## Ends in an error in state: 265. +## Ends in an error in state: 268. ## ## assertion -> VARIES separated_nonempty_list(DOT,addpos(LIDENT)) WITH_V . expression option(addpos(variation_type)) [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -402,7 +402,7 @@ the variable varies with an expression that was expected here source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION VARIES YEAR ## -## Ends in an error in state: 260. +## Ends in an error in state: 263. ## ## assertion -> VARIES . separated_nonempty_list(DOT,addpos(LIDENT)) WITH_V expression option(addpos(variation_type)) [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -414,7 +414,7 @@ expecting the name of the varying variable source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION YEAR ## -## Ends in an error in state: 259. +## Ends in an error in state: 262. ## ## scope_item -> ASSERTION . assertion [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -426,7 +426,7 @@ expected an expression that shoud be asserted during execution source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT DEFINED_AS YEAR ## -## Ends in an error in state: 297. +## Ends in an error in state: 300. ## ## definition -> option(label) option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) option(condition_consequence) DEFINED_AS . expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -438,7 +438,7 @@ expected an expression for the definition source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT OF LIDENT DECREASING ## -## Ends in an error in state: 147. +## Ends in an error in state: 150. ## ## separated_nonempty_list(COMMA,lident) -> lident . [ UNDER_CONDITION STATE RPAREN NOT FILLED DEFINED_AS ] ## separated_nonempty_list(COMMA,lident) -> lident . COMMA separated_nonempty_list(COMMA,lident) [ UNDER_CONDITION STATE RPAREN NOT FILLED DEFINED_AS ] @@ -451,7 +451,7 @@ expected an expression for defining this function, introduced by the defined as source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT WITH_V ## -## Ends in an error in state: 288. +## Ends in an error in state: 291. ## ## definition -> option(label) option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) . option(addpos(definition_parameters)) option(state) option(condition_consequence) DEFINED_AS expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -462,14 +462,14 @@ source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT WITH_V ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 261, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 264, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT ## expected the defined as keyword to introduce the definition of this variable source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION YEAR ## -## Ends in an error in state: 287. +## Ends in an error in state: 290. ## ## definition -> option(label) option(exception_to) DEFINITION . separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) option(condition_consequence) DEFINED_AS expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -481,7 +481,7 @@ expected the name of the variable you want to define source_file: BEGIN_CODE SCOPE UIDENT COLON EXCEPTION LIDENT YEAR ## -## Ends in an error in state: 311. +## Ends in an error in state: 314. ## ## option(addpos(exception_to)) -> exception_to . [ RULE ] ## option(exception_to) -> exception_to . [ DEFINITION ] @@ -494,7 +494,7 @@ expected a rule or a definition after the exception declaration source_file: BEGIN_CODE SCOPE UIDENT COLON EXCEPTION YEAR ## -## Ends in an error in state: 283. +## Ends in an error in state: 286. ## ## exception_to -> EXCEPTION . option(lident) [ RULE DEFINITION ] ## @@ -506,7 +506,7 @@ expected the label to which the exception is referring back source_file: BEGIN_CODE SCOPE UIDENT COLON LABEL LIDENT DEFINED_AS ## -## Ends in an error in state: 282. +## Ends in an error in state: 285. ## ## definition -> option(label) . option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) option(condition_consequence) DEFINED_AS expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## rule -> option(label) . option(addpos(exception_to)) RULE rule_expr option(state) option(condition_consequence) rule_consequence [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] @@ -519,7 +519,7 @@ expected a rule or a definition after the label declaration source_file: BEGIN_CODE SCOPE UIDENT COLON LABEL YEAR ## -## Ends in an error in state: 252. +## Ends in an error in state: 255. ## ## label -> LABEL . lident [ RULE EXCEPTION DEFINITION ] ## @@ -531,7 +531,7 @@ expected the name of the label source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT DOT YEAR ## -## Ends in an error in state: 262. +## Ends in an error in state: 265. ## ## separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT DOT . separated_nonempty_list(DOT,addpos(LIDENT)) [ WITH_V UNDER_CONDITION STATE OF NOT FILLED DEFINED_AS BY ] ## @@ -543,7 +543,7 @@ expected a struct field or a sub-scope context item after the dot source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT NOT FALSE ## -## Ends in an error in state: 309. +## Ends in an error in state: 312. ## ## rule_consequence -> option(NOT) . FILLED [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -555,7 +555,7 @@ expected the filled keyword the this rule source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT OF YEAR ## -## Ends in an error in state: 289. +## Ends in an error in state: 292. ## ## definition_parameters -> OF . separated_nonempty_list(COMMA,lident) [ UNDER_CONDITION STATE NOT FILLED DEFINED_AS ] ## @@ -567,7 +567,7 @@ expected the name of the parameter for this dependent variable source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT WITH_V ## -## Ends in an error in state: 302. +## Ends in an error in state: 305. ## ## rule_expr -> separated_nonempty_list(DOT,addpos(LIDENT)) . option(addpos(definition_parameters)) [ UNDER_CONDITION STATE NOT FILLED ] ## @@ -578,14 +578,14 @@ source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT WITH_V ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 261, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 264, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT ## expected a condition or a consequence for this rule source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT YEAR ## -## Ends in an error in state: 261. +## Ends in an error in state: 264. ## ## separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT . [ WITH_V UNDER_CONDITION STATE OF NOT FILLED DEFINED_AS BY ] ## separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT . DOT separated_nonempty_list(DOT,addpos(LIDENT)) [ WITH_V UNDER_CONDITION STATE OF NOT FILLED DEFINED_AS BY ] @@ -598,7 +598,7 @@ expected 'under condition' followed by a condition, 'equals' followed by the def source_file: BEGIN_CODE SCOPE UIDENT COLON RULE YEAR ## -## Ends in an error in state: 301. +## Ends in an error in state: 304. ## ## rule -> option(label) option(addpos(exception_to)) RULE . rule_expr option(state) option(condition_consequence) rule_consequence [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -610,7 +610,7 @@ expected the name of the variable subject to the rule source_file: BEGIN_CODE SCOPE UIDENT COLON YEAR ## -## Ends in an error in state: 251. +## Ends in an error in state: 254. ## ## code_item -> SCOPE UIDENT option(preceded(UNDER_CONDITION,expression)) COLON . nonempty_list(scope_item) [ SCOPE END_CODE DECLARATION ] ## @@ -636,7 +636,7 @@ expected a payload for the enum case constructor, or the rest of the expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT YEAR ## -## Ends in an error in state: 180. +## Ends in an error in state: 183. ## ## expression -> EXISTS lident . AMONG expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -648,7 +648,7 @@ expected the "in" keyword to continue this existential test source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS YEAR ## -## Ends in an error in state: 74. +## Ends in an error in state: 77. ## ## expression -> EXISTS . lident AMONG expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> EXISTS . LPAREN separated_nonempty_list(COMMA,lident) RPAREN AMONG expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -661,7 +661,7 @@ expected an identifier that will designate the existential witness for the test source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT YEAR ## -## Ends in an error in state: 189. +## Ends in an error in state: 192. ## ## expression -> FOR ALL lident . AMONG expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -673,7 +673,7 @@ expected the "in" keyword for the rest of the universal test source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL YEAR ## -## Ends in an error in state: 68. +## Ends in an error in state: 71. ## ## expression -> FOR ALL . lident AMONG expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> FOR ALL . LPAREN separated_nonempty_list(COMMA,lident) RPAREN AMONG expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -686,7 +686,7 @@ expected an identifier for the bound variable of the universal test source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR YEAR ## -## Ends in an error in state: 67. +## Ends in an error in state: 70. ## ## expression -> FOR . ALL lident AMONG expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> FOR . ALL LPAREN separated_nonempty_list(COMMA,lident) RPAREN AMONG expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -699,7 +699,7 @@ expected the "all" keyword to mean the "for all" construction of the universal t source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF TRUE SEMICOLON ## -## Ends in an error in state: 194. +## Ends in an error in state: 197. ## ## expression -> expression . DOT qlident [ XOR WITH THEN PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH THEN PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -733,7 +733,7 @@ expected the "then" keyword as the conditional expression is complete source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF YEAR ## -## Ends in an error in state: 66. +## Ends in an error in state: 69. ## ## expression -> IF . expression THEN expression ELSE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -745,7 +745,7 @@ expected an expression for the test of the conditional source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION INT_LITERAL WITH_V ## -## Ends in an error in state: 60. +## Ends in an error in state: 63. ## ## literal -> INT_LITERAL . option(addpos(unit_literal)) [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -757,7 +757,7 @@ expected a unit for this literal, or a valid operator to complete the expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LPAREN TRUE THEN ## -## Ends in an error in state: 215. +## Ends in an error in state: 218. ## ## expression -> expression . DOT qlident [ XOR WITH RPAREN PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS COMMA AND ] ## expression -> expression . OF funcall_args [ XOR WITH RPAREN PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS COMMA AND ] @@ -804,7 +804,7 @@ expected an expression inside the parenthesis source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET TRUE THEN ## -## Ends in an error in state: 202. +## Ends in an error in state: 205. ## ## expression -> expression . DOT qlident [ XOR WITH SEMICOLON RBRACKET PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH SEMICOLON RBRACKET PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -839,7 +839,7 @@ expected a semicolon or a right square bracket after the list element source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET YEAR ## -## Ends in an error in state: 59. +## Ends in an error in state: 62. ## ## expression -> LBRACKET . loption(separated_nonempty_list(SEMICOLON,expression)) RBRACKET [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -851,7 +851,7 @@ expected a list element source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH TRUE WITH ALT YEAR ## -## Ends in an error in state: 220. +## Ends in an error in state: 223. ## ## nonempty_list(addpos(preceded(ALT,match_arm))) -> ALT . match_arm [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## nonempty_list(addpos(preceded(ALT,match_arm))) -> ALT . match_arm nonempty_list(addpos(preceded(ALT,match_arm))) [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -864,7 +864,7 @@ expected the name of the constructor for the enum case in the pattern matching source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH TRUE WITH YEAR ## -## Ends in an error in state: 219. +## Ends in an error in state: 222. ## ## expression -> expression WITH . constructor_binding [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> MATCH expression WITH . nonempty_list(addpos(preceded(ALT,match_arm))) [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -889,7 +889,7 @@ expected an expression to match with source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION TRUE YEAR ## -## Ends in an error in state: 249. +## Ends in an error in state: 252. ## ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS COLON AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS COLON AND ] @@ -960,7 +960,7 @@ expected the name of the scope being used source_file: BEGIN_CODE YEAR ## -## Ends in an error in state: 438. +## Ends in an error in state: 441. ## ## source_file_item -> BEGIN_CODE . code END_CODE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -1021,8 +1021,8 @@ source_file: BEGIN_METADATA LAW_TEXT LAW_HEADING ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 1, spurious reduction of production nonempty_list(LAW_TEXT) -> LAW_TEXT -## In state 417, spurious reduction of production law_text -> nonempty_list(LAW_TEXT) -## In state 418, spurious reduction of production option(law_text) -> law_text +## In state 420, spurious reduction of production law_text -> nonempty_list(LAW_TEXT) +## In state 421, spurious reduction of production option(law_text) -> law_text ## expected some law text or code block @@ -1315,7 +1315,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT YEAR ## ## Ends in an error in state: 53. ## -## expression -> LIDENT . [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] +## expression -> LIDENT . option(state_qualifier) [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## lident -> LIDENT . [ AMONG ] ## ## The known suffix of the stack is as follows: @@ -1326,7 +1326,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET YEAR ## -## Ends in an error in state: 54. +## Ends in an error in state: 57. ## ## expression -> LET . lident DEFINED_AS expression IN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> LET . LPAREN separated_nonempty_list(COMMA,lident) RPAREN DEFINED_AS expression IN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1339,7 +1339,7 @@ expected 'var equals expression' after 'let' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET LIDENT DEFINED_AS YEAR ## -## Ends in an error in state: 209. +## Ends in an error in state: 212. ## ## expression -> LET lident DEFINED_AS . expression IN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1351,7 +1351,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT AMONG YEAR ## -## Ends in an error in state: 190. +## Ends in an error in state: 193. ## ## expression -> FOR ALL lident AMONG . expression WE_HAVE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1363,7 +1363,7 @@ expected an expression describing the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG YEAR ## -## Ends in an error in state: 181. +## Ends in an error in state: 184. ## ## expression -> EXISTS lident AMONG . expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1375,7 +1375,7 @@ expected an expression describing the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION DECIMAL_LITERAL WITH_V ## -## Ends in an error in state: 79. +## Ends in an error in state: 82. ## ## literal -> DECIMAL_LITERAL . option(addpos(unit_literal)) [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1387,7 +1387,7 @@ expected binary operator source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LBRACE YEAR ## -## Ends in an error in state: 85. +## Ends in an error in state: 88. ## ## expression -> quident LBRACE . nonempty_list(preceded(ALT,struct_content_field)) RBRACE [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1399,7 +1399,7 @@ expected a list of field bindings of the form '-- fld : expression' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LBRACE ALT YEAR ## -## Ends in an error in state: 86. +## Ends in an error in state: 89. ## ## nonempty_list(preceded(ALT,struct_content_field)) -> ALT . struct_content_field [ RBRACE ] ## nonempty_list(preceded(ALT,struct_content_field)) -> ALT . struct_content_field nonempty_list(preceded(ALT,struct_content_field)) [ RBRACE ] @@ -1412,7 +1412,7 @@ expected a 'fldname : expression' binding source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT CONTENT YEAR ## -## Ends in an error in state: 91. +## Ends in an error in state: 94. ## ## option(preceded(CONTENT,expression)) -> CONTENT . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1424,7 +1424,7 @@ expected an expression defining the enumeration case content source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG YEAR ## -## Ends in an error in state: 94. +## Ends in an error in state: 97. ## ## expression -> lident AMONG . expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> lident AMONG . expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1438,7 +1438,7 @@ expected an expression defining a list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG FALSE YEAR ## -## Ends in an error in state: 95. +## Ends in an error in state: 98. ## ## expression -> expression . DOT qlident [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -1474,7 +1474,7 @@ expected 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT XOR YEAR ## -## Ends in an error in state: 96. +## Ends in an error in state: 99. ## ## expression -> expression XOR . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1486,7 +1486,7 @@ expected a boolean expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT XOR FALSE YEAR ## -## Ends in an error in state: 97. +## Ends in an error in state: 100. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1520,7 +1520,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT WITH YEAR ## -## Ends in an error in state: 98. +## Ends in an error in state: 101. ## ## expression -> expression WITH . constructor_binding [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1532,7 +1532,7 @@ expected a pattern to match against source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT WITH UIDENT WITH_V ## -## Ends in an error in state: 99. +## Ends in an error in state: 102. ## ## constructor_binding -> quident . OF lident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## constructor_binding -> quident . [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1553,7 +1553,7 @@ operator continuing the expression, or a keyword ending the expression and start source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT WITH UIDENT OF YEAR ## -## Ends in an error in state: 100. +## Ends in an error in state: 103. ## ## constructor_binding -> quident OF . lident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1565,7 +1565,7 @@ expected an ident, as in the form 'with pattern of and ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUSPLUS YEAR ## -## Ends in an error in state: 103. +## Ends in an error in state: 106. ## ## expression -> expression PLUSPLUS . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1577,7 +1577,7 @@ expected a list expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUSPLUS FALSE YEAR ## -## Ends in an error in state: 104. +## Ends in an error in state: 107. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1611,7 +1611,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT OF YEAR ## -## Ends in an error in state: 105. +## Ends in an error in state: 108. ## ## expression -> expression OF . funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1623,7 +1623,7 @@ expected an expression specifying the function argument source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT OF FALSE YEAR ## -## Ends in an error in state: 107. +## Ends in an error in state: 110. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1658,7 +1658,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR YEAR ## -## Ends in an error in state: 108. +## Ends in an error in state: 111. ## ## expression -> expression FOR . lident AMONG expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression FOR . LPAREN separated_nonempty_list(COMMA,lident) RPAREN AMONG expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1673,7 +1673,7 @@ Expected an identifier as in the form ' for among expression FOR lident . AMONG expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression FOR lident . AMONG expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1686,7 +1686,7 @@ Expected 'in', as in the form ' for among ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG YEAR ## -## Ends in an error in state: 151. +## Ends in an error in state: 154. ## ## expression -> expression FOR lident AMONG . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression FOR lident AMONG . expression SUCH THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1699,7 +1699,7 @@ expected an expression defining a list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG FALSE YEAR ## -## Ends in an error in state: 152. +## Ends in an error in state: 155. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1734,7 +1734,7 @@ Expected 'such that ', or a binary operator continuing the expressio source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG UIDENT SUCH YEAR ## -## Ends in an error in state: 153. +## Ends in an error in state: 156. ## ## expression -> expression FOR lident AMONG expression SUCH . THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1746,7 +1746,7 @@ expected the form 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG UIDENT SUCH THAT YEAR ## -## Ends in an error in state: 154. +## Ends in an error in state: 157. ## ## expression -> expression FOR lident AMONG expression SUCH THAT . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1759,7 +1759,7 @@ list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG UIDENT SUCH THAT FALSE YEAR ## -## Ends in an error in state: 155. +## Ends in an error in state: 158. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1793,7 +1793,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUS YEAR ## -## Ends in an error in state: 117. +## Ends in an error in state: 120. ## ## expression -> expression PLUS . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1805,7 +1805,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUS FALSE YEAR ## -## Ends in an error in state: 118. +## Ends in an error in state: 121. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1839,7 +1839,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT MULT YEAR ## -## Ends in an error in state: 119. +## Ends in an error in state: 122. ## ## expression -> expression MULT . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1851,7 +1851,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT MULT FALSE YEAR ## -## Ends in an error in state: 120. +## Ends in an error in state: 123. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1885,7 +1885,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION DECIMAL_LITERAL DOT YEAR ## -## Ends in an error in state: 121. +## Ends in an error in state: 124. ## ## expression -> expression DOT . qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1897,7 +1897,7 @@ expected a structure field or sub-scope variable name source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION DECIMAL_LITERAL DOT UIDENT YEAR ## -## Ends in an error in state: 122. +## Ends in an error in state: 125. ## ## qlident -> UIDENT . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1909,7 +1909,7 @@ expected a dot forming a module path, as in 'Module.variable', or a binary opera source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION DECIMAL_LITERAL DOT UIDENT DOT YEAR ## -## Ends in an error in state: 123. +## Ends in an error in state: 126. ## ## qlident -> UIDENT DOT . qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1921,7 +1921,7 @@ expected a module path, as in 'Module.Submodule.variable' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT CONTAINS YEAR ## -## Ends in an error in state: 125. +## Ends in an error in state: 128. ## ## expression -> expression CONTAINS . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1933,7 +1933,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT CONTAINS FALSE YEAR ## -## Ends in an error in state: 126. +## Ends in an error in state: 129. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -1967,7 +1967,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT DIV YEAR ## -## Ends in an error in state: 127. +## Ends in an error in state: 130. ## ## expression -> expression DIV . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -1979,7 +1979,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT DIV FALSE YEAR ## -## Ends in an error in state: 128. +## Ends in an error in state: 131. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2013,7 +2013,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT OR YEAR ## -## Ends in an error in state: 129. +## Ends in an error in state: 132. ## ## expression -> expression OR . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2025,7 +2025,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT OR FALSE YEAR ## -## Ends in an error in state: 130. +## Ends in an error in state: 133. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2059,7 +2059,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT NOT_EQUAL YEAR ## -## Ends in an error in state: 131. +## Ends in an error in state: 134. ## ## expression -> expression NOT_EQUAL . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2071,7 +2071,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT NOT_EQUAL FALSE YEAR ## -## Ends in an error in state: 132. +## Ends in an error in state: 135. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2105,7 +2105,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT MINUS YEAR ## -## Ends in an error in state: 133. +## Ends in an error in state: 136. ## ## expression -> expression MINUS . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2117,7 +2117,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT MINUS FALSE YEAR ## -## Ends in an error in state: 134. +## Ends in an error in state: 137. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2151,7 +2151,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LESSER_EQUAL YEAR ## -## Ends in an error in state: 135. +## Ends in an error in state: 138. ## ## expression -> expression LESSER_EQUAL . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2163,7 +2163,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LESSER_EQUAL FALSE YEAR ## -## Ends in an error in state: 136. +## Ends in an error in state: 139. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2197,7 +2197,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LESSER YEAR ## -## Ends in an error in state: 137. +## Ends in an error in state: 140. ## ## expression -> expression LESSER . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2209,7 +2209,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LESSER FALSE YEAR ## -## Ends in an error in state: 138. +## Ends in an error in state: 141. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2243,7 +2243,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT GREATER_EQUAL YEAR ## -## Ends in an error in state: 139. +## Ends in an error in state: 142. ## ## expression -> expression GREATER_EQUAL . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2255,7 +2255,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT GREATER_EQUAL FALSE YEAR ## -## Ends in an error in state: 140. +## Ends in an error in state: 143. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2289,7 +2289,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT GREATER YEAR ## -## Ends in an error in state: 141. +## Ends in an error in state: 144. ## ## expression -> expression GREATER . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2301,7 +2301,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT GREATER FALSE YEAR ## -## Ends in an error in state: 142. +## Ends in an error in state: 145. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2335,7 +2335,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT EQUAL YEAR ## -## Ends in an error in state: 143. +## Ends in an error in state: 146. ## ## expression -> expression EQUAL . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2347,7 +2347,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT EQUAL FALSE YEAR ## -## Ends in an error in state: 144. +## Ends in an error in state: 147. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2381,7 +2381,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT AND YEAR ## -## Ends in an error in state: 145. +## Ends in an error in state: 148. ## ## expression -> expression AND . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2393,7 +2393,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT AND FALSE YEAR ## -## Ends in an error in state: 146. +## Ends in an error in state: 149. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2427,7 +2427,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH YEAR ## -## Ends in an error in state: 158. +## Ends in an error in state: 161. ## ## expression -> lident AMONG expression SUCH . THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> lident AMONG expression SUCH . THAT expression IS MAXIMUM OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2441,7 +2441,7 @@ expected the form ' among such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT YEAR ## -## Ends in an error in state: 159. +## Ends in an error in state: 162. ## ## expression -> lident AMONG expression SUCH THAT . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> lident AMONG expression SUCH THAT . expression IS MAXIMUM OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2455,7 +2455,7 @@ expected the form ' among such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT FALSE YEAR ## -## Ends in an error in state: 160. +## Ends in an error in state: 163. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2491,7 +2491,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS YEAR ## -## Ends in an error in state: 161. +## Ends in an error in state: 164. ## ## expression -> lident AMONG expression SUCH THAT expression IS . MAXIMUM OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> lident AMONG expression SUCH THAT expression IS . MINIMUM OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2504,7 +2504,7 @@ expected 'maximum' or 'minimum' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM YEAR ## -## Ends in an error in state: 162. +## Ends in an error in state: 165. ## ## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM . OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2516,7 +2516,7 @@ expected 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR YEAR ## -## Ends in an error in state: 163. +## Ends in an error in state: 166. ## ## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR . IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2528,7 +2528,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR IF YEAR ## -## Ends in an error in state: 164. +## Ends in an error in state: 167. ## ## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF . LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2540,7 +2540,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR IF LIST_EMPTY YEAR ## -## Ends in an error in state: 165. +## Ends in an error in state: 168. ## ## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF LIST_EMPTY . THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2552,7 +2552,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR IF LIST_EMPTY THEN YEAR ## -## Ends in an error in state: 166. +## Ends in an error in state: 169. ## ## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF LIST_EMPTY THEN . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2565,7 +2565,7 @@ expected an expression, following the form 'or if list empty then source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR IF LIST_EMPTY THEN FALSE YEAR ## -## Ends in an error in state: 167. +## Ends in an error in state: 170. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2599,7 +2599,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM YEAR ## -## Ends in an error in state: 168. +## Ends in an error in state: 171. ## ## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM . OR IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2611,7 +2611,7 @@ expected 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR YEAR ## -## Ends in an error in state: 169. +## Ends in an error in state: 172. ## ## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR . IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2623,7 +2623,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF YEAR ## -## Ends in an error in state: 170. +## Ends in an error in state: 173. ## ## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF . LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2635,7 +2635,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF LIST_EMPTY YEAR ## -## Ends in an error in state: 171. +## Ends in an error in state: 174. ## ## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY . THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2647,7 +2647,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF LIST_EMPTY THEN YEAR ## -## Ends in an error in state: 172. +## Ends in an error in state: 175. ## ## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY THEN . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2659,7 +2659,7 @@ expected an expression, following the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF LIST_EMPTY THEN FALSE YEAR ## -## Ends in an error in state: 173. +## Ends in an error in state: 176. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2693,7 +2693,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT CONTENT FALSE YEAR ## -## Ends in an error in state: 174. +## Ends in an error in state: 177. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2727,7 +2727,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG FALSE YEAR ## -## Ends in an error in state: 182. +## Ends in an error in state: 185. ## ## expression -> expression . DOT qlident [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -2761,7 +2761,7 @@ expected 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG UIDENT SUCH YEAR ## -## Ends in an error in state: 183. +## Ends in an error in state: 186. ## ## expression -> EXISTS lident AMONG expression SUCH . THAT expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2773,7 +2773,7 @@ expected the form 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG UIDENT SUCH THAT YEAR ## -## Ends in an error in state: 184. +## Ends in an error in state: 187. ## ## expression -> EXISTS lident AMONG expression SUCH THAT . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2785,7 +2785,7 @@ expected an expression, following the form 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG UIDENT SUCH THAT FALSE YEAR ## -## Ends in an error in state: 185. +## Ends in an error in state: 188. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2819,7 +2819,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT AMONG FALSE YEAR ## -## Ends in an error in state: 191. +## Ends in an error in state: 194. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -2853,7 +2853,7 @@ expected 'we have ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT AMONG UIDENT WE_HAVE YEAR ## -## Ends in an error in state: 192. +## Ends in an error in state: 195. ## ## expression -> FOR ALL lident AMONG expression WE_HAVE . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2865,7 +2865,7 @@ expected the form 'we have ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT AMONG UIDENT WE_HAVE FALSE YEAR ## -## Ends in an error in state: 193. +## Ends in an error in state: 196. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2899,7 +2899,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF UIDENT THEN YEAR ## -## Ends in an error in state: 195. +## Ends in an error in state: 198. ## ## expression -> IF expression THEN . expression ELSE expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2911,7 +2911,7 @@ expected an expression, followed by 'else ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF UIDENT THEN FALSE YEAR ## -## Ends in an error in state: 196. +## Ends in an error in state: 199. ## ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL ELSE DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL ELSE DOT DIV CONTAINS AND ] @@ -2945,7 +2945,7 @@ expected 'else ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF UIDENT THEN UIDENT ELSE YEAR ## -## Ends in an error in state: 197. +## Ends in an error in state: 200. ## ## expression -> IF expression THEN expression ELSE . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -2957,7 +2957,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF UIDENT THEN UIDENT ELSE FALSE YEAR ## -## Ends in an error in state: 198. +## Ends in an error in state: 201. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -2991,7 +2991,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET UIDENT SEMICOLON YEAR ## -## Ends in an error in state: 203. +## Ends in an error in state: 206. ## ## separated_nonempty_list(SEMICOLON,expression) -> expression SEMICOLON . separated_nonempty_list(SEMICOLON,expression) [ RBRACKET ] ## @@ -3003,7 +3003,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET LIDENT DEFINED_AS FALSE YEAR ## -## Ends in an error in state: 210. +## Ends in an error in state: 213. ## ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER IN GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER IN GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3037,7 +3037,7 @@ expected the keyword 'in' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET LIDENT DEFINED_AS UIDENT IN YEAR ## -## Ends in an error in state: 211. +## Ends in an error in state: 214. ## ## expression -> LET lident DEFINED_AS expression IN . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3049,7 +3049,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET LIDENT DEFINED_AS UIDENT IN FALSE YEAR ## -## Ends in an error in state: 212. +## Ends in an error in state: 215. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3083,7 +3083,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH FALSE YEAR ## -## Ends in an error in state: 218. +## Ends in an error in state: 221. ## ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3117,7 +3117,7 @@ expected 'with pattern -- : ...' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT WILDCARD YEAR ## -## Ends in an error in state: 221. +## Ends in an error in state: 224. ## ## match_arm -> WILDCARD . COLON expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3129,7 +3129,7 @@ expected ':' followed by an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT WILDCARD COLON YEAR ## -## Ends in an error in state: 222. +## Ends in an error in state: 225. ## ## match_arm -> WILDCARD COLON . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3141,7 +3141,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT WILDCARD COLON FALSE YEAR ## -## Ends in an error in state: 223. +## Ends in an error in state: 226. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3175,7 +3175,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT UIDENT XOR ## -## Ends in an error in state: 226. +## Ends in an error in state: 229. ## ## match_arm -> constructor_binding . COLON expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3187,14 +3187,14 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT UIDEN ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 21, spurious reduction of production quident -> UIDENT -## In state 99, spurious reduction of production constructor_binding -> quident +## In state 102, spurious reduction of production constructor_binding -> quident ## expected a colon followed by an expression, as in '-- Case : ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT UIDENT COLON YEAR ## -## Ends in an error in state: 227. +## Ends in an error in state: 230. ## ## match_arm -> constructor_binding COLON . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3206,7 +3206,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT UIDENT COLON FALSE YEAR ## -## Ends in an error in state: 228. +## Ends in an error in state: 231. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3241,7 +3241,7 @@ expected a binary operator, or the next case in the form '-- NextCase : expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3275,7 +3275,7 @@ expected 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR YEAR ## -## Ends in an error in state: 231. +## Ends in an error in state: 234. ## ## expression -> MAXIMUM OF expression OR . IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression OR . expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3288,7 +3288,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF YEAR ## -## Ends in an error in state: 232. +## Ends in an error in state: 235. ## ## expression -> MAXIMUM OF expression OR IF . LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> IF . expression THEN expression ELSE expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3301,7 +3301,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF LIST_EMPTY YEAR ## -## Ends in an error in state: 233. +## Ends in an error in state: 236. ## ## expression -> MAXIMUM OF expression OR IF LIST_EMPTY . THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3313,7 +3313,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF LIST_EMPTY THEN YEAR ## -## Ends in an error in state: 234. +## Ends in an error in state: 237. ## ## expression -> MAXIMUM OF expression OR IF LIST_EMPTY THEN . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3325,7 +3325,7 @@ expected an expression, following the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF LIST_EMPTY THEN FALSE YEAR ## -## Ends in an error in state: 235. +## Ends in an error in state: 238. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3359,7 +3359,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF FALSE YEAR ## -## Ends in an error in state: 236. +## Ends in an error in state: 239. ## ## expression -> expression . DOT qlident [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3393,7 +3393,7 @@ expected 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR YEAR ## -## Ends in an error in state: 237. +## Ends in an error in state: 240. ## ## expression -> MINIMUM OF expression OR . IF LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression OR . expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3406,7 +3406,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF YEAR ## -## Ends in an error in state: 238. +## Ends in an error in state: 241. ## ## expression -> MINIMUM OF expression OR IF . LIST_EMPTY THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> IF . expression THEN expression ELSE expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3419,7 +3419,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY YEAR ## -## Ends in an error in state: 239. +## Ends in an error in state: 242. ## ## expression -> MINIMUM OF expression OR IF LIST_EMPTY . THEN expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3431,7 +3431,7 @@ expected the form 'or if list empty then ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY THEN YEAR ## -## Ends in an error in state: 240. +## Ends in an error in state: 243. ## ## expression -> MINIMUM OF expression OR IF LIST_EMPTY THEN . expression [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## @@ -3444,7 +3444,7 @@ expected an expression, following the form 'or if list empty then source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY THEN FALSE YEAR ## -## Ends in an error in state: 241. +## Ends in an error in state: 244. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3478,7 +3478,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINUS FALSE YEAR ## -## Ends in an error in state: 242. +## Ends in an error in state: 245. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3512,7 +3512,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION NOT FALSE YEAR ## -## Ends in an error in state: 243. +## Ends in an error in state: 246. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3546,7 +3546,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT LBRACE ALT LIDENT COLON FALSE YEAR ## -## Ends in an error in state: 244. +## Ends in an error in state: 247. ## ## expression -> expression . DOT qlident [ XOR WITH RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ALT ] @@ -3580,7 +3580,7 @@ expected another field in the form '-- : ', or a closing '}' br source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION SUM UIDENT OF FALSE YEAR ## -## Ends in an error in state: 248. +## Ends in an error in state: 251. ## ## expression -> expression . DOT qlident [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] ## expression -> expression . OF funcall_args [ XOR WITH WE_HAVE THEN SUCH SEMICOLON SCOPE RULE RPAREN RBRACKET RBRACE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL IS INCREASING IN GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE ELSE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS CONSEQUENCE COMMA COLON ASSERTION AND ALT ] @@ -3614,7 +3614,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION VARIES LIDENT WITH_V FALSE YEAR ## -## Ends in an error in state: 266. +## Ends in an error in state: 269. ## ## assertion -> VARIES separated_nonempty_list(DOT,addpos(LIDENT)) WITH_V expression . option(addpos(variation_type)) [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## expression -> expression . DOT qlident [ XOR WITH SCOPE RULE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL INCREASING GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE DOT DIV DEFINITION DECREASING DECLARATION DATE CONTAINS ASSERTION AND ] @@ -3648,7 +3648,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION UNDER_CONDITION UIDENT CONSEQUENCE YEAR ## -## Ends in an error in state: 276. +## Ends in an error in state: 279. ## ## assertion -> option(condition_consequence) . expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3660,7 +3660,7 @@ expected either 'fulfilled' or 'not fulfilled' source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT FILLED YEAR ## -## Ends in an error in state: 280. +## Ends in an error in state: 283. ## ## nonempty_list(scope_item) -> scope_item . [ SCOPE END_CODE DECLARATION ] ## nonempty_list(scope_item) -> scope_item . nonempty_list(scope_item) [ SCOPE END_CODE DECLARATION ] @@ -3673,7 +3673,7 @@ expected the next item in the scope, or the start of a new top-level decleration source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT UNDER_CONDITION UIDENT CONSEQUENCE YEAR ## -## Ends in an error in state: 306. +## Ends in an error in state: 309. ## ## rule -> option(label) option(addpos(exception_to)) RULE rule_expr option(state) option(condition_consequence) . rule_consequence [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3685,7 +3685,7 @@ expected either 'fulfilled' or 'not fulfilled' source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT STATE YEAR ## -## Ends in an error in state: 292. +## Ends in an error in state: 295. ## ## state -> STATE . lident [ UNDER_CONDITION STATE SCOPE OUTPUT NOT LIDENT INTERNAL INPUT FILLED END_CODE DEFINED_AS DECLARATION CONTEXT ] ## @@ -3697,7 +3697,7 @@ expected an identifier defining the name of the state source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT STATE LIDENT YEAR ## -## Ends in an error in state: 305. +## Ends in an error in state: 308. ## ## rule -> option(label) option(addpos(exception_to)) RULE rule_expr option(state) . option(condition_consequence) rule_consequence [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3709,7 +3709,7 @@ expected 'equals' then an expression defining the rule source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT STATE LIDENT YEAR ## -## Ends in an error in state: 295. +## Ends in an error in state: 298. ## ## definition -> option(label) option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) . option(condition_consequence) DEFINED_AS expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3721,7 +3721,7 @@ expected 'equals' then an expression defining the rule source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT UNDER_CONDITION UIDENT CONSEQUENCE YEAR ## -## Ends in an error in state: 296. +## Ends in an error in state: 299. ## ## definition -> option(label) option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) option(condition_consequence) . DEFINED_AS expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3733,7 +3733,7 @@ expected 'fulfilled' or 'not fulfilled' source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT DEFINED_AS FALSE YEAR ## -## Ends in an error in state: 298. +## Ends in an error in state: 301. ## ## definition -> option(label) option(exception_to) DEFINITION separated_nonempty_list(DOT,addpos(LIDENT)) option(addpos(definition_parameters)) option(state) option(condition_consequence) DEFINED_AS expression . [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## expression -> expression . DOT qlident [ XOR WITH SCOPE RULE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER LABEL GREATER_EQUAL GREATER FOR EXCEPTION EQUAL END_CODE DOT DIV DEFINITION DECLARATION DATE CONTAINS ASSERTION AND ] @@ -3767,7 +3767,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT YEAR ## -## Ends in an error in state: 356. +## Ends in an error in state: 359. ## ## scope_decl_item_attribute -> scope_decl_item_attribute_input . scope_decl_item_attribute_output [ LIDENT ] ## @@ -3779,7 +3779,7 @@ expected a variable name, optionally preceded by 'output' source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON INTERNAL YEAR ## -## Ends in an error in state: 359. +## Ends in an error in state: 362. ## ## scope_decl_item -> scope_decl_item_attribute . lident CONTENT typ_data DEPENDS separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute . lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3796,7 +3796,7 @@ expected a variable name source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT YEAR ## -## Ends in an error in state: 360. +## Ends in an error in state: 363. ## ## scope_decl_item -> scope_decl_item_attribute lident . CONTENT typ_data DEPENDS separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident . CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3813,7 +3813,7 @@ expected either 'condition', or 'content' followed by the expected variable type source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT YEAR ## -## Ends in an error in state: 361. +## Ends in an error in state: 364. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT . typ_data DEPENDS separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident CONTENT . typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3827,7 +3827,7 @@ expected a type source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 362. +## Ends in an error in state: 365. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data . DEPENDS separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data . DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3842,7 +3842,7 @@ for the scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS YEAR ## -## Ends in an error in state: 363. +## Ends in an error in state: 366. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS . separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS . LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3855,7 +3855,7 @@ expected a name and type for the dependency of this definition (' content source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS LPAREN YEAR ## -## Ends in an error in state: 364. +## Ends in an error in state: 367. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS LPAREN . separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3867,7 +3867,7 @@ expected a name and type for the dependency of this definition (' content source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT STATE ## -## Ends in an error in state: 365. +## Ends in an error in state: 368. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) . RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3880,15 +3880,15 @@ source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UI ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 21, spurious reduction of production quident -> UIDENT ## In state 30, spurious reduction of production primitive_typ -> quident -## In state 326, spurious reduction of production typ_data -> primitive_typ -## In state 342, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 329, spurious reduction of production typ_data -> primitive_typ +## In state 345, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data ## expected a closing paren, or a comma followed by another argument specification source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT RPAREN YEAR ## -## Ends in an error in state: 366. +## Ends in an error in state: 369. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN . list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3900,7 +3900,7 @@ expected a 'state' declaration for the preceding declaration, or the next declar source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION STATE LIDENT YEAR ## -## Ends in an error in state: 367. +## Ends in an error in state: 370. ## ## list(state) -> state . list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3913,7 +3913,7 @@ declaration for the scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT UIDENT DEFINED_AS ## -## Ends in an error in state: 370. +## Ends in an error in state: 373. ## ## scope_decl_item -> scope_decl_item_attribute lident CONTENT typ_data DEPENDS separated_nonempty_list(COMMA,var_content) . list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3926,15 +3926,15 @@ source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UI ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 21, spurious reduction of production quident -> UIDENT ## In state 30, spurious reduction of production primitive_typ -> quident -## In state 326, spurious reduction of production typ_data -> primitive_typ -## In state 342, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 329, spurious reduction of production typ_data -> primitive_typ +## In state 345, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data ## expected the next declaration for the scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION YEAR ## -## Ends in an error in state: 373. +## Ends in an error in state: 376. ## ## scope_decl_item -> scope_decl_item_attribute lident CONDITION . DEPENDS separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident CONDITION . DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3948,7 +3948,7 @@ expected the next declaration for the scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION DEPENDS YEAR ## -## Ends in an error in state: 374. +## Ends in an error in state: 377. ## ## scope_decl_item -> scope_decl_item_attribute lident CONDITION DEPENDS . separated_nonempty_list(COMMA,var_content) list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## scope_decl_item -> scope_decl_item_attribute lident CONDITION DEPENDS . LPAREN separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] @@ -3961,7 +3961,7 @@ expected the form 'depends on content ' source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION DEPENDS LPAREN YEAR ## -## Ends in an error in state: 375. +## Ends in an error in state: 378. ## ## scope_decl_item -> scope_decl_item_attribute lident CONDITION DEPENDS LPAREN . separated_nonempty_list(COMMA,var_content) RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3973,7 +3973,7 @@ expected the form 'depends on ( content [, content source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION DEPENDS LPAREN LIDENT CONTENT UIDENT STATE ## -## Ends in an error in state: 376. +## Ends in an error in state: 379. ## ## scope_decl_item -> scope_decl_item_attribute lident CONDITION DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) . RPAREN list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3986,15 +3986,15 @@ source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 21, spurious reduction of production quident -> UIDENT ## In state 30, spurious reduction of production primitive_typ -> quident -## In state 326, spurious reduction of production typ_data -> primitive_typ -## In state 342, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 329, spurious reduction of production typ_data -> primitive_typ +## In state 345, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data ## expected a closing paren, or a comma followed by another argument declaration (', content ') source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONDITION DEPENDS LPAREN LIDENT CONTENT UIDENT RPAREN YEAR ## -## Ends in an error in state: 377. +## Ends in an error in state: 380. ## ## scope_decl_item -> scope_decl_item_attribute lident CONDITION DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN . list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -4006,7 +4006,7 @@ expected the next definition in scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON LIDENT YEAR ## -## Ends in an error in state: 384. +## Ends in an error in state: 387. ## ## scope_decl_item -> lident . SCOPE quident [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -4018,7 +4018,7 @@ expected the form ' scope ', or a scope variable declaration source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON LIDENT SCOPE YEAR ## -## Ends in an error in state: 385. +## Ends in an error in state: 388. ## ## scope_decl_item -> lident SCOPE . quident [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -4030,7 +4030,7 @@ expected a scope name source_file: BEGIN_CODE DECLARATION LIDENT YEAR ## -## Ends in an error in state: 399. +## Ends in an error in state: 402. ## ## code_item -> DECLARATION lident . CONTENT typ_data DEPENDS separated_nonempty_list(COMMA,var_content) option(opt_def) [ SCOPE END_CODE DECLARATION ] ## code_item -> DECLARATION lident . CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] @@ -4044,7 +4044,7 @@ expected 'content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT YEAR ## -## Ends in an error in state: 400. +## Ends in an error in state: 403. ## ## code_item -> DECLARATION lident CONTENT . typ_data DEPENDS separated_nonempty_list(COMMA,var_content) option(opt_def) [ SCOPE END_CODE DECLARATION ] ## code_item -> DECLARATION lident CONTENT . typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] @@ -4058,7 +4058,7 @@ expected a type source_file: BEGIN_CODE DECLARATION LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 401. +## Ends in an error in state: 404. ## ## code_item -> DECLARATION lident CONTENT typ_data . DEPENDS separated_nonempty_list(COMMA,var_content) option(opt_def) [ SCOPE END_CODE DECLARATION ] ## code_item -> DECLARATION lident CONTENT typ_data . DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] @@ -4073,7 +4073,7 @@ expected 'equals ', optionally preceded by 'depends on content source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS YEAR ## -## Ends in an error in state: 402. +## Ends in an error in state: 405. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS . separated_nonempty_list(COMMA,var_content) option(opt_def) [ SCOPE END_CODE DECLARATION ] ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS . LPAREN separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] @@ -4086,7 +4086,7 @@ expected a variable name, following the form 'depends on content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN YEAR ## -## Ends in an error in state: 403. +## Ends in an error in state: 406. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN . separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4098,7 +4098,7 @@ expected a variable name, following the form 'depends on ( content , source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT DEFINED_AS ## -## Ends in an error in state: 404. +## Ends in an error in state: 407. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) . RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4111,8 +4111,8 @@ source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT ## may provide an INCOMPLETE view of the future (what was expected next). ## In state 21, spurious reduction of production quident -> UIDENT ## In state 30, spurious reduction of production primitive_typ -> quident -## In state 326, spurious reduction of production typ_data -> primitive_typ -## In state 342, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 329, spurious reduction of production typ_data -> primitive_typ +## In state 345, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data ## expected ')', or ',' followed by another argument declaration in the form ' @@ -4120,7 +4120,7 @@ content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT RPAREN YEAR ## -## Ends in an error in state: 405. +## Ends in an error in state: 408. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN . option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4132,7 +4132,7 @@ expected 'equals ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT RPAREN DEFINED_AS YEAR ## -## Ends in an error in state: 406. +## Ends in an error in state: 409. ## ## option(opt_def) -> DEFINED_AS . expression [ SCOPE END_CODE DECLARATION ] ## @@ -4144,7 +4144,7 @@ expected an expression source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT YEAR ## -## Ends in an error in state: 340. +## Ends in an error in state: 343. ## ## separated_nonempty_list(COMMA,var_content) -> lident . CONTENT typ_data [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] ## separated_nonempty_list(COMMA,var_content) -> lident . CONTENT typ_data COMMA separated_nonempty_list(COMMA,var_content) [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] @@ -4157,7 +4157,7 @@ expected 'content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT YEAR ## -## Ends in an error in state: 341. +## Ends in an error in state: 344. ## ## separated_nonempty_list(COMMA,var_content) -> lident CONTENT . typ_data [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] ## separated_nonempty_list(COMMA,var_content) -> lident CONTENT . typ_data COMMA separated_nonempty_list(COMMA,var_content) [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] @@ -4170,7 +4170,7 @@ expected a type source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 342. +## Ends in an error in state: 345. ## ## separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data . [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] ## separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data . COMMA separated_nonempty_list(COMMA,var_content) [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] @@ -4183,7 +4183,7 @@ expected 'equals ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT UIDENT COMMA YEAR ## -## Ends in an error in state: 343. +## Ends in an error in state: 346. ## ## separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data COMMA . separated_nonempty_list(COMMA,var_content) [ STATE SCOPE RPAREN OUTPUT LIDENT INTERNAL INPUT END_CODE DEFINED_AS DECLARATION DATA CONTEXT CONDITION ] ## @@ -4195,7 +4195,7 @@ expected the definition of another argument in the form ' content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT UIDENT DEFINED_AS FALSE YEAR ## -## Ends in an error in state: 407. +## Ends in an error in state: 410. ## ## expression -> expression . DOT qlident [ XOR WITH SCOPE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL END_CODE DOT DIV DECLARATION CONTAINS AND ] ## expression -> expression . OF funcall_args [ XOR WITH SCOPE PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL END_CODE DOT DIV DECLARATION CONTAINS AND ] @@ -4229,7 +4229,7 @@ expected a binary operator continuing the expression, or a keyword ending the ex source_file: BEGIN_DIRECTIVE YEAR ## -## Ends in an error in state: 419. +## Ends in an error in state: 422. ## ## source_file_item -> BEGIN_DIRECTIVE . directive END_DIRECTIVE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -4241,7 +4241,7 @@ expected a directive, e.g. 'Include: ' source_file: BEGIN_DIRECTIVE LAW_INCLUDE YEAR ## -## Ends in an error in state: 429. +## Ends in an error in state: 432. ## ## directive -> LAW_INCLUDE . COLON nonempty_list(DIRECTIVE_ARG) option(AT_PAGE) [ END_DIRECTIVE ] ## @@ -4253,7 +4253,7 @@ expected ':', then a file name or 'JORFTEXTNNNNNNNNNNNN' source_file: BEGIN_DIRECTIVE LAW_INCLUDE COLON YEAR ## -## Ends in an error in state: 430. +## Ends in an error in state: 433. ## ## directive -> LAW_INCLUDE COLON . nonempty_list(DIRECTIVE_ARG) option(AT_PAGE) [ END_DIRECTIVE ] ## @@ -4265,7 +4265,7 @@ expected a file name or 'JORFTEXTNNNNNNNNNNNN' source_file: BEGIN_DIRECTIVE LAW_INCLUDE COLON DIRECTIVE_ARG YEAR ## -## Ends in an error in state: 431. +## Ends in an error in state: 434. ## ## nonempty_list(DIRECTIVE_ARG) -> DIRECTIVE_ARG . [ END_DIRECTIVE AT_PAGE ] ## nonempty_list(DIRECTIVE_ARG) -> DIRECTIVE_ARG . nonempty_list(DIRECTIVE_ARG) [ END_DIRECTIVE AT_PAGE ] @@ -4278,7 +4278,7 @@ expected a page specification in the form '@p.', or a newline source_file: BEGIN_DIRECTIVE LAW_INCLUDE COLON DIRECTIVE_ARG AT_PAGE YEAR ## -## Ends in an error in state: 436. +## Ends in an error in state: 439. ## ## source_file_item -> BEGIN_DIRECTIVE directive . END_DIRECTIVE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -4290,7 +4290,7 @@ expected a newline source_file: LAW_HEADING YEAR ## -## Ends in an error in state: 441. +## Ends in an error in state: 444. ## ## source_file -> source_file_item . source_file [ # ] ## diff --git a/compiler/surface/parser.mly b/compiler/surface/parser.mly index e7737041..e946050b 100644 --- a/compiler/surface/parser.mly +++ b/compiler/surface/parser.mly @@ -164,14 +164,21 @@ let mbinder == let expression := | e = addpos(naked_expression) ; <> +let state_qualifier == +| STATE ; state = addpos(LIDENT); <> + let naked_expression == -| id = addpos(LIDENT) ; { - match Localisation.lex_builtin (Mark.remove id) with - | Some b -> Builtin b - | None -> Ident ([], id) +| id = addpos(LIDENT) ; state = option(state_qualifier) ; { + match Localisation.lex_builtin (Mark.remove id), state with + | Some b, None -> Builtin b + | Some _, Some _ -> + Message.raise_spanned_error + (Pos.from_lpos $loc(id)) + "Invalid use of built-in @{%s@}" (Mark.remove id) + | None, state -> Ident ([], id, state) } | uid = uident ; DOT ; qlid = qlident ; { - let path, lid = qlid in Ident (uid :: path, lid) + let path, lid = qlid in Ident (uid :: path, lid, None) } | l = literal ; { Literal l diff --git a/tests/test_arithmetic/bad/division_by_zero.catala_en b/tests/arithmetic/bad/division_by_zero.catala_en similarity index 80% rename from tests/test_arithmetic/bad/division_by_zero.catala_en rename to tests/arithmetic/bad/division_by_zero.catala_en index c0c7352b..a86641cc 100644 --- a/tests/test_arithmetic/bad/division_by_zero.catala_en +++ b/tests/arithmetic/bad/division_by_zero.catala_en @@ -37,7 +37,7 @@ $ catala Interpret -s Dec division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.23-20.30: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:20.23-20.30: └──┐ 20 │ definition i equals 1. / 0. │ ‾‾‾‾‾‾‾ @@ -45,7 +45,7 @@ The division operator: └─ with decimals The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.28-20.30: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:20.28-20.30: └──┐ 20 │ definition i equals 1. / 0. │ ‾‾ @@ -60,7 +60,7 @@ $ catala Interpret -s Int division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.23-10.28: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:10.23-10.28: └──┐ 10 │ definition i equals 1 / 0 │ ‾‾‾‾‾ @@ -68,7 +68,7 @@ The division operator: └─ with integers The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.27-10.28: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:10.27-10.28: └──┐ 10 │ definition i equals 1 / 0 │ ‾ @@ -83,7 +83,7 @@ $ catala Interpret -s Money division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.23-30.35: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:30.23-30.35: └──┐ 30 │ definition i equals $10.0 / $0.0 │ ‾‾‾‾‾‾‾‾‾‾‾‾ @@ -91,7 +91,7 @@ The division operator: └─ with money The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.31-30.35: +┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:30.31-30.35: └──┐ 30 │ definition i equals $10.0 / $0.0 │ ‾‾‾‾ diff --git a/tests/test_arithmetic/bad/logical_prio.catala_en b/tests/arithmetic/bad/logical_prio.catala_en similarity index 80% rename from tests/test_arithmetic/bad/logical_prio.catala_en rename to tests/arithmetic/bad/logical_prio.catala_en index 0eed46b8..11bba650 100644 --- a/tests/test_arithmetic/bad/logical_prio.catala_en +++ b/tests/arithmetic/bad/logical_prio.catala_en @@ -11,12 +11,12 @@ $ catala typecheck [ERROR] Please add parentheses to explicit which of these operators should be applied first -┌─⯈ tests/test_arithmetic/bad/logical_prio.catala_en:6.28-6.31: +┌─⯈ tests/arithmetic/bad/logical_prio.catala_en:6.28-6.31: └─┐ 6 │ definition o equals true and (false and true and true) or false │ ‾‾‾ -┌─⯈ tests/test_arithmetic/bad/logical_prio.catala_en:6.58-6.60: +┌─⯈ tests/arithmetic/bad/logical_prio.catala_en:6.58-6.60: └─┐ 6 │ definition o equals true and (false and true and true) or false │ ‾‾ diff --git a/tests/test_arithmetic/good/priorities.catala_en b/tests/arithmetic/good/priorities.catala_en similarity index 100% rename from tests/test_arithmetic/good/priorities.catala_en rename to tests/arithmetic/good/priorities.catala_en diff --git a/tests/test_arithmetic/good/rounding.catala_en b/tests/arithmetic/good/rounding.catala_en similarity index 100% rename from tests/test_arithmetic/good/rounding.catala_en rename to tests/arithmetic/good/rounding.catala_en diff --git a/tests/test_arithmetic/good/trivial.catala_en b/tests/arithmetic/good/trivial.catala_en similarity index 100% rename from tests/test_arithmetic/good/trivial.catala_en rename to tests/arithmetic/good/trivial.catala_en diff --git a/tests/test_arithmetic/good/trivial.ml b/tests/arithmetic/good/trivial.ml similarity index 100% rename from tests/test_arithmetic/good/trivial.ml rename to tests/arithmetic/good/trivial.ml diff --git a/tests/test_array/bad/fold_error.catala_en b/tests/array/bad/fold_error.catala_en similarity index 83% rename from tests/test_array/bad/fold_error.catala_en rename to tests/array/bad/fold_error.catala_en index b7309aa5..04869405 100644 --- a/tests/test_array/bad/fold_error.catala_en +++ b/tests/array/bad/fold_error.catala_en @@ -16,21 +16,21 @@ $ catala Interpret -s A I don't know how to apply operator >= on types integer and money -┌─⯈ tests/test_array/bad/fold_error.catala_en:10.48-10.55: +┌─⯈ tests/array/bad/fold_error.catala_en:10.48-10.55: └──┐ 10 │ definition list_high_count equals number of (m >= $7) for m among list │ ‾‾‾‾‾‾‾ └─ Article Type integer coming from expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:5.32-5.39: +┌─⯈ tests/array/bad/fold_error.catala_en:5.32-5.39: └─┐ 5 │ context list content list of integer │ ‾‾‾‾‾‾‾ └─ Article Type money coming from expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:10.53-10.55: +┌─⯈ tests/array/bad/fold_error.catala_en:10.53-10.55: └──┐ 10 │ definition list_high_count equals number of (m >= $7) for m among list │ ‾‾ diff --git a/tests/test_array/good/aggregation.catala_en b/tests/array/good/aggregation.catala_en similarity index 100% rename from tests/test_array/good/aggregation.catala_en rename to tests/array/good/aggregation.catala_en diff --git a/tests/test_array/good/aggregation_2.catala_en b/tests/array/good/aggregation_2.catala_en similarity index 100% rename from tests/test_array/good/aggregation_2.catala_en rename to tests/array/good/aggregation_2.catala_en diff --git a/tests/test_array/good/aggregation_3.catala_en b/tests/array/good/aggregation_3.catala_en similarity index 100% rename from tests/test_array/good/aggregation_3.catala_en rename to tests/array/good/aggregation_3.catala_en diff --git a/tests/test_array/good/concatenation.catala_en b/tests/array/good/concatenation.catala_en similarity index 100% rename from tests/test_array/good/concatenation.catala_en rename to tests/array/good/concatenation.catala_en diff --git a/tests/test_array/good/filter.catala_en b/tests/array/good/filter.catala_en similarity index 100% rename from tests/test_array/good/filter.catala_en rename to tests/array/good/filter.catala_en diff --git a/tests/test_array/good/filter_map.catala_en b/tests/array/good/filter_map.catala_en similarity index 100% rename from tests/test_array/good/filter_map.catala_en rename to tests/array/good/filter_map.catala_en diff --git a/tests/test_array/good/fold.catala_en b/tests/array/good/fold.catala_en similarity index 100% rename from tests/test_array/good/fold.catala_en rename to tests/array/good/fold.catala_en diff --git a/tests/test_array/good/map.catala_en b/tests/array/good/map.catala_en similarity index 100% rename from tests/test_array/good/map.catala_en rename to tests/array/good/map.catala_en diff --git a/tests/test_array/good/simple.catala_en b/tests/array/good/simple.catala_en similarity index 100% rename from tests/test_array/good/simple.catala_en rename to tests/array/good/simple.catala_en diff --git a/tests/test_array/good/simpler.catala_en b/tests/array/good/simpler.catala_en similarity index 100% rename from tests/test_array/good/simpler.catala_en rename to tests/array/good/simpler.catala_en diff --git a/tests/test_array/good/simplest.catala_en b/tests/array/good/simplest.catala_en similarity index 100% rename from tests/test_array/good/simplest.catala_en rename to tests/array/good/simplest.catala_en diff --git a/tests/test_backends/output/main.c b/tests/backends/output/main.c similarity index 100% rename from tests/test_backends/output/main.c rename to tests/backends/output/main.c diff --git a/tests/test_backends/output/simple.c b/tests/backends/output/simple.c similarity index 94% rename from tests/test_backends/output/simple.c rename to tests/backends/output/simple.c index 8d306397..95aab2b5 100644 --- a/tests/test_backends/output/simple.c +++ b/tests/backends/output/simple.c @@ -121,7 +121,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.end_line = 11; @@ -158,7 +158,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict_1) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.end_line = 11; @@ -181,7 +181,7 @@ baz_struct baz_func(baz_in_struct baz_in) { if (match_arg.code == option_1_enum_none_1_cons) { void* /* unit */ dummy_var = match_arg.payload.none_1_cons; catala_fatal_error_raised.code = catala_no_value_provided; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.end_line = 11; @@ -203,7 +203,7 @@ baz_struct baz_func(baz_in_struct baz_in) { if (match_arg_1.code == option_1_enum_none_1_cons) { void* /* unit */ dummy_var = match_arg_1.payload.none_1_cons; catala_fatal_error_raised.code = catala_no_value_provided; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.end_line = 11; @@ -249,7 +249,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict_2) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 12; @@ -282,7 +282,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict_3) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 12; @@ -332,7 +332,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict_4) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 12; @@ -361,7 +361,7 @@ baz_struct baz_func(baz_in_struct baz_in) { if (match_arg_4.code == option_2_enum_none_2_cons) { void* /* unit */ dummy_var = match_arg_4.payload.none_2_cons; catala_fatal_error_raised.code = catala_no_value_provided; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 12; @@ -402,7 +402,7 @@ baz_struct baz_func(baz_in_struct baz_in) { } if (exception_conflict_5) { catala_fatal_error_raised.code = catala_conflict; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 13; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 13; @@ -425,7 +425,7 @@ baz_struct baz_func(baz_in_struct baz_in) { if (match_arg_5.code == option_3_enum_none_3_cons) { void* /* unit */ dummy_var = match_arg_5.payload.none_3_cons; catala_fatal_error_raised.code = catala_no_value_provided; - catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; + catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en"; catala_fatal_error_raised.position.start_line = 13; catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.end_line = 13; diff --git a/tests/test_backends/simple.catala_en b/tests/backends/simple.catala_en similarity index 100% rename from tests/test_backends/simple.catala_en rename to tests/backends/simple.catala_en diff --git a/tests/test_bool/bad/bad_assert.catala_en b/tests/bool/bad/bad_assert.catala_en similarity index 76% rename from tests/test_bool/bad/bad_assert.catala_en rename to tests/bool/bad/bad_assert.catala_en index 2f4b6a78..33746df0 100644 --- a/tests/test_bool/bad/bad_assert.catala_en +++ b/tests/bool/bad/bad_assert.catala_en @@ -18,21 +18,21 @@ Error during typechecking, incompatible types: └─⯈ bool While typechecking the following expression: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.13-9.14: +┌─⯈ tests/bool/bad/bad_assert.catala_en:9.13-9.14: └─┐ 9 │ assertion x │ ‾ └─ Test Type integer is coming from: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:5.20-5.27: +┌─⯈ tests/bool/bad/bad_assert.catala_en:5.20-5.27: └─┐ 5 │ output x content integer │ ‾‾‾‾‾‾‾ └─ Test Type bool is coming from: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.13-9.14: +┌─⯈ tests/bool/bad/bad_assert.catala_en:9.13-9.14: └─┐ 9 │ assertion x │ ‾ diff --git a/tests/test_bool/bad/test_xor_with_int.catala_en b/tests/bool/bad/test_xor_with_int.catala_en similarity index 83% rename from tests/test_bool/bad/test_xor_with_int.catala_en rename to tests/bool/bad/test_xor_with_int.catala_en index 5b9947f8..718549c1 100644 --- a/tests/test_bool/bad/test_xor_with_int.catala_en +++ b/tests/bool/bad/test_xor_with_int.catala_en @@ -16,14 +16,14 @@ Error during typechecking, incompatible types: └─⯈ bool This expression has type integer: -┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.30-8.32: +┌─⯈ tests/bool/bad/test_xor_with_int.catala_en:8.30-8.32: └─┐ 8 │ definition test_var equals 10 xor 20 │ ‾‾ └─ 'xor' should be a boolean operator Expected type bool coming from expression: -┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.33-8.36: +┌─⯈ tests/bool/bad/test_xor_with_int.catala_en:8.33-8.36: └─┐ 8 │ definition test_var equals 10 xor 20 │ ‾‾‾ diff --git a/tests/test_bool/good/test_bool.catala_en b/tests/bool/good/test_bool.catala_en similarity index 100% rename from tests/test_bool/good/test_bool.catala_en rename to tests/bool/good/test_bool.catala_en diff --git a/tests/test_bool/good/test_precedence.catala_en b/tests/bool/good/test_precedence.catala_en similarity index 100% rename from tests/test_bool/good/test_precedence.catala_en rename to tests/bool/good/test_precedence.catala_en diff --git a/tests/test_bool/good/test_xor.catala_en b/tests/bool/good/test_xor.catala_en similarity index 100% rename from tests/test_bool/good/test_xor.catala_en rename to tests/bool/good/test_xor.catala_en diff --git a/tests/test_date/bad/rounding_option_conflict.catala_en b/tests/date/bad/rounding_option_conflict.catala_en similarity index 84% rename from tests/test_date/bad/rounding_option_conflict.catala_en rename to tests/date/bad/rounding_option_conflict.catala_en index 2fc1d085..6749a713 100644 --- a/tests/test_date/bad/rounding_option_conflict.catala_en +++ b/tests/date/bad/rounding_option_conflict.catala_en @@ -28,12 +28,12 @@ $ catala Interpret -s Test [ERROR] You cannot set multiple date rounding modes -┌─⯈ tests/test_date/bad/rounding_option_conflict.catala_en:10.14-10.24: +┌─⯈ tests/date/bad/rounding_option_conflict.catala_en:10.14-10.24: └──┐ 10 │ date round decreasing │ ‾‾‾‾‾‾‾‾‾‾ -┌─⯈ tests/test_date/bad/rounding_option_conflict.catala_en:12.14-12.24: +┌─⯈ tests/date/bad/rounding_option_conflict.catala_en:12.14-12.24: └──┐ 12 │ date round increasing │ ‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_date/bad/rounding_option_en.catala_en b/tests/date/bad/rounding_option_en.catala_en similarity index 100% rename from tests/test_date/bad/rounding_option_en.catala_en rename to tests/date/bad/rounding_option_en.catala_en diff --git a/tests/test_date/bad/rounding_option_fr.catala_fr b/tests/date/bad/rounding_option_fr.catala_fr similarity index 100% rename from tests/test_date/bad/rounding_option_fr.catala_fr rename to tests/date/bad/rounding_option_fr.catala_fr diff --git a/tests/test_date/bad/substraction.catala_en b/tests/date/bad/substraction.catala_en similarity index 80% rename from tests/test_date/bad/substraction.catala_en rename to tests/date/bad/substraction.catala_en index bb58420e..05724c2f 100644 --- a/tests/test_date/bad/substraction.catala_en +++ b/tests/date/bad/substraction.catala_en @@ -12,19 +12,19 @@ $ catala Interpret -s A I don't know how to apply operator <= on types date and duration -┌─⯈ tests/test_date/bad/substraction.catala_en:6.23-6.52: +┌─⯈ tests/date/bad/substraction.catala_en:6.23-6.52: └─┐ 6 │ definition o equals |2024-01-16| - 0 day <= 0 day │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Type date coming from expression: -┌─⯈ tests/test_date/bad/substraction.catala_en:6.23-6.43: +┌─⯈ tests/date/bad/substraction.catala_en:6.23-6.43: └─┐ 6 │ definition o equals |2024-01-16| - 0 day <= 0 day │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Type duration coming from expression: -┌─⯈ tests/test_date/bad/substraction.catala_en:6.47-6.52: +┌─⯈ tests/date/bad/substraction.catala_en:6.47-6.52: └─┐ 6 │ definition o equals |2024-01-16| - 0 day <= 0 day │ ‾‾‾‾‾ diff --git a/tests/test_date/bad/uncomparable_duration.catala_en b/tests/date/bad/uncomparable_duration.catala_en similarity index 82% rename from tests/test_date/bad/uncomparable_duration.catala_en rename to tests/date/bad/uncomparable_duration.catala_en index 4fbed2e8..b2120e9e 100644 --- a/tests/test_date/bad/uncomparable_duration.catala_en +++ b/tests/date/bad/uncomparable_duration.catala_en @@ -45,14 +45,14 @@ $ catala Interpret -s Ge [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.23-40.30: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:40.23-40.30: └──┐ 40 │ definition d equals 1 month >= 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `>=` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.34-40.39: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:40.34-40.39: └──┐ 40 │ definition d equals 1 month >= 2 day │ ‾‾‾‾‾ @@ -66,14 +66,14 @@ $ catala Interpret -s Gt [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.23-30.30: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:30.23-30.30: └──┐ 30 │ definition d equals 1 month > 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<=` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.33-30.38: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:30.33-30.38: └──┐ 30 │ definition d equals 1 month > 2 day │ ‾‾‾‾‾ @@ -87,14 +87,14 @@ $ catala Interpret -s Le [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.23-20.30: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:20.23-20.30: └──┐ 20 │ definition d equals 1 month <= 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<=` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.34-20.39: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:20.34-20.39: └──┐ 20 │ definition d equals 1 month <= 2 day │ ‾‾‾‾‾ @@ -108,14 +108,14 @@ $ catala Interpret -s Lt [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.23-10.30: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:10.23-10.30: └──┐ 10 │ definition d equals 1 month < 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.33-10.38: +┌─⯈ tests/date/bad/uncomparable_duration.catala_en:10.33-10.38: └──┐ 10 │ definition d equals 1 month < 2 day │ ‾‾‾‾‾ diff --git a/tests/test_date/good/durations.catala_en b/tests/date/good/durations.catala_en similarity index 100% rename from tests/test_date/good/durations.catala_en rename to tests/date/good/durations.catala_en diff --git a/tests/test_date/good/rounding_option_en.catala_en b/tests/date/good/rounding_option_en.catala_en similarity index 100% rename from tests/test_date/good/rounding_option_en.catala_en rename to tests/date/good/rounding_option_en.catala_en diff --git a/tests/test_date/good/rounding_option_fr.catala_fr b/tests/date/good/rounding_option_fr.catala_fr similarity index 100% rename from tests/test_date/good/rounding_option_fr.catala_fr rename to tests/date/good/rounding_option_fr.catala_fr diff --git a/tests/test_date/good/simple.catala_en b/tests/date/good/simple.catala_en similarity index 100% rename from tests/test_date/good/simple.catala_en rename to tests/date/good/simple.catala_en diff --git a/tests/test_dec/good/infinite_precision.catala_en b/tests/dec/good/infinite_precision.catala_en similarity index 100% rename from tests/test_dec/good/infinite_precision.catala_en rename to tests/dec/good/infinite_precision.catala_en diff --git a/tests/test_dec/good/rounding.catala_en b/tests/dec/good/rounding.catala_en similarity index 100% rename from tests/test_dec/good/rounding.catala_en rename to tests/dec/good/rounding.catala_en diff --git a/tests/test_dec/good/simple.catala_en b/tests/dec/good/simple.catala_en similarity index 100% rename from tests/test_dec/good/simple.catala_en rename to tests/dec/good/simple.catala_en diff --git a/tests/test_dec/good/zero_after_comma.catala_en b/tests/dec/good/zero_after_comma.catala_en similarity index 100% rename from tests/test_dec/good/zero_after_comma.catala_en rename to tests/dec/good/zero_after_comma.catala_en diff --git a/tests/default/bad/conflict.catala_en b/tests/default/bad/conflict.catala_en new file mode 100644 index 00000000..6975b20f --- /dev/null +++ b/tests/default/bad/conflict.catala_en @@ -0,0 +1,18 @@ +## Article + +```catala +declaration scope A: + output x content integer + +scope A: + definition x under condition true consequence equals 1 + definition x under condition true consequence equals 0 +``` + +```catala-test-inline +$ catala Interpret -s A --message=gnu +tests/default/bad/conflict.catala_en:8.56-8.57: [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. +tests/default/bad/conflict.catala_en:8.56-8.57: [ERROR] This consequence has a valid justification: +tests/default/bad/conflict.catala_en:9.56-9.57: [ERROR] This consequence has a valid justification: +#return code 123# +``` diff --git a/tests/test_default/bad/empty.catala_en b/tests/default/bad/empty.catala_en similarity index 83% rename from tests/test_default/bad/empty.catala_en rename to tests/default/bad/empty.catala_en index 3c2e6db9..c522134a 100644 --- a/tests/test_default/bad/empty.catala_en +++ b/tests/default/bad/empty.catala_en @@ -13,7 +13,7 @@ scope A: $ catala Interpret -s A [WARNING] In scope "A", the variable "y" is declared but never defined; did you forget something? -┌─⯈ tests/test_default/bad/empty.catala_en:6.10-6.11: +┌─⯈ tests/default/bad/empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ @@ -22,7 +22,7 @@ $ catala Interpret -s A This variable evaluated to an empty term (no rule that defined it applied in this situation): error_empty ⟨false ⊢ ∅⟩ -┌─⯈ tests/test_default/bad/empty.catala_en:6.10-6.11: +┌─⯈ tests/default/bad/empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_default/bad/empty_with_rules.catala_en b/tests/default/bad/empty_with_rules.catala_en similarity index 90% rename from tests/test_default/bad/empty_with_rules.catala_en rename to tests/default/bad/empty_with_rules.catala_en index bf16c9ed..cbc74306 100644 --- a/tests/test_default/bad/empty_with_rules.catala_en +++ b/tests/default/bad/empty_with_rules.catala_en @@ -19,7 +19,7 @@ This variable evaluated to an empty term (no rule that defined it applied in thi error_empty ⟨ ⟨ ⟨ ⟨1 = 4 ⊢ ⟨1⟩⟩ | 1 = 3 ⊢ ⟨1⟩ ⟩ | 1 = 2 ⊢ ⟨1⟩ ⟩ | false ⊢ ∅ ⟩ -┌─⯈ tests/test_default/bad/empty_with_rules.catala_en:5.10-5.11: +┌─⯈ tests/default/bad/empty_with_rules.catala_en:5.10-5.11: └─┐ 5 │ output x content integer │ ‾ diff --git a/tests/test_default/bad/typing_or_logical_error.catala_en b/tests/default/bad/typing_or_logical_error.catala_en similarity index 82% rename from tests/test_default/bad/typing_or_logical_error.catala_en rename to tests/default/bad/typing_or_logical_error.catala_en index b22a00ea..bda799e6 100644 --- a/tests/test_default/bad/typing_or_logical_error.catala_en +++ b/tests/default/bad/typing_or_logical_error.catala_en @@ -21,13 +21,13 @@ or "under condition", or "." Error token: -┌─⯈ tests/test_default/bad/typing_or_logical_error.catala_en:8.30-8.31: +┌─⯈ tests/default/bad/typing_or_logical_error.catala_en:8.30-8.31: └─┐ 8 │ definition wrong_definition = 1 │ ‾ Last good token: -┌─⯈ tests/test_default/bad/typing_or_logical_error.catala_en:8.13-8.29: +┌─⯈ tests/default/bad/typing_or_logical_error.catala_en:8.13-8.29: └─┐ 8 │ definition wrong_definition = 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_default/good/mutliple_definitions.catala_en b/tests/default/good/mutliple_definitions.catala_en similarity index 75% rename from tests/test_default/good/mutliple_definitions.catala_en rename to tests/default/good/mutliple_definitions.catala_en index b904ed75..ce4ebd9c 100644 --- a/tests/test_default/good/mutliple_definitions.catala_en +++ b/tests/default/good/mutliple_definitions.catala_en @@ -15,12 +15,12 @@ scope A: $ catala Typecheck --check-invariants [WARNING] These definitions have identical justifications and consequences; is it a mistake? -┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:9.3-9.15: +┌─⯈ tests/default/good/mutliple_definitions.catala_en:9.3-9.15: └─┐ 9 │ definition w equals 3 │ ‾‾‾‾‾‾‾‾‾‾‾‾ -┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:6.3-6.15: +┌─⯈ tests/default/good/mutliple_definitions.catala_en:6.3-6.15: └─┐ 6 │ definition w equals 3 │ ‾‾‾‾‾‾‾‾‾‾‾‾ @@ -32,12 +32,12 @@ $ catala Typecheck --check-invariants $ catala Interpret -s A [WARNING] These definitions have identical justifications and consequences; is it a mistake? -┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:9.3-9.15: +┌─⯈ tests/default/good/mutliple_definitions.catala_en:9.3-9.15: └─┐ 9 │ definition w equals 3 │ ‾‾‾‾‾‾‾‾‾‾‾‾ -┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:6.3-6.15: +┌─⯈ tests/default/good/mutliple_definitions.catala_en:6.3-6.15: └─┐ 6 │ definition w equals 3 │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/ambiguous_cases.catala_en b/tests/enum/bad/ambiguous_cases.catala_en similarity index 87% rename from tests/test_enum/bad/ambiguous_cases.catala_en rename to tests/enum/bad/ambiguous_cases.catala_en index 1c7fb1a2..cf91d779 100644 --- a/tests/test_enum/bad/ambiguous_cases.catala_en +++ b/tests/enum/bad/ambiguous_cases.catala_en @@ -19,7 +19,7 @@ $ catala Interpret -s A [ERROR] This constructor name is ambiguous, it can belong to E or F. Desambiguate it by prefixing it with the enum name. -┌─⯈ tests/test_enum/bad/ambiguous_cases.catala_en:14.23-14.28: +┌─⯈ tests/enum/bad/ambiguous_cases.catala_en:14.23-14.28: └──┐ 14 │ definition e equals Case1 │ ‾‾‾‾‾ diff --git a/tests/test_enum/bad/ambiguous_wildcard.catala_en b/tests/enum/bad/ambiguous_wildcard.catala_en similarity index 89% rename from tests/test_enum/bad/ambiguous_wildcard.catala_en rename to tests/enum/bad/ambiguous_wildcard.catala_en index 1b9c2ece..cb89fc44 100644 --- a/tests/test_enum/bad/ambiguous_wildcard.catala_en +++ b/tests/enum/bad/ambiguous_wildcard.catala_en @@ -20,7 +20,7 @@ $ catala Interpret -s A [ERROR] Couldn't infer the enumeration name from lonely wildcard (wildcard cannot be used as single match case) -┌─⯈ tests/test_enum/bad/ambiguous_wildcard.catala_en:15.5-15.21: +┌─⯈ tests/enum/bad/ambiguous_wildcard.catala_en:15.5-15.21: └──┐ 15 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/duplicate_case.catala_en b/tests/enum/bad/duplicate_case.catala_en similarity index 82% rename from tests/test_enum/bad/duplicate_case.catala_en rename to tests/enum/bad/duplicate_case.catala_en index 1e31355e..80f6d7fc 100644 --- a/tests/test_enum/bad/duplicate_case.catala_en +++ b/tests/enum/bad/duplicate_case.catala_en @@ -23,13 +23,13 @@ $ catala Interpret -s A [ERROR] The constructor Case3 has been matched twice: -┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:18.16-18.20: +┌─⯈ tests/enum/bad/duplicate_case.catala_en:18.16-18.20: └──┐ 18 │ -- Case3 : true │ ‾‾‾‾ └─ Article -┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:17.16-17.21: +┌─⯈ tests/enum/bad/duplicate_case.catala_en:17.16-17.21: └──┐ 17 │ -- Case3 : false │ ‾‾‾‾‾ diff --git a/tests/test_enum/bad/empty.catala_en b/tests/enum/bad/empty.catala_en similarity index 86% rename from tests/test_enum/bad/empty.catala_en rename to tests/enum/bad/empty.catala_en index 94f07b78..2b0cdeef 100644 --- a/tests/test_enum/bad/empty.catala_en +++ b/tests/enum/bad/empty.catala_en @@ -12,7 +12,7 @@ $ catala Typecheck [ERROR] The enum Foo does not have any cases; give it some for Catala to be able to accept it. -┌─⯈ tests/test_enum/bad/empty.catala_en:4.25-4.28: +┌─⯈ tests/enum/bad/empty.catala_en:4.25-4.28: └─┐ 4 │ declaration enumeration Foo: │ ‾‾‾ diff --git a/tests/test_enum/bad/missing_case.catala_en b/tests/enum/bad/missing_case.catala_en similarity index 88% rename from tests/test_enum/bad/missing_case.catala_en rename to tests/enum/bad/missing_case.catala_en index 301df1d3..df7c50bf 100644 --- a/tests/test_enum/bad/missing_case.catala_en +++ b/tests/enum/bad/missing_case.catala_en @@ -20,7 +20,7 @@ scope A: $ catala Interpret -s A [WARNING] The constructor "Case3" of enumeration "E" is never used; maybe it's unnecessary? -┌─⯈ tests/test_enum/bad/missing_case.catala_en:7.6-7.11: +┌─⯈ tests/enum/bad/missing_case.catala_en:7.6-7.11: └─┐ 7 │ -- Case3 │ ‾‾‾‾‾ @@ -28,7 +28,7 @@ $ catala Interpret -s A [ERROR] The constructor Case3 of enum E is missing from this pattern matching -┌─⯈ tests/test_enum/bad/missing_case.catala_en:14.25-16.22: +┌─⯈ tests/enum/bad/missing_case.catala_en:14.25-16.22: └──┐ 14 │ definition out equals match e with pattern │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/not_ending_wildcard.catala_en b/tests/enum/bad/not_ending_wildcard.catala_en similarity index 85% rename from tests/test_enum/bad/not_ending_wildcard.catala_en rename to tests/enum/bad/not_ending_wildcard.catala_en index 2289b0d6..beaf72ef 100644 --- a/tests/test_enum/bad/not_ending_wildcard.catala_en +++ b/tests/enum/bad/not_ending_wildcard.catala_en @@ -42,7 +42,7 @@ $ catala Interpret -s First_case Wildcard must be the last match case Not ending wildcard: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.5-19.21: +┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:19.5-19.21: └──┐ 19 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ @@ -50,7 +50,7 @@ Not ending wildcard: └─ Wildcard can't be the first case Next reachable case: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.5-20.18: +┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:20.5-20.18: └──┐ 20 │ -- Case2 : 42 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ @@ -65,7 +65,7 @@ $ catala Interpret -s Middle_case Wildcard must be the last match case Not ending wildcard: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.5-19.21: +┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:19.5-19.21: └──┐ 19 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ @@ -73,7 +73,7 @@ Not ending wildcard: └─ Wildcard can't be the first case Next reachable case: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.5-20.18: +┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:20.5-20.18: └──┐ 20 │ -- Case2 : 42 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/quick_pattern_2.catala_en b/tests/enum/bad/quick_pattern_2.catala_en similarity index 84% rename from tests/test_enum/bad/quick_pattern_2.catala_en rename to tests/enum/bad/quick_pattern_2.catala_en index ab869924..7dcc5623 100644 --- a/tests/test_enum/bad/quick_pattern_2.catala_en +++ b/tests/enum/bad/quick_pattern_2.catala_en @@ -36,21 +36,21 @@ Error during typechecking, incompatible types: └─⯈ F While typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.23-28.24: +┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:28.23-28.24: └──┐ 28 │ definition y equals x with pattern Case3 │ ‾ └─ Article Type E is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:17.21-17.22: +┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:17.21-17.22: └──┐ 17 │ context x content E │ ‾ └─ Article Type F is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.23-28.43: +┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:28.23-28.43: └──┐ 28 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/quick_pattern_3.catala_en b/tests/enum/bad/quick_pattern_3.catala_en similarity index 80% rename from tests/test_enum/bad/quick_pattern_3.catala_en rename to tests/enum/bad/quick_pattern_3.catala_en index faac0369..145539a4 100644 --- a/tests/test_enum/bad/quick_pattern_3.catala_en +++ b/tests/enum/bad/quick_pattern_3.catala_en @@ -26,21 +26,21 @@ Error during typechecking, incompatible types: └─⯈ F While typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.21-18.22: +┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:18.21-18.22: └──┐ 18 │ definition y equals x with pattern Case3 │ ‾ └─ Article Type E is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:13.19-13.20: +┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:13.19-13.20: └──┐ 13 │ context x content E │ ‾ └─ Article Type F is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.21-18.41: +┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:18.21-18.41: └──┐ 18 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/quick_pattern_4.catala_en b/tests/enum/bad/quick_pattern_4.catala_en similarity index 80% rename from tests/test_enum/bad/quick_pattern_4.catala_en rename to tests/enum/bad/quick_pattern_4.catala_en index 85c0275a..f834074c 100644 --- a/tests/test_enum/bad/quick_pattern_4.catala_en +++ b/tests/enum/bad/quick_pattern_4.catala_en @@ -25,21 +25,21 @@ Error during typechecking, incompatible types: └─⯈ F While typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.21-17.22: +┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:17.21-17.22: └──┐ 17 │ definition y equals x with pattern Case3 │ ‾ └─ Test Type E is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:12.19-12.20: +┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:12.19-12.20: └──┐ 12 │ context x content E │ ‾ └─ Test Type F is coming from: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.21-17.41: +┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:17.21-17.41: └──┐ 17 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/quick_pattern_fail.catala_en b/tests/enum/bad/quick_pattern_fail.catala_en similarity index 90% rename from tests/test_enum/bad/quick_pattern_fail.catala_en rename to tests/enum/bad/quick_pattern_fail.catala_en index 67f696b2..6518795d 100644 --- a/tests/test_enum/bad/quick_pattern_fail.catala_en +++ b/tests/enum/bad/quick_pattern_fail.catala_en @@ -22,7 +22,7 @@ The name of this constructor has not been defined before (it's probably a typographical error). Here is your code : -┌─⯈ tests/test_enum/bad/quick_pattern_fail.catala_en:15.38-15.43: +┌─⯈ tests/enum/bad/quick_pattern_fail.catala_en:15.38-15.43: └──┐ 15 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾ diff --git a/tests/test_enum/bad/too_many_cases.catala_en b/tests/enum/bad/too_many_cases.catala_en similarity index 90% rename from tests/test_enum/bad/too_many_cases.catala_en rename to tests/enum/bad/too_many_cases.catala_en index b4ea2ec2..9e71fbd2 100644 --- a/tests/test_enum/bad/too_many_cases.catala_en +++ b/tests/enum/bad/too_many_cases.catala_en @@ -26,7 +26,7 @@ $ catala Interpret -s A [ERROR] This case matches a constructor of enumeration E but previous case were matching constructors of enumeration F -┌─⯈ tests/test_enum/bad/too_many_cases.catala_en:21.8-21.13: +┌─⯈ tests/enum/bad/too_many_cases.catala_en:21.8-21.13: └──┐ 21 │ -- Case4 : true │ ‾‾‾‾‾ diff --git a/tests/test_enum/bad/useless_wildcard.catala_en b/tests/enum/bad/useless_wildcard.catala_en similarity index 90% rename from tests/test_enum/bad/useless_wildcard.catala_en rename to tests/enum/bad/useless_wildcard.catala_en index 97e5ec9f..0ff593f7 100644 --- a/tests/test_enum/bad/useless_wildcard.catala_en +++ b/tests/enum/bad/useless_wildcard.catala_en @@ -21,7 +21,7 @@ scope A: $ catala Interpret -s A [WARNING] Unreachable match case, all constructors of the enumeration E are already specified -┌─⯈ tests/test_enum/bad/useless_wildcard.catala_en:17.5-17.21: +┌─⯈ tests/enum/bad/useless_wildcard.catala_en:17.5-17.21: └──┐ 17 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_enum/bad/wrong_cons.catala_en b/tests/enum/bad/wrong_cons.catala_en similarity index 88% rename from tests/test_enum/bad/wrong_cons.catala_en rename to tests/enum/bad/wrong_cons.catala_en index 323fc0cf..1835636a 100644 --- a/tests/test_enum/bad/wrong_cons.catala_en +++ b/tests/enum/bad/wrong_cons.catala_en @@ -18,7 +18,7 @@ The name of this constructor has not been defined before (it's probably a typographical error). Here is your code : -┌─⯈ tests/test_enum/bad/wrong_cons.catala_en:11.23-11.28: +┌─⯈ tests/enum/bad/wrong_cons.catala_en:11.23-11.28: └──┐ 11 │ definition e equals Case2 │ ‾‾‾‾‾ diff --git a/tests/test_enum/good/disambiguated_cases.catala_en b/tests/enum/good/disambiguated_cases.catala_en similarity index 100% rename from tests/test_enum/good/disambiguated_cases.catala_en rename to tests/enum/good/disambiguated_cases.catala_en diff --git a/tests/test_enum/good/quick_pattern_check.catala_en b/tests/enum/good/quick_pattern_check.catala_en similarity index 100% rename from tests/test_enum/good/quick_pattern_check.catala_en rename to tests/enum/good/quick_pattern_check.catala_en diff --git a/tests/test_enum/good/simple.catala_en b/tests/enum/good/simple.catala_en similarity index 100% rename from tests/test_enum/good/simple.catala_en rename to tests/enum/good/simple.catala_en diff --git a/tests/test_enum/good/wildcard.catala_en b/tests/enum/good/wildcard.catala_en similarity index 100% rename from tests/test_enum/good/wildcard.catala_en rename to tests/enum/good/wildcard.catala_en diff --git a/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en b/tests/exception/bad/ambiguous_unlabeled_exception.catala_en similarity index 73% rename from tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en rename to tests/exception/bad/ambiguous_unlabeled_exception.catala_en index db33ac1b..83c6d5eb 100644 --- a/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en +++ b/tests/exception/bad/ambiguous_unlabeled_exception.catala_en @@ -19,7 +19,7 @@ $ catala Interpret -s A This exception can refer to several definitions. Try using labels to disambiguate Ambiguous exception -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:12.3-13.15: +┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:12.3-13.15: └──┐ 12 │ exception │ ‾‾‾‾‾‾‾‾‾ @@ -28,14 +28,14 @@ Ambiguous exception └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.14-10.15: +┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:10.14-10.15: └──┐ 10 │ definition x equals 1 │ ‾ └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:8.14-8.15: +┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:8.14-8.15: └─┐ 8 │ definition x equals 0 │ ‾ diff --git a/tests/test_exception/bad/dangling_exception.catala_en b/tests/exception/bad/dangling_exception.catala_en similarity index 84% rename from tests/test_exception/bad/dangling_exception.catala_en rename to tests/exception/bad/dangling_exception.catala_en index 1702e1ca..d9c496a0 100644 --- a/tests/test_exception/bad/dangling_exception.catala_en +++ b/tests/exception/bad/dangling_exception.catala_en @@ -18,7 +18,7 @@ $ catala Interpret -s A [ERROR] Unknown label for the scope variable x: "base_y" -┌─⯈ tests/test_exception/bad/dangling_exception.catala_en:12.13-12.19: +┌─⯈ tests/exception/bad/dangling_exception.catala_en:12.13-12.19: └──┐ 12 │ exception base_y │ ‾‾‾‾‾‾ diff --git a/tests/test_exception/bad/exceptions_cycle.catala_en b/tests/exception/bad/exceptions_cycle.catala_en similarity index 86% rename from tests/test_exception/bad/exceptions_cycle.catala_en rename to tests/exception/bad/exceptions_cycle.catala_en index 6fe1f289..0452332b 100644 --- a/tests/test_exception/bad/exceptions_cycle.catala_en +++ b/tests/exception/bad/exceptions_cycle.catala_en @@ -23,7 +23,7 @@ $ catala Interpret -s A [ERROR] Exception cycle detected when defining x: each of these 3 exceptions applies over the previous one, and the first applies over the last -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:8.3-10.15: +┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:8.3-10.15: └──┐ 8 │ label base_x │ ‾‾‾‾‾‾‾‾‾‾‾‾ @@ -32,7 +32,7 @@ Exception cycle detected when defining x: each of these 3 exceptions applies ove 10 │ definition x equals 0 │ ‾‾‾‾‾‾‾‾‾‾‾‾ -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:12.3-14.15: +┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:12.3-14.15: └──┐ 12 │ label exception_x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ @@ -41,7 +41,7 @@ Exception cycle detected when defining x: each of these 3 exceptions applies ove 14 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:16.3-18.15: +┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:16.3-18.15: └──┐ 16 │ label exception_exception_x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_exception/bad/missing_unlabeled_definition.catala_en b/tests/exception/bad/missing_unlabeled_definition.catala_en similarity index 82% rename from tests/test_exception/bad/missing_unlabeled_definition.catala_en rename to tests/exception/bad/missing_unlabeled_definition.catala_en index 809417b8..7939dfe7 100644 --- a/tests/test_exception/bad/missing_unlabeled_definition.catala_en +++ b/tests/exception/bad/missing_unlabeled_definition.catala_en @@ -14,7 +14,7 @@ $ catala Interpret -s A [ERROR] This exception does not have a corresponding definition -┌─⯈ tests/test_exception/bad/missing_unlabeled_definition.catala_en:8.3-9.15: +┌─⯈ tests/exception/bad/missing_unlabeled_definition.catala_en:8.3-9.15: └─┐ 8 │ exception │ ‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_exception/bad/one_ambiguous_exception.catala_en b/tests/exception/bad/one_ambiguous_exception.catala_en similarity index 76% rename from tests/test_exception/bad/one_ambiguous_exception.catala_en rename to tests/exception/bad/one_ambiguous_exception.catala_en index 26e6b0d7..8ef30058 100644 --- a/tests/test_exception/bad/one_ambiguous_exception.catala_en +++ b/tests/exception/bad/one_ambiguous_exception.catala_en @@ -25,7 +25,7 @@ $ catala Interpret -s A This exception can refer to several definitions. Try using labels to disambiguate Ambiguous exception -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:18.3-19.15: +┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:18.3-19.15: └──┐ 18 │ exception │ ‾‾‾‾‾‾‾‾‾ @@ -34,14 +34,14 @@ Ambiguous exception └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.14-16.15: +┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:16.14-16.15: └──┐ 16 │ definition y equals 4 │ ‾ └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:14.14-14.15: +┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:14.14-14.15: └──┐ 14 │ definition y equals 2 │ ‾ diff --git a/tests/test_exception/bad/self_exception.catala_en b/tests/exception/bad/self_exception.catala_en similarity index 83% rename from tests/test_exception/bad/self_exception.catala_en rename to tests/exception/bad/self_exception.catala_en index 4f3237f0..674c590c 100644 --- a/tests/test_exception/bad/self_exception.catala_en +++ b/tests/exception/bad/self_exception.catala_en @@ -15,7 +15,7 @@ $ catala Interpret -s A [ERROR] Cannot define rule as an exception to itself -┌─⯈ tests/test_exception/bad/self_exception.catala_en:9.13-9.19: +┌─⯈ tests/exception/bad/self_exception.catala_en:9.13-9.19: └─┐ 9 │ exception base_y │ ‾‾‾‾‾‾ diff --git a/tests/test_exception/bad/two_exceptions.catala_en b/tests/exception/bad/two_exceptions.catala_en similarity index 81% rename from tests/test_exception/bad/two_exceptions.catala_en rename to tests/exception/bad/two_exceptions.catala_en index 6ad1a93f..c7cbd40d 100644 --- a/tests/test_exception/bad/two_exceptions.catala_en +++ b/tests/exception/bad/two_exceptions.catala_en @@ -21,14 +21,14 @@ $ catala Interpret -s A There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:12.23-12.24: +┌─⯈ tests/exception/bad/two_exceptions.catala_en:12.23-12.24: └──┐ 12 │ definition x equals 1 │ ‾ └─ Test This consequence has a valid justification: -┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:15.23-15.24: +┌─⯈ tests/exception/bad/two_exceptions.catala_en:15.23-15.24: └──┐ 15 │ definition x equals 2 │ ‾ diff --git a/tests/test_exception/good/context_with_default.catala_en b/tests/exception/good/context_with_default.catala_en similarity index 100% rename from tests/test_exception/good/context_with_default.catala_en rename to tests/exception/good/context_with_default.catala_en diff --git a/tests/test_exception/good/double_definition.catala_en b/tests/exception/good/double_definition.catala_en similarity index 81% rename from tests/test_exception/good/double_definition.catala_en rename to tests/exception/good/double_definition.catala_en index 98e1ae0b..a0c11fd7 100644 --- a/tests/test_exception/good/double_definition.catala_en +++ b/tests/exception/good/double_definition.catala_en @@ -16,13 +16,13 @@ scope Foo: $ catala Typecheck --check-invariants [WARNING] These definitions have identical justifications and consequences; is it a mistake? -┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: +┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15: └─┐ 9 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ └─ Foo -┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: +┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15: └─┐ 8 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ @@ -35,13 +35,13 @@ $ catala Typecheck --check-invariants $ catala Scopelang -s Foo [WARNING] These definitions have identical justifications and consequences; is it a mistake? -┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: +┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15: └─┐ 9 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ └─ Foo -┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: +┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15: └─┐ 8 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ @@ -60,13 +60,13 @@ Dcalc translation below. $ catala Dcalc -s Foo [WARNING] These definitions have identical justifications and consequences; is it a mistake? -┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: +┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15: └─┐ 9 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ └─ Foo -┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: +┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15: └─┐ 8 │ definition x equals 1 │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_exception/good/duplicate_labels.catala_en b/tests/exception/good/duplicate_labels.catala_en similarity index 100% rename from tests/test_exception/good/duplicate_labels.catala_en rename to tests/exception/good/duplicate_labels.catala_en diff --git a/tests/test_exception/good/exception.catala_en b/tests/exception/good/exception.catala_en similarity index 100% rename from tests/test_exception/good/exception.catala_en rename to tests/exception/good/exception.catala_en diff --git a/tests/test_exception/good/exceptions_squared.catala_en b/tests/exception/good/exceptions_squared.catala_en similarity index 100% rename from tests/test_exception/good/exceptions_squared.catala_en rename to tests/exception/good/exceptions_squared.catala_en diff --git a/tests/test_exception/good/grouped_exceptions.catala_en b/tests/exception/good/grouped_exceptions.catala_en similarity index 100% rename from tests/test_exception/good/grouped_exceptions.catala_en rename to tests/exception/good/grouped_exceptions.catala_en diff --git a/tests/test_exception/good/groups_of_exceptions.catala_en b/tests/exception/good/groups_of_exceptions.catala_en similarity index 87% rename from tests/test_exception/good/groups_of_exceptions.catala_en rename to tests/exception/good/groups_of_exceptions.catala_en index 214269d7..8f5d0870 100644 --- a/tests/test_exception/good/groups_of_exceptions.catala_en +++ b/tests/exception/good/groups_of_exceptions.catala_en @@ -84,36 +84,36 @@ $ catala Exceptions -s Foo -v x Printing the tree of exceptions for the definitions of variable "x" of scope "Foo". [RESULT] Definitions with label "base": -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:9.3-9.26: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:9.3-9.26: └─┐ 9 │ label base definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:13.3-13.26: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:13.3-13.26: └──┐ 13 │ label base definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test [RESULT] Definitions with label "intermediate": -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:17.3-17.49: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:17.3-17.49: └──┐ 17 │ label intermediate exception base definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:21.3-21.49: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:21.3-21.49: └──┐ 21 │ label intermediate exception base definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test [RESULT] Definitions with label "exception_to_intermediate": -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:25.3-25.38: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:25.3-25.38: └──┐ 25 │ exception intermediate definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test -┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:29.3-29.38: +┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:29.3-29.38: └──┐ 29 │ exception intermediate definition x under condition │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_exception/good/same_label_two_variables.catala_en b/tests/exception/good/same_label_two_variables.catala_en similarity index 100% rename from tests/test_exception/good/same_label_two_variables.catala_en rename to tests/exception/good/same_label_two_variables.catala_en diff --git a/tests/test_exception/good/split_unlabeled_exception.catala_en b/tests/exception/good/split_unlabeled_exception.catala_en similarity index 100% rename from tests/test_exception/good/split_unlabeled_exception.catala_en rename to tests/exception/good/split_unlabeled_exception.catala_en diff --git a/tests/test_exception/good/two_exceptions_same_outcome.catala_en b/tests/exception/good/two_exceptions_same_outcome.catala_en similarity index 100% rename from tests/test_exception/good/two_exceptions_same_outcome.catala_en rename to tests/exception/good/two_exceptions_same_outcome.catala_en diff --git a/tests/test_exception/good/two_unlabeled_exceptions.catala_en b/tests/exception/good/two_unlabeled_exceptions.catala_en similarity index 100% rename from tests/test_exception/good/two_unlabeled_exceptions.catala_en rename to tests/exception/good/two_unlabeled_exceptions.catala_en diff --git a/tests/test_exception/good/unlabeled_exception.catala_en b/tests/exception/good/unlabeled_exception.catala_en similarity index 100% rename from tests/test_exception/good/unlabeled_exception.catala_en rename to tests/exception/good/unlabeled_exception.catala_en diff --git a/tests/test_exception/good/unsorted_unlabeled_exceptions.catala_en b/tests/exception/good/unsorted_unlabeled_exceptions.catala_en similarity index 100% rename from tests/test_exception/good/unsorted_unlabeled_exceptions.catala_en rename to tests/exception/good/unsorted_unlabeled_exceptions.catala_en diff --git a/tests/test_func/bad/bad_func.catala_en b/tests/func/bad/bad_func.catala_en similarity index 91% rename from tests/test_func/bad/bad_func.catala_en rename to tests/func/bad/bad_func.catala_en index 8df80939..ba8129eb 100644 --- a/tests/test_func/bad/bad_func.catala_en +++ b/tests/func/bad/bad_func.catala_en @@ -33,14 +33,14 @@ $ catala Interpret -s S There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_func/bad/bad_func.catala_en:14.65-14.70: +┌─⯈ tests/func/bad/bad_func.catala_en:14.65-14.70: └──┐ 14 │ definition f of x under condition (x >= x) consequence equals x + x │ ‾‾‾‾‾ └─ Article This consequence has a valid justification: -┌─⯈ tests/test_func/bad/bad_func.catala_en:15.62-15.67: +┌─⯈ tests/func/bad/bad_func.catala_en:15.62-15.67: └──┐ 15 │ definition f of x under condition not b consequence equals x * x │ ‾‾‾‾‾ diff --git a/tests/test_func/bad/param_inconsistency.catala_en b/tests/func/bad/param_inconsistency.catala_en similarity index 84% rename from tests/test_func/bad/param_inconsistency.catala_en rename to tests/func/bad/param_inconsistency.catala_en index 3b30b92c..992f4aa3 100644 --- a/tests/test_func/bad/param_inconsistency.catala_en +++ b/tests/func/bad/param_inconsistency.catala_en @@ -18,13 +18,13 @@ $ catala typecheck Function argument name mismatch between declaration ('x') and definition ('y') Argument declared here: -┌─⯈ tests/test_func/bad/param_inconsistency.catala_en:4.42-4.43: +┌─⯈ tests/func/bad/param_inconsistency.catala_en:4.42-4.43: └─┐ 4 │ internal f1 content decimal depends on x content integer │ ‾ Defined here: -┌─⯈ tests/test_func/bad/param_inconsistency.catala_en:10.20-10.21: +┌─⯈ tests/func/bad/param_inconsistency.catala_en:10.20-10.21: └──┐ 10 │ definition f1 of y under condition not cond │ ‾ diff --git a/tests/test_func/bad/param_inconsistency2.catala_en b/tests/func/bad/param_inconsistency2.catala_en similarity index 83% rename from tests/test_func/bad/param_inconsistency2.catala_en rename to tests/func/bad/param_inconsistency2.catala_en index 25b97ff8..32c1b78c 100644 --- a/tests/test_func/bad/param_inconsistency2.catala_en +++ b/tests/func/bad/param_inconsistency2.catala_en @@ -17,13 +17,13 @@ $ catala typecheck Function argument name mismatch between declaration ('x') and definition ('y') Argument declared here: -┌─⯈ tests/test_func/bad/param_inconsistency2.catala_en:4.42-4.43: +┌─⯈ tests/func/bad/param_inconsistency2.catala_en:4.42-4.43: └─┐ 4 │ internal f1 content decimal depends on x content integer │ ‾ Defined here: -┌─⯈ tests/test_func/bad/param_inconsistency2.catala_en:9.30-9.31: +┌─⯈ tests/func/bad/param_inconsistency2.catala_en:9.30-9.31: └─┐ 9 │ exception definition f1 of y under condition not cond │ ‾ diff --git a/tests/test_func/bad/param_inconsistency3.catala_en b/tests/func/bad/param_inconsistency3.catala_en similarity index 83% rename from tests/test_func/bad/param_inconsistency3.catala_en rename to tests/func/bad/param_inconsistency3.catala_en index 4072b062..510740e2 100644 --- a/tests/test_func/bad/param_inconsistency3.catala_en +++ b/tests/func/bad/param_inconsistency3.catala_en @@ -17,13 +17,13 @@ $ catala typecheck Function argument name mismatch between declaration ('x') and definition ('y') Argument declared here: -┌─⯈ tests/test_func/bad/param_inconsistency3.catala_en:4.42-4.43: +┌─⯈ tests/func/bad/param_inconsistency3.catala_en:4.42-4.43: └─┐ 4 │ internal f1 content decimal depends on x content integer │ ‾ Defined here: -┌─⯈ tests/test_func/bad/param_inconsistency3.catala_en:9.30-9.31: +┌─⯈ tests/func/bad/param_inconsistency3.catala_en:9.30-9.31: └─┐ 9 │ exception definition f1 of y under condition not cond │ ‾ diff --git a/tests/test_func/bad/recursive.catala_en b/tests/func/bad/recursive.catala_en similarity index 88% rename from tests/test_func/bad/recursive.catala_en rename to tests/func/bad/recursive.catala_en index 8258ae81..9379876c 100644 --- a/tests/test_func/bad/recursive.catala_en +++ b/tests/func/bad/recursive.catala_en @@ -13,7 +13,7 @@ $ catala Interpret -s RecursiveFunc [ERROR] The variable f is used in one of its definitions, but recursion is forbidden in Catala -┌─⯈ tests/test_func/bad/recursive.catala_en:8.28-8.29: +┌─⯈ tests/func/bad/recursive.catala_en:8.28-8.29: └─┐ 8 │ definition f of x equals f of x + 1 │ ‾ diff --git a/tests/test_func/good/closure_conversion.catala_en b/tests/func/good/closure_conversion.catala_en similarity index 100% rename from tests/test_func/good/closure_conversion.catala_en rename to tests/func/good/closure_conversion.catala_en diff --git a/tests/test_func/good/closure_conversion_reduce.catala_en b/tests/func/good/closure_conversion_reduce.catala_en similarity index 100% rename from tests/test_func/good/closure_conversion_reduce.catala_en rename to tests/func/good/closure_conversion_reduce.catala_en diff --git a/tests/test_func/good/closure_return.catala_en b/tests/func/good/closure_return.catala_en similarity index 100% rename from tests/test_func/good/closure_return.catala_en rename to tests/func/good/closure_return.catala_en diff --git a/tests/test_func/good/closure_through_scope.catala_en b/tests/func/good/closure_through_scope.catala_en similarity index 100% rename from tests/test_func/good/closure_through_scope.catala_en rename to tests/func/good/closure_through_scope.catala_en diff --git a/tests/test_func/good/context_func.catala_en b/tests/func/good/context_func.catala_en similarity index 100% rename from tests/test_func/good/context_func.catala_en rename to tests/func/good/context_func.catala_en diff --git a/tests/test_func/good/func.catala_en b/tests/func/good/func.catala_en similarity index 100% rename from tests/test_func/good/func.catala_en rename to tests/func/good/func.catala_en diff --git a/tests/test_func/good/param_consistency.catala_en b/tests/func/good/param_consistency.catala_en similarity index 100% rename from tests/test_func/good/param_consistency.catala_en rename to tests/func/good/param_consistency.catala_en diff --git a/tests/test_func/good/scope_call_func_struct_closure.catala_en b/tests/func/good/scope_call_func_struct_closure.catala_en similarity index 100% rename from tests/test_func/good/scope_call_func_struct_closure.catala_en rename to tests/func/good/scope_call_func_struct_closure.catala_en diff --git a/tests/test_io/bad/forgot_input.catala_en b/tests/io/bad/forgot_input.catala_en similarity index 81% rename from tests/test_io/bad/forgot_input.catala_en rename to tests/io/bad/forgot_input.catala_en index 75a69a08..565f266c 100644 --- a/tests/test_io/bad/forgot_input.catala_en +++ b/tests/io/bad/forgot_input.catala_en @@ -20,14 +20,14 @@ $ catala Typecheck This subscope variable is a mandatory input but no definition was provided. Incriminated subscope: -┌─⯈ tests/test_io/bad/forgot_input.catala_en:9.3-9.4: +┌─⯈ tests/io/bad/forgot_input.catala_en:9.3-9.4: └─┐ 9 │ a scope A │ ‾ └─ Test Incriminated variable: -┌─⯈ tests/test_io/bad/forgot_input.catala_en:6.9-6.10: +┌─⯈ tests/io/bad/forgot_input.catala_en:6.9-6.10: └─┐ 6 │ input x content integer │ ‾ diff --git a/tests/test_io/bad/inputing_to_not_input.catala_en b/tests/io/bad/inputing_to_not_input.catala_en similarity index 76% rename from tests/test_io/bad/inputing_to_not_input.catala_en rename to tests/io/bad/inputing_to_not_input.catala_en index f7964339..1fc58859 100644 --- a/tests/test_io/bad/inputing_to_not_input.catala_en +++ b/tests/io/bad/inputing_to_not_input.catala_en @@ -20,21 +20,21 @@ $ catala Typecheck It is impossible to give a definition to a subscope variable not tagged as input or context. Incriminated subscope: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:8.3-8.4: +┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:8.3-8.4: └─┐ 8 │ a scope A │ ‾ └─ Test Incriminated variable: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:5.10-5.11: +┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:5.10-5.11: └─┐ 5 │ output a content integer │ ‾ └─ Test Incriminated subscope variable definition: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:14.3-14.17: +┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:14.3-14.17: └──┐ 14 │ definition a.a equals 0 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_io/bad/redefining_input.catala_en b/tests/io/bad/redefining_input.catala_en similarity index 78% rename from tests/test_io/bad/redefining_input.catala_en rename to tests/io/bad/redefining_input.catala_en index aa469500..84b6a6b0 100644 --- a/tests/test_io/bad/redefining_input.catala_en +++ b/tests/io/bad/redefining_input.catala_en @@ -13,14 +13,14 @@ $ catala Typecheck It is impossible to give a definition to a scope variable tagged as input. Incriminated variable: -┌─⯈ tests/test_io/bad/redefining_input.catala_en:5.16-5.17: +┌─⯈ tests/io/bad/redefining_input.catala_en:5.16-5.17: └─┐ 5 │ input output a content integer │ ‾ └─ Test Incriminated variable definition: -┌─⯈ tests/test_io/bad/redefining_input.catala_en:8.3-8.15: +┌─⯈ tests/io/bad/redefining_input.catala_en:8.3-8.15: └─┐ 8 │ definition a equals 0 │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_io/bad/using_non_output.catala_en b/tests/io/bad/using_non_output.catala_en similarity index 77% rename from tests/test_io/bad/using_non_output.catala_en rename to tests/io/bad/using_non_output.catala_en index f624e436..893002ab 100644 --- a/tests/test_io/bad/using_non_output.catala_en +++ b/tests/io/bad/using_non_output.catala_en @@ -17,7 +17,7 @@ scope B: $ catala Typecheck [WARNING] This variable is dead code; it does not contribute to computing any of scope "A" outputs. Did you forget something? -┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.12-5.13: +┌─⯈ tests/io/bad/using_non_output.catala_en:5.12-5.13: └─┐ 5 │ internal a content integer │ ‾ @@ -26,21 +26,21 @@ $ catala Typecheck The variable a.a cannot be used here, as it is not part of subscope a's results. Maybe you forgot to qualify it as an output? Incriminated variable usage: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:14.13-14.16: +┌─⯈ tests/io/bad/using_non_output.catala_en:14.13-14.16: └──┐ 14 │ assertion a.a = 0 │ ‾‾‾ └─ Test Incriminated subscope variable declaration: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.12-5.13: +┌─⯈ tests/io/bad/using_non_output.catala_en:5.12-5.13: └─┐ 5 │ internal a content integer │ ‾ └─ Test Incriminated subscope declaration: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:8.3-8.4: +┌─⯈ tests/io/bad/using_non_output.catala_en:8.3-8.4: └─┐ 8 │ a scope A │ ‾ diff --git a/tests/test_io/good/all_io.catala_en b/tests/io/good/all_io.catala_en similarity index 100% rename from tests/test_io/good/all_io.catala_en rename to tests/io/good/all_io.catala_en diff --git a/tests/test_io/good/condition_only_input.catala_en b/tests/io/good/condition_only_input.catala_en similarity index 100% rename from tests/test_io/good/condition_only_input.catala_en rename to tests/io/good/condition_only_input.catala_en diff --git a/tests/test_io/good/subscope.catala_en b/tests/io/good/subscope.catala_en similarity index 100% rename from tests/test_io/good/subscope.catala_en rename to tests/io/good/subscope.catala_en diff --git a/tests/test_literate/good/test_grave_char_en.catala_en b/tests/literate/good/test_grave_char_en.catala_en similarity index 100% rename from tests/test_literate/good/test_grave_char_en.catala_en rename to tests/literate/good/test_grave_char_en.catala_en diff --git a/tests/test_literate/good/test_grave_char_fr.catala_fr b/tests/literate/good/test_grave_char_fr.catala_fr similarity index 100% rename from tests/test_literate/good/test_grave_char_fr.catala_fr rename to tests/literate/good/test_grave_char_fr.catala_fr diff --git a/tests/test_literate/good/test_grave_char_pl.catala_pl b/tests/literate/good/test_grave_char_pl.catala_pl similarity index 100% rename from tests/test_literate/good/test_grave_char_pl.catala_pl rename to tests/literate/good/test_grave_char_pl.catala_pl diff --git a/tests/test_metadata/good/test_markup_refactoring.catala_en b/tests/metadata/good/test_markup_refactoring.catala_en similarity index 100% rename from tests/test_metadata/good/test_markup_refactoring.catala_en rename to tests/metadata/good/test_markup_refactoring.catala_en diff --git a/tests/test_modules/bad/mod_bad_include.catala_en b/tests/modules/bad/mod_bad_include.catala_en similarity index 81% rename from tests/test_modules/bad/mod_bad_include.catala_en rename to tests/modules/bad/mod_bad_include.catala_en index 29c33f15..34f8778e 100644 --- a/tests/test_modules/bad/mod_bad_include.catala_en +++ b/tests/modules/bad/mod_bad_include.catala_en @@ -7,13 +7,13 @@ $ catala typecheck A file that declares a module cannot be used through the raw '> Include' directive. You should use it as a module with '> Use This_is_not_the_file_name' instead. File include -┌─⯈ tests/test_modules/bad/mod_bad_include.catala_en:1.3-1.33: +┌─⯈ tests/modules/bad/mod_bad_include.catala_en:1.3-1.33: └─┐ 1 │ > Include: mod_badname.catala_en │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Module declaration -┌─⯈ tests/test_modules/bad/mod_badname.catala_en:1.10-1.35: +┌─⯈ tests/modules/bad/mod_badname.catala_en:1.10-1.35: └─┐ 1 │ > Module This_is_not_the_file_name │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_modules/bad/mod_badname.catala_en b/tests/modules/bad/mod_badname.catala_en similarity index 63% rename from tests/test_modules/bad/mod_badname.catala_en rename to tests/modules/bad/mod_badname.catala_en index 52546f09..d943729d 100644 --- a/tests/test_modules/bad/mod_badname.catala_en +++ b/tests/modules/bad/mod_badname.catala_en @@ -5,11 +5,11 @@ $ catala typecheck [ERROR] Module declared as This_is_not_the_file_name, which does not match the file -name "tests/test_modules/bad/mod_badname.catala_en". Rename the module to +name "tests/modules/bad/mod_badname.catala_en". Rename the module to Mod_badname or the file to -"tests/test_modules/bad/This_is_not_the_file_name.catala_en". +"tests/modules/bad/This_is_not_the_file_name.catala_en". -┌─⯈ tests/test_modules/bad/mod_badname.catala_en:1.10-1.35: +┌─⯈ tests/modules/bad/mod_badname.catala_en:1.10-1.35: └─┐ 1 │ > Module This_is_not_the_file_name │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_modules/good/external_use.catala_en b/tests/modules/good/external_use.catala_en similarity index 100% rename from tests/test_modules/good/external_use.catala_en rename to tests/modules/good/external_use.catala_en diff --git a/tests/test_modules/good/mod_def.catala_en b/tests/modules/good/mod_def.catala_en similarity index 100% rename from tests/test_modules/good/mod_def.catala_en rename to tests/modules/good/mod_def.catala_en diff --git a/tests/test_modules/good/mod_def_context.catala_en b/tests/modules/good/mod_def_context.catala_en similarity index 100% rename from tests/test_modules/good/mod_def_context.catala_en rename to tests/modules/good/mod_def_context.catala_en diff --git a/tests/test_modules/good/mod_middle.catala_en b/tests/modules/good/mod_middle.catala_en similarity index 100% rename from tests/test_modules/good/mod_middle.catala_en rename to tests/modules/good/mod_middle.catala_en diff --git a/tests/test_modules/good/mod_use.catala_en b/tests/modules/good/mod_use.catala_en similarity index 100% rename from tests/test_modules/good/mod_use.catala_en rename to tests/modules/good/mod_use.catala_en diff --git a/tests/test_modules/good/mod_use2.catala_en b/tests/modules/good/mod_use2.catala_en similarity index 100% rename from tests/test_modules/good/mod_use2.catala_en rename to tests/modules/good/mod_use2.catala_en diff --git a/tests/test_modules/good/mod_use3.catala_en b/tests/modules/good/mod_use3.catala_en similarity index 100% rename from tests/test_modules/good/mod_use3.catala_en rename to tests/modules/good/mod_use3.catala_en diff --git a/tests/test_modules/good/mod_use_context.catala_en b/tests/modules/good/mod_use_context.catala_en similarity index 100% rename from tests/test_modules/good/mod_use_context.catala_en rename to tests/modules/good/mod_use_context.catala_en diff --git a/tests/test_modules/good/output/mod_def.ml b/tests/modules/good/output/mod_def.ml similarity index 77% rename from tests/test_modules/good/output/mod_def.ml rename to tests/modules/good/output/mod_def.ml index 52ca81c9..b1a3b8df 100644 --- a/tests/test_modules/good/output/mod_def.ml +++ b/tests/modules/good/output/mod_def.ml @@ -29,12 +29,12 @@ let s (s_in: S_in.t) : S.t = let sr_: money = try (handle_default - {filename = "tests/test_modules/good/mod_def.catala_en"; - start_line=16; start_column=10; end_line=16; end_column=12; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=16; + start_column=10; end_line=16; end_column=12; law_headings=["Test modules + inclusions 1"]} ([|(fun (_: unit) -> handle_default - {filename = "tests/test_modules/good/mod_def.catala_en"; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=16; start_column=10; end_line=16; end_column=12; law_headings=["Test modules + inclusions 1"]} ([||]) @@ -43,18 +43,18 @@ let s (s_in: S_in.t) : S.t = (fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)) with EmptyError -> (raise (NoValueProvided - {filename = "tests/test_modules/good/mod_def.catala_en"; start_line=16; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=16; start_column=10; end_line=16; end_column=12; law_headings=["Test modules + inclusions 1"]})) in let e1_: Enum1.t = try (handle_default - {filename = "tests/test_modules/good/mod_def.catala_en"; - start_line=17; start_column=10; end_line=17; end_column=12; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=17; + start_column=10; end_line=17; end_column=12; law_headings=["Test modules + inclusions 1"]} ([|(fun (_: unit) -> handle_default - {filename = "tests/test_modules/good/mod_def.catala_en"; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=17; start_column=10; end_line=17; end_column=12; law_headings=["Test modules + inclusions 1"]} ([||]) @@ -62,7 +62,7 @@ let s (s_in: S_in.t) : S.t = (fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)) with EmptyError -> (raise (NoValueProvided - {filename = "tests/test_modules/good/mod_def.catala_en"; start_line=17; + {filename = "tests/modules/good/mod_def.catala_en"; start_line=17; start_column=10; end_line=17; end_column=12; law_headings=["Test modules + inclusions 1"]})) in {S.sr = sr_; S.e1 = e1_} diff --git a/tests/test_modules/good/prorata_external.catala_en b/tests/modules/good/prorata_external.catala_en similarity index 100% rename from tests/test_modules/good/prorata_external.catala_en rename to tests/modules/good/prorata_external.catala_en diff --git a/tests/test_modules/good/prorata_external.ml b/tests/modules/good/prorata_external.ml similarity index 100% rename from tests/test_modules/good/prorata_external.ml rename to tests/modules/good/prorata_external.ml diff --git a/tests/test_modules/good/prorata_syntax.catala_en b/tests/modules/good/prorata_syntax.catala_en similarity index 100% rename from tests/test_modules/good/prorata_syntax.catala_en rename to tests/modules/good/prorata_syntax.catala_en diff --git a/tests/test_money/bad/no_mingle.catala_en b/tests/money/bad/no_mingle.catala_en similarity index 80% rename from tests/test_money/bad/no_mingle.catala_en rename to tests/money/bad/no_mingle.catala_en index 0fa32b57..cdab0e9f 100644 --- a/tests/test_money/bad/no_mingle.catala_en +++ b/tests/money/bad/no_mingle.catala_en @@ -18,21 +18,21 @@ $ catala Interpret -s A I don't know how to apply operator * on types money and money -┌─⯈ tests/test_money/bad/no_mingle.catala_en:12.24-12.29: +┌─⯈ tests/money/bad/no_mingle.catala_en:12.24-12.29: └──┐ 12 │ definition z equals (x * y) │ ‾‾‾‾‾ └─ Article Type money coming from expression: -┌─⯈ tests/test_money/bad/no_mingle.catala_en:5.21-5.26: +┌─⯈ tests/money/bad/no_mingle.catala_en:5.21-5.26: └─┐ 5 │ context x content money │ ‾‾‾‾‾ └─ Article Type money coming from expression: -┌─⯈ tests/test_money/bad/no_mingle.catala_en:6.21-6.26: +┌─⯈ tests/money/bad/no_mingle.catala_en:6.21-6.26: └─┐ 6 │ context y content money │ ‾‾‾‾‾ diff --git a/tests/test_money/good/literal_parsing.catala_en b/tests/money/good/literal_parsing.catala_en similarity index 100% rename from tests/test_money/good/literal_parsing.catala_en rename to tests/money/good/literal_parsing.catala_en diff --git a/tests/test_money/good/simple.catala_en b/tests/money/good/simple.catala_en similarity index 100% rename from tests/test_money/good/simple.catala_en rename to tests/money/good/simple.catala_en diff --git a/tests/test_name_resolution/bad/toplevel_defs.catala_en b/tests/name_resolution/bad/toplevel_defs.catala_en similarity index 86% rename from tests/test_name_resolution/bad/toplevel_defs.catala_en rename to tests/name_resolution/bad/toplevel_defs.catala_en index 0260932e..15fde244 100644 --- a/tests/test_name_resolution/bad/toplevel_defs.catala_en +++ b/tests/name_resolution/bad/toplevel_defs.catala_en @@ -16,7 +16,7 @@ $ catala typecheck [ERROR] Scope calls are not allowed outside of a scope -┌─⯈ tests/test_name_resolution/bad/toplevel_defs.catala_en:11.11-11.23: +┌─⯈ tests/name_resolution/bad/toplevel_defs.catala_en:11.11-11.23: └──┐ 11 │ equals (output of S1).a │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_name_resolution/good/let_in.catala_en b/tests/name_resolution/good/let_in.catala_en similarity index 100% rename from tests/test_name_resolution/good/let_in.catala_en rename to tests/name_resolution/good/let_in.catala_en diff --git a/tests/test_name_resolution/good/let_in2.catala_en b/tests/name_resolution/good/let_in2.catala_en similarity index 86% rename from tests/test_name_resolution/good/let_in2.catala_en rename to tests/name_resolution/good/let_in2.catala_en index c9253372..3cdbbf19 100644 --- a/tests/test_name_resolution/good/let_in2.catala_en +++ b/tests/name_resolution/good/let_in2.catala_en @@ -57,19 +57,19 @@ let s (s_in: S_in.t) : S.t = let a_: bool = try (handle_default - {filename = "tests/test_name_resolution/good/let_in2.catala_en"; + {filename = "tests/name_resolution/good/let_in2.catala_en"; start_line=7; start_column=18; end_line=7; end_column=19; law_headings=["Article"]} ([|(fun (_: unit) -> a_ ())|]) (fun (_: unit) -> true) (fun (_: unit) -> try (handle_default - {filename = "tests/test_name_resolution/good/let_in2.catala_en"; + {filename = "tests/name_resolution/good/let_in2.catala_en"; start_line=7; start_column=18; end_line=7; end_column=19; law_headings=["Article"]} ([|(fun (_: unit) -> handle_default - {filename = "tests/test_name_resolution/good/let_in2.catala_en"; + {filename = "tests/name_resolution/good/let_in2.catala_en"; start_line=7; start_column=18; end_line=7; end_column=19; law_headings=["Article"]} ([||]) @@ -81,12 +81,12 @@ let s (s_in: S_in.t) : S.t = (fun (_: unit) -> raise EmptyError)) with EmptyError -> (raise (NoValueProvided - {filename = "tests/test_name_resolution/good/let_in2.catala_en"; + {filename = "tests/name_resolution/good/let_in2.catala_en"; start_line=7; start_column=18; end_line=7; end_column=19; law_headings=["Article"]})))) with EmptyError -> (raise (NoValueProvided - {filename = "tests/test_name_resolution/good/let_in2.catala_en"; + {filename = "tests/name_resolution/good/let_in2.catala_en"; start_line=7; start_column=18; end_line=7; end_column=19; law_headings=["Article"]})) in {S.a = a_} diff --git a/tests/test_name_resolution/good/out_of_order.catala_en b/tests/name_resolution/good/out_of_order.catala_en similarity index 100% rename from tests/test_name_resolution/good/out_of_order.catala_en rename to tests/name_resolution/good/out_of_order.catala_en diff --git a/tests/test_name_resolution/good/toplevel_defs.catala_en b/tests/name_resolution/good/toplevel_defs.catala_en similarity index 94% rename from tests/test_name_resolution/good/toplevel_defs.catala_en rename to tests/name_resolution/good/toplevel_defs.catala_en index be9a9bb3..ff8a507a 100644 --- a/tests/test_name_resolution/good/toplevel_defs.catala_en +++ b/tests/name_resolution/good/toplevel_defs.catala_en @@ -430,19 +430,19 @@ def s2(s2_in:S2In): decimal_of_string("100.")) def temp_a_4(_:Unit): return True - return handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + return handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=45, start_column=10, end_line=45, end_column=11, law_headings=["Test toplevel function defs"]), [], temp_a_4, temp_a_3) - temp_a_5 = handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + temp_a_5 = handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=45, start_column=10, end_line=45, end_column=11, law_headings=["Test toplevel function defs"]), [temp_a_2], temp_a_1, temp_a) except EmptyError: temp_a_5 = dead_value - raise NoValueProvided(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + raise NoValueProvided(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=45, start_column=10, end_line=45, end_column=11, law_headings=["Test toplevel function defs"])) @@ -462,19 +462,19 @@ def s3(s3_in:S3In): decimal_of_string("55."))) def temp_a_10(_:Unit): return True - return handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + return handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=65, start_column=10, end_line=65, end_column=11, law_headings=["Test function def with two args"]), [], temp_a_10, temp_a_9) - temp_a_11 = handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + temp_a_11 = handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=65, start_column=10, end_line=65, end_column=11, law_headings=["Test function def with two args"]), [temp_a_8], temp_a_7, temp_a_6) except EmptyError: temp_a_11 = dead_value - raise NoValueProvided(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + raise NoValueProvided(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=65, start_column=10, end_line=65, end_column=11, law_headings=["Test function def with two args"])) @@ -492,19 +492,19 @@ def s4(s4_in:S4In): return (glob5 + decimal_of_string("1.")) def temp_a_16(_:Unit): return True - return handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + return handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=88, start_column=10, end_line=88, end_column=11, law_headings=["Test inline defs in toplevel defs"]), [], temp_a_16, temp_a_15) - temp_a_17 = handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + temp_a_17 = handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=88, start_column=10, end_line=88, end_column=11, law_headings=["Test inline defs in toplevel defs"]), [temp_a_14], temp_a_13, temp_a_12) except EmptyError: temp_a_17 = dead_value - raise NoValueProvided(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + raise NoValueProvided(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=88, start_column=10, end_line=88, end_column=11, law_headings=["Test inline defs in toplevel defs"])) @@ -522,19 +522,19 @@ def s(s_in:SIn): return (glob1 * glob1) def temp_a_22(_:Unit): return True - return handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + return handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=7, start_column=10, end_line=7, end_column=11, law_headings=["Test basic toplevel values defs"]), [], temp_a_22, temp_a_21) - temp_a_23 = handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + temp_a_23 = handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=7, start_column=10, end_line=7, end_column=11, law_headings=["Test basic toplevel values defs"]), [temp_a_20], temp_a_19, temp_a_18) except EmptyError: temp_a_23 = dead_value - raise NoValueProvided(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + raise NoValueProvided(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=7, start_column=10, end_line=7, end_column=11, law_headings=["Test basic toplevel values defs"])) @@ -549,19 +549,19 @@ def s(s_in:SIn): return glob2 def temp_b_4(_:Unit): return True - return handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + return handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=8, start_column=10, end_line=8, end_column=11, law_headings=["Test basic toplevel values defs"]), [], temp_b_4, temp_b_3) - temp_b_5 = handle_default(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + temp_b_5 = handle_default(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=8, start_column=10, end_line=8, end_column=11, law_headings=["Test basic toplevel values defs"]), [temp_b_2], temp_b_1, temp_b) except EmptyError: temp_b_5 = dead_value - raise NoValueProvided(SourcePosition(filename="tests/test_name_resolution/good/toplevel_defs.catala_en", + raise NoValueProvided(SourcePosition(filename="tests/name_resolution/good/toplevel_defs.catala_en", start_line=8, start_column=10, end_line=8, end_column=11, law_headings=["Test basic toplevel values defs"])) diff --git a/tests/test_name_resolution/good/toplevel_defs_simple.catala_en b/tests/name_resolution/good/toplevel_defs_simple.catala_en similarity index 100% rename from tests/test_name_resolution/good/toplevel_defs_simple.catala_en rename to tests/name_resolution/good/toplevel_defs_simple.catala_en diff --git a/tests/test_proof/bad/array_length-empty.catala_en b/tests/proof/bad/array_length-empty.catala_en similarity index 87% rename from tests/test_proof/bad/array_length-empty.catala_en rename to tests/proof/bad/array_length-empty.catala_en index e3150b61..4e6e3822 100644 --- a/tests/test_proof/bad/array_length-empty.catala_en +++ b/tests/proof/bad/array_length-empty.catala_en @@ -13,7 +13,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/array_length-empty.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/array_length-empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/array_length-overlap.catala_en b/tests/proof/bad/array_length-overlap.catala_en similarity index 88% rename from tests/test_proof/bad/array_length-overlap.catala_en rename to tests/proof/bad/array_length-overlap.catala_en index 79167e0b..7bc295c1 100644 --- a/tests/test_proof/bad/array_length-overlap.catala_en +++ b/tests/proof/bad/array_length-overlap.catala_en @@ -14,7 +14,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/array_length-overlap.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/array_length-overlap.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/assert-empty.catala_en b/tests/proof/bad/assert-empty.catala_en similarity index 92% rename from tests/test_proof/bad/assert-empty.catala_en rename to tests/proof/bad/assert-empty.catala_en index 934000ae..2c7cd5e9 100644 --- a/tests/test_proof/bad/assert-empty.catala_en +++ b/tests/proof/bad/assert-empty.catala_en @@ -25,7 +25,7 @@ scope Foo: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [Foo.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/assert-empty.catala_en:4.11-4.12: +┌─⯈ tests/proof/bad/assert-empty.catala_en:4.11-4.12: └─┐ 4 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/dates_get_year-empty.catala_en b/tests/proof/bad/dates_get_year-empty.catala_en similarity index 86% rename from tests/test_proof/bad/dates_get_year-empty.catala_en rename to tests/proof/bad/dates_get_year-empty.catala_en index 0cff133b..9d50589f 100644 --- a/tests/test_proof/bad/dates_get_year-empty.catala_en +++ b/tests/proof/bad/dates_get_year-empty.catala_en @@ -19,14 +19,14 @@ $ catala Proof --disable-counterexamples It is impossible to give a definition to a scope variable tagged as input. Incriminated variable: -┌─⯈ tests/test_proof/bad/dates_get_year-empty.catala_en:5.9-5.10: +┌─⯈ tests/proof/bad/dates_get_year-empty.catala_en:5.9-5.10: └─┐ 5 │ input x content date │ ‾ └─ Test Incriminated variable definition: -┌─⯈ tests/test_proof/bad/dates_get_year-empty.catala_en:9.3-9.15: +┌─⯈ tests/proof/bad/dates_get_year-empty.catala_en:9.3-9.15: └─┐ 9 │ definition x equals |2022-01-16| │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_proof/bad/dates_get_year-overlap.catala_en b/tests/proof/bad/dates_get_year-overlap.catala_en similarity index 91% rename from tests/test_proof/bad/dates_get_year-overlap.catala_en rename to tests/proof/bad/dates_get_year-overlap.catala_en index dac70068..95ca095c 100644 --- a/tests/test_proof/bad/dates_get_year-overlap.catala_en +++ b/tests/proof/bad/dates_get_year-overlap.catala_en @@ -16,7 +16,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/dates_get_year-overlap.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/dates_get_year-overlap.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/dates_simple-empty.catala_en b/tests/proof/bad/dates_simple-empty.catala_en similarity index 90% rename from tests/test_proof/bad/dates_simple-empty.catala_en rename to tests/proof/bad/dates_simple-empty.catala_en index 391530e6..455c282e 100644 --- a/tests/test_proof/bad/dates_simple-empty.catala_en +++ b/tests/proof/bad/dates_simple-empty.catala_en @@ -15,7 +15,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/dates_simple-empty.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/dates_simple-empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/dates_simple-overlap.catala_en b/tests/proof/bad/dates_simple-overlap.catala_en similarity index 91% rename from tests/test_proof/bad/dates_simple-overlap.catala_en rename to tests/proof/bad/dates_simple-overlap.catala_en index 1136aa6b..afe4070f 100644 --- a/tests/test_proof/bad/dates_simple-overlap.catala_en +++ b/tests/proof/bad/dates_simple-overlap.catala_en @@ -16,7 +16,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/dates_simple-overlap.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/dates_simple-overlap.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/duration-empty.catala_en b/tests/proof/bad/duration-empty.catala_en similarity index 87% rename from tests/test_proof/bad/duration-empty.catala_en rename to tests/proof/bad/duration-empty.catala_en index af9b11aa..e6360452 100644 --- a/tests/test_proof/bad/duration-empty.catala_en +++ b/tests/proof/bad/duration-empty.catala_en @@ -13,7 +13,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/duration-empty.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/duration-empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/duration-overlap.catala_en b/tests/proof/bad/duration-overlap.catala_en similarity index 89% rename from tests/test_proof/bad/duration-overlap.catala_en rename to tests/proof/bad/duration-overlap.catala_en index 39a55693..9cb57903 100644 --- a/tests/test_proof/bad/duration-overlap.catala_en +++ b/tests/proof/bad/duration-overlap.catala_en @@ -14,7 +14,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/duration-overlap.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/duration-overlap.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/enums-empty.catala_en b/tests/proof/bad/enums-empty.catala_en similarity index 88% rename from tests/test_proof/bad/enums-empty.catala_en rename to tests/proof/bad/enums-empty.catala_en index 1097a22b..68ff98f9 100644 --- a/tests/test_proof/bad/enums-empty.catala_en +++ b/tests/proof/bad/enums-empty.catala_en @@ -25,13 +25,13 @@ scope A: $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/bad/enums-empty.catala_en:7.7-7.8: +┌─⯈ tests/proof/bad/enums-empty.catala_en:7.7-7.8: └─┐ 7 │ -- C content boolean │ ‾ └─ Test [WARNING] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums-empty.catala_en:15.10-15.11: +┌─⯈ tests/proof/bad/enums-empty.catala_en:15.10-15.11: └──┐ 15 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/enums-nonbool-empty.catala_en b/tests/proof/bad/enums-nonbool-empty.catala_en similarity index 86% rename from tests/test_proof/bad/enums-nonbool-empty.catala_en rename to tests/proof/bad/enums-nonbool-empty.catala_en index 72d06921..54411e1f 100644 --- a/tests/test_proof/bad/enums-nonbool-empty.catala_en +++ b/tests/proof/bad/enums-nonbool-empty.catala_en @@ -23,13 +23,13 @@ scope A: $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/bad/enums-nonbool-empty.catala_en:5.7-5.8: +┌─⯈ tests/proof/bad/enums-nonbool-empty.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ └─ Test [WARNING] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums-nonbool-empty.catala_en:13.10-13.11: +┌─⯈ tests/proof/bad/enums-nonbool-empty.catala_en:13.10-13.11: └──┐ 13 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/enums-nonbool-overlap.catala_en b/tests/proof/bad/enums-nonbool-overlap.catala_en similarity index 86% rename from tests/test_proof/bad/enums-nonbool-overlap.catala_en rename to tests/proof/bad/enums-nonbool-overlap.catala_en index 3b8123e9..27fde5e2 100644 --- a/tests/test_proof/bad/enums-nonbool-overlap.catala_en +++ b/tests/proof/bad/enums-nonbool-overlap.catala_en @@ -23,13 +23,13 @@ scope A: $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/bad/enums-nonbool-overlap.catala_en:5.7-5.8: +┌─⯈ tests/proof/bad/enums-nonbool-overlap.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ └─ Test [WARNING] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums-nonbool-overlap.catala_en:13.10-13.11: +┌─⯈ tests/proof/bad/enums-nonbool-overlap.catala_en:13.10-13.11: └──┐ 13 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/enums-overlap.catala_en b/tests/proof/bad/enums-overlap.catala_en similarity index 88% rename from tests/test_proof/bad/enums-overlap.catala_en rename to tests/proof/bad/enums-overlap.catala_en index 6b4b4e41..db8a6db2 100644 --- a/tests/test_proof/bad/enums-overlap.catala_en +++ b/tests/proof/bad/enums-overlap.catala_en @@ -25,13 +25,13 @@ scope A: $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/bad/enums-overlap.catala_en:7.7-7.8: +┌─⯈ tests/proof/bad/enums-overlap.catala_en:7.7-7.8: └─┐ 7 │ -- C content boolean │ ‾ └─ Test [WARNING] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums-overlap.catala_en:15.10-15.11: +┌─⯈ tests/proof/bad/enums-overlap.catala_en:15.10-15.11: └──┐ 15 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/enums_inj-empty.catala_en b/tests/proof/bad/enums_inj-empty.catala_en similarity index 82% rename from tests/test_proof/bad/enums_inj-empty.catala_en rename to tests/proof/bad/enums_inj-empty.catala_en index 3c610df7..73099a08 100644 --- a/tests/test_proof/bad/enums_inj-empty.catala_en +++ b/tests/proof/bad/enums_inj-empty.catala_en @@ -18,13 +18,13 @@ scope A: $ catala Proof --disable-counterexamples [WARNING] The constructor "C2" of enumeration "E" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/bad/enums_inj-empty.catala_en:6.6-6.8: +┌─⯈ tests/proof/bad/enums_inj-empty.catala_en:6.6-6.8: └─┐ 6 │ -- C2 │ ‾‾ └─ Article [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums_inj-empty.catala_en:10.10-10.11: +┌─⯈ tests/proof/bad/enums_inj-empty.catala_en:10.10-10.11: └──┐ 10 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/enums_inj-overlap.catala_en b/tests/proof/bad/enums_inj-overlap.catala_en similarity index 89% rename from tests/test_proof/bad/enums_inj-overlap.catala_en rename to tests/proof/bad/enums_inj-overlap.catala_en index ff9de42a..cc538e2d 100644 --- a/tests/test_proof/bad/enums_inj-overlap.catala_en +++ b/tests/proof/bad/enums_inj-overlap.catala_en @@ -19,7 +19,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums_inj-overlap.catala_en:10.10-10.11: +┌─⯈ tests/proof/bad/enums_inj-overlap.catala_en:10.10-10.11: └──┐ 10 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/enums_unit-empty.catala_en b/tests/proof/bad/enums_unit-empty.catala_en similarity index 91% rename from tests/test_proof/bad/enums_unit-empty.catala_en rename to tests/proof/bad/enums_unit-empty.catala_en index d4cd714a..f5efbd49 100644 --- a/tests/test_proof/bad/enums_unit-empty.catala_en +++ b/tests/proof/bad/enums_unit-empty.catala_en @@ -22,7 +22,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums_unit-empty.catala_en:10.10-10.11: +┌─⯈ tests/proof/bad/enums_unit-empty.catala_en:10.10-10.11: └──┐ 10 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/enums_unit-overlap.catala_en b/tests/proof/bad/enums_unit-overlap.catala_en similarity index 90% rename from tests/test_proof/bad/enums_unit-overlap.catala_en rename to tests/proof/bad/enums_unit-overlap.catala_en index d5f649a0..c07048f2 100644 --- a/tests/test_proof/bad/enums_unit-overlap.catala_en +++ b/tests/proof/bad/enums_unit-overlap.catala_en @@ -22,7 +22,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums_unit-overlap.catala_en:10.10-10.11: +┌─⯈ tests/proof/bad/enums_unit-overlap.catala_en:10.10-10.11: └──┐ 10 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/let_in_condition-empty.catala_en b/tests/proof/bad/let_in_condition-empty.catala_en similarity index 85% rename from tests/test_proof/bad/let_in_condition-empty.catala_en rename to tests/proof/bad/let_in_condition-empty.catala_en index ac6dccb4..1d1fd6dd 100644 --- a/tests/test_proof/bad/let_in_condition-empty.catala_en +++ b/tests/proof/bad/let_in_condition-empty.catala_en @@ -14,7 +14,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/let_in_condition-empty.catala_en:5.10-5.11: +┌─⯈ tests/proof/bad/let_in_condition-empty.catala_en:5.10-5.11: └─┐ 5 │ output x content boolean │ ‾ diff --git a/tests/test_proof/bad/money-empty.catala_en b/tests/proof/bad/money-empty.catala_en similarity index 91% rename from tests/test_proof/bad/money-empty.catala_en rename to tests/proof/bad/money-empty.catala_en index f834fe1b..06e1741e 100644 --- a/tests/test_proof/bad/money-empty.catala_en +++ b/tests/proof/bad/money-empty.catala_en @@ -17,7 +17,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/money-empty.catala_en:8.10-8.11: +┌─⯈ tests/proof/bad/money-empty.catala_en:8.10-8.11: └─┐ 8 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/money-overlap.catala_en b/tests/proof/bad/money-overlap.catala_en similarity index 91% rename from tests/test_proof/bad/money-overlap.catala_en rename to tests/proof/bad/money-overlap.catala_en index 3c89f67d..63e3968c 100644 --- a/tests/test_proof/bad/money-overlap.catala_en +++ b/tests/proof/bad/money-overlap.catala_en @@ -18,7 +18,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/money-overlap.catala_en:8.10-8.11: +┌─⯈ tests/proof/bad/money-overlap.catala_en:8.10-8.11: └─┐ 8 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/no_vars-conflict.catala_en b/tests/proof/bad/no_vars-conflict.catala_en similarity index 90% rename from tests/test_proof/bad/no_vars-conflict.catala_en rename to tests/proof/bad/no_vars-conflict.catala_en index 1b254835..e22dd926 100644 --- a/tests/test_proof/bad/no_vars-conflict.catala_en +++ b/tests/proof/bad/no_vars-conflict.catala_en @@ -18,7 +18,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/no_vars-conflict.catala_en:8.10-8.11: +┌─⯈ tests/proof/bad/no_vars-conflict.catala_en:8.10-8.11: └─┐ 8 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/no_vars-empty.catala_en b/tests/proof/bad/no_vars-empty.catala_en similarity index 90% rename from tests/test_proof/bad/no_vars-empty.catala_en rename to tests/proof/bad/no_vars-empty.catala_en index 232fa9f8..8b2aba98 100644 --- a/tests/test_proof/bad/no_vars-empty.catala_en +++ b/tests/proof/bad/no_vars-empty.catala_en @@ -17,7 +17,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/no_vars-empty.catala_en:7.10-7.11: +┌─⯈ tests/proof/bad/no_vars-empty.catala_en:7.10-7.11: └─┐ 7 │ output y content integer │ ‾ diff --git a/tests/test_proof/bad/prolala_motivating_example.catala_en b/tests/proof/bad/prolala_motivating_example.catala_en similarity index 94% rename from tests/test_proof/bad/prolala_motivating_example.catala_en rename to tests/proof/bad/prolala_motivating_example.catala_en index 1b5205b3..d3b87552 100644 --- a/tests/test_proof/bad/prolala_motivating_example.catala_en +++ b/tests/proof/bad/prolala_motivating_example.catala_en @@ -127,7 +127,7 @@ $ catala Proof --disable-counterexamples It is impossible to give a definition to a subscope variable not tagged as input or context. Incriminated subscope: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:56.3-56.14: +┌─⯈ tests/proof/bad/prolala_motivating_example.catala_en:56.3-56.14: └──┐ 56 │ eligibility scope Eligibility │ ‾‾‾‾‾‾‾‾‾‾‾ @@ -135,7 +135,7 @@ Incriminated subscope: └─ Amount Incriminated variable: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:9.12-9.22: +┌─⯈ tests/proof/bad/prolala_motivating_example.catala_en:9.12-9.22: └─┐ 9 │ internal is_student content boolean │ ‾‾‾‾‾‾‾‾‾‾ @@ -143,7 +143,7 @@ Incriminated variable: └─ Eligibility Incriminated subscope variable definition: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:64.3-64.36: +┌─⯈ tests/proof/bad/prolala_motivating_example.catala_en:64.3-64.36: └──┐ 64 │ definition eligibility.is_student equals is_student │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_proof/bad/rationals-empty.catala_en b/tests/proof/bad/rationals-empty.catala_en similarity index 87% rename from tests/test_proof/bad/rationals-empty.catala_en rename to tests/proof/bad/rationals-empty.catala_en index 4678ff12..5e23356b 100644 --- a/tests/test_proof/bad/rationals-empty.catala_en +++ b/tests/proof/bad/rationals-empty.catala_en @@ -13,7 +13,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/rationals-empty.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/rationals-empty.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/rationals-overlap.catala_en b/tests/proof/bad/rationals-overlap.catala_en similarity index 88% rename from tests/test_proof/bad/rationals-overlap.catala_en rename to tests/proof/bad/rationals-overlap.catala_en index e1214824..ee582f50 100644 --- a/tests/test_proof/bad/rationals-overlap.catala_en +++ b/tests/proof/bad/rationals-overlap.catala_en @@ -14,7 +14,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/rationals-overlap.catala_en:6.10-6.11: +┌─⯈ tests/proof/bad/rationals-overlap.catala_en:6.10-6.11: └─┐ 6 │ output y content boolean │ ‾ diff --git a/tests/test_proof/bad/sat_solving.catala_en b/tests/proof/bad/sat_solving.catala_en similarity index 95% rename from tests/test_proof/bad/sat_solving.catala_en rename to tests/proof/bad/sat_solving.catala_en index a173ccf8..7e9565c3 100644 --- a/tests/test_proof/bad/sat_solving.catala_en +++ b/tests/proof/bad/sat_solving.catala_en @@ -41,7 +41,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.x10] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/sat_solving.catala_en:15.10-15.13: +┌─⯈ tests/proof/bad/sat_solving.catala_en:15.10-15.13: └──┐ 15 │ output x10 content boolean │ ‾‾‾ diff --git a/tests/test_proof/bad/structs-empty.catala_en b/tests/proof/bad/structs-empty.catala_en similarity index 91% rename from tests/test_proof/bad/structs-empty.catala_en rename to tests/proof/bad/structs-empty.catala_en index a9044cc9..dee5bf7d 100644 --- a/tests/test_proof/bad/structs-empty.catala_en +++ b/tests/proof/bad/structs-empty.catala_en @@ -22,7 +22,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/structs-empty.catala_en:13.10-13.11: +┌─⯈ tests/proof/bad/structs-empty.catala_en:13.10-13.11: └──┐ 13 │ output x content integer │ ‾ diff --git a/tests/test_proof/bad/structs-overlap.catala_en b/tests/proof/bad/structs-overlap.catala_en similarity index 91% rename from tests/test_proof/bad/structs-overlap.catala_en rename to tests/proof/bad/structs-overlap.catala_en index 8432a43e..faa026d7 100644 --- a/tests/test_proof/bad/structs-overlap.catala_en +++ b/tests/proof/bad/structs-overlap.catala_en @@ -22,7 +22,7 @@ scope A: ```catala-test-inline $ catala Proof --disable-counterexamples [WARNING] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/structs-overlap.catala_en:13.10-13.11: +┌─⯈ tests/proof/bad/structs-overlap.catala_en:13.10-13.11: └──┐ 13 │ output x content integer │ ‾ diff --git a/tests/test_proof/good/array_length.catala_en b/tests/proof/good/array_length.catala_en similarity index 100% rename from tests/test_proof/good/array_length.catala_en rename to tests/proof/good/array_length.catala_en diff --git a/tests/test_proof/good/assert.catala_en b/tests/proof/good/assert.catala_en similarity index 100% rename from tests/test_proof/good/assert.catala_en rename to tests/proof/good/assert.catala_en diff --git a/tests/test_proof/good/dates_get_year.catala_en b/tests/proof/good/dates_get_year.catala_en similarity index 100% rename from tests/test_proof/good/dates_get_year.catala_en rename to tests/proof/good/dates_get_year.catala_en diff --git a/tests/test_proof/good/dates_simple.catala_en b/tests/proof/good/dates_simple.catala_en similarity index 100% rename from tests/test_proof/good/dates_simple.catala_en rename to tests/proof/good/dates_simple.catala_en diff --git a/tests/test_proof/good/direct_scope_call.catala_en b/tests/proof/good/direct_scope_call.catala_en similarity index 100% rename from tests/test_proof/good/direct_scope_call.catala_en rename to tests/proof/good/direct_scope_call.catala_en diff --git a/tests/test_proof/good/direct_scope_call_with_context.catala_en b/tests/proof/good/direct_scope_call_with_context.catala_en similarity index 100% rename from tests/test_proof/good/direct_scope_call_with_context.catala_en rename to tests/proof/good/direct_scope_call_with_context.catala_en diff --git a/tests/test_proof/good/duration.catala_en b/tests/proof/good/duration.catala_en similarity index 100% rename from tests/test_proof/good/duration.catala_en rename to tests/proof/good/duration.catala_en diff --git a/tests/test_proof/good/enums-arith.catala_en b/tests/proof/good/enums-arith.catala_en similarity index 89% rename from tests/test_proof/good/enums-arith.catala_en rename to tests/proof/good/enums-arith.catala_en index 79967c0e..9019ccf5 100644 --- a/tests/test_proof/good/enums-arith.catala_en +++ b/tests/proof/good/enums-arith.catala_en @@ -25,7 +25,7 @@ scope A: $ catala Typecheck --check-invariants [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums-arith.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums-arith.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ @@ -38,7 +38,7 @@ $ catala Typecheck --check-invariants $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums-arith.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums-arith.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ diff --git a/tests/test_proof/good/enums-nonbool.catala_en b/tests/proof/good/enums-nonbool.catala_en similarity index 89% rename from tests/test_proof/good/enums-nonbool.catala_en rename to tests/proof/good/enums-nonbool.catala_en index 8109321b..57484ed9 100644 --- a/tests/test_proof/good/enums-nonbool.catala_en +++ b/tests/proof/good/enums-nonbool.catala_en @@ -25,7 +25,7 @@ scope A: $ catala Typecheck --check-invariants [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums-nonbool.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums-nonbool.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ @@ -38,7 +38,7 @@ $ catala Typecheck --check-invariants $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums-nonbool.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums-nonbool.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ diff --git a/tests/test_proof/good/enums.catala_en b/tests/proof/good/enums.catala_en similarity index 90% rename from tests/test_proof/good/enums.catala_en rename to tests/proof/good/enums.catala_en index a5bb1cb0..385e3126 100644 --- a/tests/test_proof/good/enums.catala_en +++ b/tests/proof/good/enums.catala_en @@ -24,7 +24,7 @@ scope A: $ catala Typecheck --check-invariants [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ @@ -37,7 +37,7 @@ $ catala Typecheck --check-invariants $ catala Proof --disable-counterexamples [WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary? -┌─⯈ tests/test_proof/good/enums.catala_en:5.7-5.8: +┌─⯈ tests/proof/good/enums.catala_en:5.7-5.8: └─┐ 5 │ -- C content boolean │ ‾ diff --git a/tests/test_proof/good/enums_inj.catala_en b/tests/proof/good/enums_inj.catala_en similarity index 100% rename from tests/test_proof/good/enums_inj.catala_en rename to tests/proof/good/enums_inj.catala_en diff --git a/tests/test_proof/good/enums_unit.catala_en b/tests/proof/good/enums_unit.catala_en similarity index 100% rename from tests/test_proof/good/enums_unit.catala_en rename to tests/proof/good/enums_unit.catala_en diff --git a/tests/test_proof/good/functions.catala_en b/tests/proof/good/functions.catala_en similarity index 100% rename from tests/test_proof/good/functions.catala_en rename to tests/proof/good/functions.catala_en diff --git a/tests/test_proof/good/let_in_condition.catala_en b/tests/proof/good/let_in_condition.catala_en similarity index 100% rename from tests/test_proof/good/let_in_condition.catala_en rename to tests/proof/good/let_in_condition.catala_en diff --git a/tests/test_proof/good/money.catala_en b/tests/proof/good/money.catala_en similarity index 100% rename from tests/test_proof/good/money.catala_en rename to tests/proof/good/money.catala_en diff --git a/tests/test_proof/good/no_vars.catala_en b/tests/proof/good/no_vars.catala_en similarity index 100% rename from tests/test_proof/good/no_vars.catala_en rename to tests/proof/good/no_vars.catala_en diff --git a/tests/test_proof/good/rationals.catala_en b/tests/proof/good/rationals.catala_en similarity index 100% rename from tests/test_proof/good/rationals.catala_en rename to tests/proof/good/rationals.catala_en diff --git a/tests/test_proof/good/simple_vars.catala_en b/tests/proof/good/simple_vars.catala_en similarity index 100% rename from tests/test_proof/good/simple_vars.catala_en rename to tests/proof/good/simple_vars.catala_en diff --git a/tests/test_proof/good/structs.catala_en b/tests/proof/good/structs.catala_en similarity index 100% rename from tests/test_proof/good/structs.catala_en rename to tests/proof/good/structs.catala_en diff --git a/tests/test_scope/bad/cycle_in_scope.catala_en b/tests/scope/bad/cycle_in_scope.catala_en similarity index 83% rename from tests/test_scope/bad/cycle_in_scope.catala_en rename to tests/scope/bad/cycle_in_scope.catala_en index 6e5f847a..e1d114c6 100644 --- a/tests/test_scope/bad/cycle_in_scope.catala_en +++ b/tests/scope/bad/cycle_in_scope.catala_en @@ -21,21 +21,21 @@ Cyclic dependency detected between the following variables of scope A: z → x → y → z z is used here in the definition of x: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:14.23-14.24: +┌─⯈ tests/scope/bad/cycle_in_scope.catala_en:14.23-14.24: └──┐ 14 │ definition x equals z │ ‾ └─ Article x is used here in the definition of y: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:11.32-11.33: +┌─⯈ tests/scope/bad/cycle_in_scope.catala_en:11.32-11.33: └──┐ 11 │ definition y under condition x >= 0 consequence equals x │ ‾ └─ Article y is used here in the definition of z: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:13.32-13.33: +┌─⯈ tests/scope/bad/cycle_in_scope.catala_en:13.32-13.33: └──┐ 13 │ definition z under condition y < 1 consequence equals y │ ‾ diff --git a/tests/test_scope/bad/cyclic_scope_calls.catala_en b/tests/scope/bad/cyclic_scope_calls.catala_en similarity index 84% rename from tests/test_scope/bad/cyclic_scope_calls.catala_en rename to tests/scope/bad/cyclic_scope_calls.catala_en index 2d3e1156..81c94de9 100644 --- a/tests/test_scope/bad/cyclic_scope_calls.catala_en +++ b/tests/scope/bad/cyclic_scope_calls.catala_en @@ -33,19 +33,19 @@ Cyclic dependency detected between the following scopes: S4 → S3 → S2 → S4 S4 is used here in the definition of S3: -┌─⯈ tests/test_scope/bad/cyclic_scope_calls.catala_en:21.24-21.36: +┌─⯈ tests/scope/bad/cyclic_scope_calls.catala_en:21.24-21.36: └──┐ 21 │ definition o equals (output of S4).o │ ‾‾‾‾‾‾‾‾‾‾‾‾ S3 is used here in the definition of S2: -┌─⯈ tests/test_scope/bad/cyclic_scope_calls.catala_en:18.43-18.55: +┌─⯈ tests/scope/bad/cyclic_scope_calls.catala_en:18.43-18.55: └──┐ 18 │ definition o equals (output of S1).o + (output of S3).o │ ‾‾‾‾‾‾‾‾‾‾‾‾ S2 is used here in the definition of S4: -┌─⯈ tests/test_scope/bad/cyclic_scope_calls.catala_en:24.24-24.36: +┌─⯈ tests/scope/bad/cyclic_scope_calls.catala_en:24.24-24.36: └──┐ 24 │ definition o equals (output of S2).o │ ‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_scope/bad/cyclic_scopes.catala_en b/tests/scope/bad/cyclic_scopes.catala_en similarity index 81% rename from tests/test_scope/bad/cyclic_scopes.catala_en rename to tests/scope/bad/cyclic_scopes.catala_en index 3fb3a1c6..84beb93a 100644 --- a/tests/test_scope/bad/cyclic_scopes.catala_en +++ b/tests/scope/bad/cyclic_scopes.catala_en @@ -22,14 +22,14 @@ $ catala Interpret -s A Cyclic dependency detected between the following scopes: B → A → B B is used here in the definition of A: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:5.3-5.4: +┌─⯈ tests/scope/bad/cyclic_scopes.catala_en:5.3-5.4: └─┐ 5 │ b scope B │ ‾ └─ Article A is used here in the definition of B: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:9.3-9.4: +┌─⯈ tests/scope/bad/cyclic_scopes.catala_en:9.3-9.4: └─┐ 9 │ a scope A │ ‾ diff --git a/tests/test_scope/bad/scope.catala_en b/tests/scope/bad/scope.catala_en similarity index 89% rename from tests/test_scope/bad/scope.catala_en rename to tests/scope/bad/scope.catala_en index 61f3dd3f..6018f5a0 100644 --- a/tests/test_scope/bad/scope.catala_en +++ b/tests/scope/bad/scope.catala_en @@ -20,14 +20,14 @@ $ catala Interpret -s A There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_scope/bad/scope.catala_en:13.57-13.61: +┌─⯈ tests/scope/bad/scope.catala_en:13.57-13.61: └──┐ 13 │ definition b under condition not c consequence equals 1337 │ ‾‾‾‾ └─ Article This consequence has a valid justification: -┌─⯈ tests/test_scope/bad/scope.catala_en:14.57-14.58: +┌─⯈ tests/scope/bad/scope.catala_en:14.57-14.58: └──┐ 14 │ definition b under condition not c consequence equals 0 │ ‾ diff --git a/tests/test_scope/bad/scope_call_duplicate.catala_en b/tests/scope/bad/scope_call_duplicate.catala_en similarity index 89% rename from tests/test_scope/bad/scope_call_duplicate.catala_en rename to tests/scope/bad/scope_call_duplicate.catala_en index 270020cf..4ec802e6 100644 --- a/tests/test_scope/bad/scope_call_duplicate.catala_en +++ b/tests/scope/bad/scope_call_duplicate.catala_en @@ -19,7 +19,7 @@ $ catala dcalc -s Titi [ERROR] Duplicate definition of scope input variable 'bar' -┌─⯈ tests/test_scope/bad/scope_call_duplicate.catala_en:14.70-14.73: +┌─⯈ tests/scope/bad/scope_call_duplicate.catala_en:14.70-14.73: └──┐ 14 │ definition fizz equals output of Toto with {--bar: 1 --baz: 2.1 -- bar: 3} │ ‾‾‾ diff --git a/tests/test_scope/bad/scope_call_extra.catala_en b/tests/scope/bad/scope_call_extra.catala_en similarity index 83% rename from tests/test_scope/bad/scope_call_extra.catala_en rename to tests/scope/bad/scope_call_extra.catala_en index fe74038b..41356e9d 100644 --- a/tests/test_scope/bad/scope_call_extra.catala_en +++ b/tests/scope/bad/scope_call_extra.catala_en @@ -19,13 +19,13 @@ $ catala dcalc -s Titi [ERROR] Scope Toto has no input variable biz -┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:14.49-14.52: +┌─⯈ tests/scope/bad/scope_call_extra.catala_en:14.49-14.52: └──┐ 14 │ definition fizz equals output of Toto with {--biz: 1} │ ‾‾‾ Scope Toto declared here -┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:2.19-2.23: +┌─⯈ tests/scope/bad/scope_call_extra.catala_en:2.19-2.23: └─┐ 2 │ declaration scope Toto: │ ‾‾‾‾ diff --git a/tests/test_scope/bad/scope_call_missing.catala_en b/tests/scope/bad/scope_call_missing.catala_en similarity index 84% rename from tests/test_scope/bad/scope_call_missing.catala_en rename to tests/scope/bad/scope_call_missing.catala_en index 51be91fd..f156962e 100644 --- a/tests/test_scope/bad/scope_call_missing.catala_en +++ b/tests/scope/bad/scope_call_missing.catala_en @@ -19,13 +19,13 @@ $ catala dcalc -s Titi [ERROR] Definition of input variable 'baz' missing in this scope call -┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:14.26-14.57: +┌─⯈ tests/scope/bad/scope_call_missing.catala_en:14.26-14.57: └──┐ 14 │ definition fizz equals output of Toto with {--bar: 1 } │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Declaration of the missing input variable -┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:4.16-4.19: +┌─⯈ tests/scope/bad/scope_call_missing.catala_en:4.16-4.19: └─┐ 4 │ input output baz content decimal │ ‾‾‾ diff --git a/tests/test_scope/bad/sub_vars_in_sub_var.catala_en b/tests/scope/bad/sub_vars_in_sub_var.catala_en similarity index 87% rename from tests/test_scope/bad/sub_vars_in_sub_var.catala_en rename to tests/scope/bad/sub_vars_in_sub_var.catala_en index d6493c5f..e726dd72 100644 --- a/tests/test_scope/bad/sub_vars_in_sub_var.catala_en +++ b/tests/scope/bad/sub_vars_in_sub_var.catala_en @@ -18,7 +18,7 @@ $ catala Interpret -s A [ERROR] The subscope a is used when defining one of its inputs, but recursion is forbidden in Catala -┌─⯈ tests/test_scope/bad/sub_vars_in_sub_var.catala_en:13.28-13.31: +┌─⯈ tests/scope/bad/sub_vars_in_sub_var.catala_en:13.28-13.31: └──┐ 13 │ definition a.y equals if a.x then 0 else 1 │ ‾‾‾ diff --git a/tests/test_scope/good/191_fix_record_name_confusion.catala_en b/tests/scope/good/191_fix_record_name_confusion.catala_en similarity index 100% rename from tests/test_scope/good/191_fix_record_name_confusion.catala_en rename to tests/scope/good/191_fix_record_name_confusion.catala_en diff --git a/tests/test_scope/good/grand_parent_caller.catala_en b/tests/scope/good/grand_parent_caller.catala_en similarity index 100% rename from tests/test_scope/good/grand_parent_caller.catala_en rename to tests/scope/good/grand_parent_caller.catala_en diff --git a/tests/test_scope/good/nothing.catala_en b/tests/scope/good/nothing.catala_en similarity index 86% rename from tests/test_scope/good/nothing.catala_en rename to tests/scope/good/nothing.catala_en index 25534e47..eea35a49 100644 --- a/tests/test_scope/good/nothing.catala_en +++ b/tests/scope/good/nothing.catala_en @@ -11,7 +11,7 @@ declaration scope Foo2: $ catala Typecheck --check-invariants [WARNING] In scope "Foo2", the variable "bar" is declared but never defined; did you forget something? -┌─⯈ tests/test_scope/good/nothing.catala_en:5.10-5.13: +┌─⯈ tests/scope/good/nothing.catala_en:5.10-5.13: └─┐ 5 │ output bar content integer │ ‾‾‾ @@ -24,7 +24,7 @@ $ catala Typecheck --check-invariants $ catala Scalc -s Foo2 -O -t [WARNING] In scope "Foo2", the variable "bar" is declared but never defined; did you forget something? -┌─⯈ tests/test_scope/good/nothing.catala_en:5.10-5.13: +┌─⯈ tests/scope/good/nothing.catala_en:5.10-5.13: └─┐ 5 │ output bar content integer │ ‾‾‾ diff --git a/tests/test_scope/good/scope_call.catala_en b/tests/scope/good/scope_call.catala_en similarity index 100% rename from tests/test_scope/good/scope_call.catala_en rename to tests/scope/good/scope_call.catala_en diff --git a/tests/test_scope/good/scope_call2.catala_en b/tests/scope/good/scope_call2.catala_en similarity index 100% rename from tests/test_scope/good/scope_call2.catala_en rename to tests/scope/good/scope_call2.catala_en diff --git a/tests/test_scope/good/scope_call3.catala_en b/tests/scope/good/scope_call3.catala_en similarity index 92% rename from tests/test_scope/good/scope_call3.catala_en rename to tests/scope/good/scope_call3.catala_en index 64fabdcf..3176d9ad 100644 --- a/tests/test_scope/good/scope_call3.catala_en +++ b/tests/scope/good/scope_call3.catala_en @@ -28,7 +28,7 @@ $ catala Typecheck --check-invariants $ catala Interpret -t -s HousingComputation --debug [DEBUG] = INIT = [DEBUG] = SURFACE = -[DEBUG] Parsing "tests/test_scope/good/scope_call3.catala_en" +[DEBUG] Parsing "tests/scope/good/scope_call3.catala_en" [DEBUG] = DESUGARED = [DEBUG] Name resolution... [DEBUG] Desugaring... @@ -42,14 +42,14 @@ $ catala Interpret -t -s HousingComputation --debug [DEBUG] Starting interpretation... [LOG] ≔ HousingComputation.f: λ (x_67: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨(let result_68 : RentComputation = (#{→ RentComputation.direct} (λ (RentComputation_in_69: RentComputation_in) → let g_70 : integer → integer = #{≔ RentComputation.g} (λ (x1_71: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨x1_71 +! 1⟩⟩ | false ⊢ ∅ ⟩) in let f_72 : integer → integer = #{≔ RentComputation.f} (λ (x1_73: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨#{← RentComputation.g} #{≔ RentComputation.g.output} (#{→ RentComputation.g} g_70) #{≔ RentComputation.g.input0} (x1_73 +! 1)⟩⟩ | false ⊢ ∅ ⟩) in { RentComputation f = f_72; })) #{≔ RentComputation.direct.input} {RentComputation_in} in let result1_74 : RentComputation = { RentComputation f = λ (param0_75: integer) → #{← RentComputation.f} #{≔ RentComputation.f.output} (#{→ RentComputation.f} result_68.f) #{≔ RentComputation.f.input0} param0_75; } in #{← RentComputation.direct} #{≔ RentComputation.direct.output} if #{☛ RentComputation.direct.output} true then result1_74 else result1_74).f x_67⟩⟩ | false ⊢ ∅ ⟩ [LOG] ☛ Definition applied: - ┌─⯈ tests/test_scope/good/scope_call3.catala_en:8.14-8.20: + ┌─⯈ tests/scope/good/scope_call3.catala_en:8.14-8.20: └─┐ 8 │ definition result equals f of 1 │ ‾‾‾‾‾‾ [LOG] → HousingComputation.f [LOG] ≔ HousingComputation.f.input0: 1 [LOG] ☛ Definition applied: - ┌─⯈ tests/test_scope/good/scope_call3.catala_en:7.14-7.15: + ┌─⯈ tests/scope/good/scope_call3.catala_en:7.14-7.15: └─┐ 7 │ definition f of x equals (output of RentComputation).f of x │ ‾ @@ -58,7 +58,7 @@ $ catala Interpret -t -s HousingComputation --debug [LOG] ≔ RentComputation.g: λ (x_76: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨x_76 +! 1⟩⟩ | false ⊢ ∅ ⟩ [LOG] ≔ RentComputation.f: λ (x_77: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨#{← RentComputation.g} #{≔ RentComputation.g.output} (#{→ RentComputation.g} (λ (x1_78: integer) → error_empty ⟨ ⟨#{☛ } true ⊢ ⟨x1_78 +! 1⟩⟩ | false ⊢ ∅ ⟩)) #{≔ RentComputation.g.input0} (x_77 +! 1)⟩⟩ | false ⊢ ∅ ⟩ [LOG] ☛ Definition applied: - ┌─⯈ tests/test_scope/good/scope_call3.catala_en:7.29-7.54: + ┌─⯈ tests/scope/good/scope_call3.catala_en:7.29-7.54: └─┐ 7 │ definition f of x equals (output of RentComputation).f of x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ @@ -67,14 +67,14 @@ $ catala Interpret -t -s HousingComputation --debug [LOG] → RentComputation.f [LOG] ≔ RentComputation.f.input0: 1 [LOG] ☛ Definition applied: - ┌─⯈ tests/test_scope/good/scope_call3.catala_en:16.14-16.15: + ┌─⯈ tests/scope/good/scope_call3.catala_en:16.14-16.15: └──┐ 16 │ definition f of x equals g of (x + 1) │ ‾ [LOG] → RentComputation.g [LOG] ≔ RentComputation.g.input0: 2 [LOG] ☛ Definition applied: - ┌─⯈ tests/test_scope/good/scope_call3.catala_en:15.14-15.15: + ┌─⯈ tests/scope/good/scope_call3.catala_en:15.14-15.15: └──┐ 15 │ definition g of x equals x + 1 │ ‾ diff --git a/tests/test_scope/good/scope_call4.catala_en b/tests/scope/good/scope_call4.catala_en similarity index 95% rename from tests/test_scope/good/scope_call4.catala_en rename to tests/scope/good/scope_call4.catala_en index 24d9ea92..1d66cdbe 100644 --- a/tests/test_scope/good/scope_call4.catala_en +++ b/tests/scope/good/scope_call4.catala_en @@ -34,7 +34,7 @@ $ catala Typecheck --check-invariants $ catala Interpret -s RentComputation --debug [DEBUG] = INIT = [DEBUG] = SURFACE = -[DEBUG] Parsing "tests/test_scope/good/scope_call4.catala_en" +[DEBUG] Parsing "tests/scope/good/scope_call4.catala_en" [DEBUG] = DESUGARED = [DEBUG] Name resolution... [DEBUG] Desugaring... @@ -68,7 +68,7 @@ f2 = λ (x: integer) → $ catala Interpret_Lcalc -s RentComputation --avoid-exceptions --optimize --debug [DEBUG] = INIT = [DEBUG] = SURFACE = -[DEBUG] Parsing "tests/test_scope/good/scope_call4.catala_en" +[DEBUG] Parsing "tests/scope/good/scope_call4.catala_en" [DEBUG] = DESUGARED = [DEBUG] Name resolution... [DEBUG] Desugaring... diff --git a/tests/test_scope/good/scope_struct.catala_en b/tests/scope/good/scope_struct.catala_en similarity index 100% rename from tests/test_scope/good/scope_struct.catala_en rename to tests/scope/good/scope_struct.catala_en diff --git a/tests/test_scope/good/simple.catala_en b/tests/scope/good/simple.catala_en similarity index 100% rename from tests/test_scope/good/simple.catala_en rename to tests/scope/good/simple.catala_en diff --git a/tests/test_scope/good/sub_scope.catala_en b/tests/scope/good/sub_scope.catala_en similarity index 100% rename from tests/test_scope/good/sub_scope.catala_en rename to tests/scope/good/sub_scope.catala_en diff --git a/tests/test_scope/good/sub_sub_scope.catala_en b/tests/scope/good/sub_sub_scope.catala_en similarity index 100% rename from tests/test_scope/good/sub_sub_scope.catala_en rename to tests/scope/good/sub_sub_scope.catala_en diff --git a/tests/test_scope/good/subscope_function_arg_not_defined.catala_en b/tests/scope/good/subscope_function_arg_not_defined.catala_en similarity index 100% rename from tests/test_scope/good/subscope_function_arg_not_defined.catala_en rename to tests/scope/good/subscope_function_arg_not_defined.catala_en diff --git a/tests/test_scope/good/subscope_function_arg_not_defined2.catala_en b/tests/scope/good/subscope_function_arg_not_defined2.catala_en similarity index 100% rename from tests/test_scope/good/subscope_function_arg_not_defined2.catala_en rename to tests/scope/good/subscope_function_arg_not_defined2.catala_en diff --git a/tests/test_struct/bad/bug_107.catala_en b/tests/struct/bad/bug_107.catala_en similarity index 85% rename from tests/test_struct/bad/bug_107.catala_en rename to tests/struct/bad/bug_107.catala_en index dc6ec813..6c8759cb 100644 --- a/tests/test_struct/bad/bug_107.catala_en +++ b/tests/struct/bad/bug_107.catala_en @@ -22,14 +22,14 @@ $ catala Interpret -s A struct name "S" already defined First definition: -┌─⯈ tests/test_struct/bad/bug_107.catala_en:4.23-4.24: +┌─⯈ tests/struct/bad/bug_107.catala_en:4.23-4.24: └─┐ 4 │ declaration structure S: │ ‾ └─ https://github.com/CatalaLang/catala/issues/107 Second definition: -┌─⯈ tests/test_struct/bad/bug_107.catala_en:8.23-8.24: +┌─⯈ tests/struct/bad/bug_107.catala_en:8.23-8.24: └─┐ 8 │ declaration structure S: │ ‾ diff --git a/tests/test_struct/bad/empty_struct.catala_en b/tests/struct/bad/empty_struct.catala_en similarity index 84% rename from tests/test_struct/bad/empty_struct.catala_en rename to tests/struct/bad/empty_struct.catala_en index fba0bd77..94be9b08 100644 --- a/tests/test_struct/bad/empty_struct.catala_en +++ b/tests/struct/bad/empty_struct.catala_en @@ -12,7 +12,7 @@ $ catala Typecheck [ERROR] The struct Foo does not have any fields; give it some for Catala to be able to accept it. -┌─⯈ tests/test_struct/bad/empty_struct.catala_en:4.23-4.26: +┌─⯈ tests/struct/bad/empty_struct.catala_en:4.23-4.26: └─┐ 4 │ declaration structure Foo: │ ‾‾‾ diff --git a/tests/test_struct/bad/nested.catala_en b/tests/struct/bad/nested.catala_en similarity index 83% rename from tests/test_struct/bad/nested.catala_en rename to tests/struct/bad/nested.catala_en index 419e68bc..6674245d 100644 --- a/tests/test_struct/bad/nested.catala_en +++ b/tests/struct/bad/nested.catala_en @@ -16,7 +16,7 @@ scope A: $ catala Interpret -s A [WARNING] The constructor "Rec" of enumeration "E" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/bad/nested.catala_en:6.6-6.9: +┌─⯈ tests/struct/bad/nested.catala_en:6.6-6.9: └─┐ 6 │ -- Rec content E │ ‾‾‾ @@ -24,7 +24,7 @@ $ catala Interpret -s A [ERROR] The type E is defined using itself, which is forbidden since Catala does not provide recursive types -┌─⯈ tests/test_struct/bad/nested.catala_en:6.18-6.19: +┌─⯈ tests/struct/bad/nested.catala_en:6.18-6.19: └─┐ 6 │ -- Rec content E │ ‾ diff --git a/tests/test_struct/bad/nested2.catala_en b/tests/struct/bad/nested2.catala_en similarity index 75% rename from tests/test_struct/bad/nested2.catala_en rename to tests/struct/bad/nested2.catala_en index f7b5ac5b..bdd43cb4 100644 --- a/tests/test_struct/bad/nested2.catala_en +++ b/tests/struct/bad/nested2.catala_en @@ -17,21 +17,21 @@ declaration scope A: $ catala Interpret -s A [WARNING] In scope "A", the variable "x" is declared but never defined; did you forget something? -┌─⯈ tests/test_struct/bad/nested2.catala_en:13.10-13.11: +┌─⯈ tests/struct/bad/nested2.catala_en:13.10-13.11: └──┐ 13 │ output x content E │ ‾ └─ Article [WARNING] The structure "S" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/bad/nested2.catala_en:4.23-4.24: +┌─⯈ tests/struct/bad/nested2.catala_en:4.23-4.24: └─┐ 4 │ declaration structure S: │ ‾ └─ Article [WARNING] The enumeration "E" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/bad/nested2.catala_en:8.25-8.26: +┌─⯈ tests/struct/bad/nested2.catala_en:8.25-8.26: └─┐ 8 │ declaration enumeration E: │ ‾ @@ -40,28 +40,28 @@ $ catala Interpret -s A Cyclic dependency detected between types! Cycle type S, declared: -┌─⯈ tests/test_struct/bad/nested2.catala_en:4.23-4.24: +┌─⯈ tests/struct/bad/nested2.catala_en:4.23-4.24: └─┐ 4 │ declaration structure S: │ ‾ └─ Article Used here in the definition of another cycle type E: -┌─⯈ tests/test_struct/bad/nested2.catala_en:10.20-10.21: +┌─⯈ tests/struct/bad/nested2.catala_en:10.20-10.21: └──┐ 10 │ -- Case2 content S │ ‾ └─ Article Cycle type E, declared: -┌─⯈ tests/test_struct/bad/nested2.catala_en:8.25-8.26: +┌─⯈ tests/struct/bad/nested2.catala_en:8.25-8.26: └─┐ 8 │ declaration enumeration E: │ ‾ └─ Article Used here in the definition of another cycle type S: -┌─⯈ tests/test_struct/bad/nested2.catala_en:5.18-5.19: +┌─⯈ tests/struct/bad/nested2.catala_en:5.18-5.19: └─┐ 5 │ data x content E │ ‾ diff --git a/tests/test_struct/bad/nonexisting_struct.catala_en b/tests/struct/bad/nonexisting_struct.catala_en similarity index 85% rename from tests/test_struct/bad/nonexisting_struct.catala_en rename to tests/struct/bad/nonexisting_struct.catala_en index f7981c5c..4a948bb5 100644 --- a/tests/test_struct/bad/nonexisting_struct.catala_en +++ b/tests/struct/bad/nonexisting_struct.catala_en @@ -18,7 +18,7 @@ $ catala Interpret -s A [ERROR] No struct named Fo found -┌─⯈ tests/test_struct/bad/nonexisting_struct.catala_en:13.25-13.27: +┌─⯈ tests/struct/bad/nonexisting_struct.catala_en:13.25-13.27: └──┐ 13 │ definition y equals x.Fo.f │ ‾‾ diff --git a/tests/test_struct/bad/wrong_qualified_field.catala_en b/tests/struct/bad/wrong_qualified_field.catala_en similarity index 87% rename from tests/test_struct/bad/wrong_qualified_field.catala_en rename to tests/struct/bad/wrong_qualified_field.catala_en index 712e6574..bb8faf28 100644 --- a/tests/test_struct/bad/wrong_qualified_field.catala_en +++ b/tests/struct/bad/wrong_qualified_field.catala_en @@ -22,7 +22,7 @@ $ catala Interpret -s A [ERROR] Field "g" does not belong to structure "Foo", but to "Bar" -┌─⯈ tests/test_struct/bad/wrong_qualified_field.catala_en:17.23-17.30: +┌─⯈ tests/struct/bad/wrong_qualified_field.catala_en:17.23-17.30: └──┐ 17 │ definition y equals x.Foo.g │ ‾‾‾‾‾‾‾ diff --git a/tests/test_struct/good/ambiguous_fields.catala_en b/tests/struct/good/ambiguous_fields.catala_en similarity index 84% rename from tests/test_struct/good/ambiguous_fields.catala_en rename to tests/struct/good/ambiguous_fields.catala_en index 1ed6bfb1..99bd9421 100644 --- a/tests/test_struct/good/ambiguous_fields.catala_en +++ b/tests/struct/good/ambiguous_fields.catala_en @@ -22,7 +22,7 @@ scope A: $ catala Typecheck --check-invariants [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/ambiguous_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/ambiguous_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ @@ -35,7 +35,7 @@ $ catala Typecheck --check-invariants $ catala Interpret -s A [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/ambiguous_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/ambiguous_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ @@ -47,7 +47,7 @@ $ catala Interpret -s A $ catala Interpret_Lcalc -s A --avoid-exceptions --optimize [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/ambiguous_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/ambiguous_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ diff --git a/tests/test_struct/good/nested3.catala_en b/tests/struct/good/nested3.catala_en similarity index 100% rename from tests/test_struct/good/nested3.catala_en rename to tests/struct/good/nested3.catala_en diff --git a/tests/test_struct/good/same_name_fields.catala_en b/tests/struct/good/same_name_fields.catala_en similarity index 85% rename from tests/test_struct/good/same_name_fields.catala_en rename to tests/struct/good/same_name_fields.catala_en index b3776767..98f9980d 100644 --- a/tests/test_struct/good/same_name_fields.catala_en +++ b/tests/struct/good/same_name_fields.catala_en @@ -22,7 +22,7 @@ scope A: $ catala Typecheck --check-invariants [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/same_name_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/same_name_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ @@ -35,7 +35,7 @@ $ catala Typecheck --check-invariants $ catala Interpret -s A [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/same_name_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/same_name_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ @@ -48,7 +48,7 @@ $ catala Interpret -s A $ catala Interpret_Lcalc -s A --avoid-exceptions --optimize [WARNING] The structure "Bar" is never used; maybe it's unnecessary? -┌─⯈ tests/test_struct/good/same_name_fields.catala_en:7.23-7.26: +┌─⯈ tests/struct/good/same_name_fields.catala_en:7.23-7.26: └─┐ 7 │ declaration structure Bar: │ ‾‾‾ diff --git a/tests/test_struct/good/simple.catala_en b/tests/struct/good/simple.catala_en similarity index 100% rename from tests/test_struct/good/simple.catala_en rename to tests/struct/good/simple.catala_en diff --git a/tests/test_default/bad/conflict.catala_en b/tests/test_default/bad/conflict.catala_en deleted file mode 100644 index 1a827d42..00000000 --- a/tests/test_default/bad/conflict.catala_en +++ /dev/null @@ -1,18 +0,0 @@ -## Article - -```catala -declaration scope A: - output x content integer - -scope A: - definition x under condition true consequence equals 1 - definition x under condition true consequence equals 0 -``` - -```catala-test-inline -$ catala Interpret -s A --message=gnu -tests/test_default/bad/conflict.catala_en:8.56-8.57: [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. -tests/test_default/bad/conflict.catala_en:8.56-8.57: [ERROR] This consequence has a valid justification: -tests/test_default/bad/conflict.catala_en:9.56-9.57: [ERROR] This consequence has a valid justification: -#return code 123# -``` diff --git a/tests/test_tuples/good/tuples.catala_en b/tests/tuples/good/tuples.catala_en similarity index 100% rename from tests/test_tuples/good/tuples.catala_en rename to tests/tuples/good/tuples.catala_en diff --git a/tests/test_tuples/good/tuplists.catala_en b/tests/tuples/good/tuplists.catala_en similarity index 100% rename from tests/test_tuples/good/tuplists.catala_en rename to tests/tuples/good/tuplists.catala_en diff --git a/tests/test_typing/bad/common.catala_en b/tests/typing/bad/common.catala_en similarity index 100% rename from tests/test_typing/bad/common.catala_en rename to tests/typing/bad/common.catala_en diff --git a/tests/test_typing/bad/err1.catala_en b/tests/typing/bad/err1.catala_en similarity index 85% rename from tests/test_typing/bad/err1.catala_en rename to tests/typing/bad/err1.catala_en index 8cc416e7..9514727f 100644 --- a/tests/test_typing/bad/err1.catala_en +++ b/tests/typing/bad/err1.catala_en @@ -18,13 +18,13 @@ Error during typechecking, incompatible types: └─⯈ integer This expression has type decimal: -┌─⯈ tests/test_typing/bad/err1.catala_en:7.23-7.26: +┌─⯈ tests/typing/bad/err1.catala_en:7.23-7.26: └─┐ 7 │ Structure { -- i: 4.1 -- e: y }; │ ‾‾‾ Expected type integer coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:8.18-8.25: +┌─⯈ tests/typing/bad/common.catala_en:8.18-8.25: └─┐ 8 │ data i content integer │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err2.catala_en b/tests/typing/bad/err2.catala_en similarity index 85% rename from tests/test_typing/bad/err2.catala_en rename to tests/typing/bad/err2.catala_en index 7501c02c..ebf67fa3 100644 --- a/tests/test_typing/bad/err2.catala_en +++ b/tests/typing/bad/err2.catala_en @@ -18,13 +18,13 @@ Error during typechecking, incompatible types: └─⯈ list This expression has type decimal: -┌─⯈ tests/test_typing/bad/err2.catala_en:10.39-10.42: +┌─⯈ tests/typing/bad/err2.catala_en:10.39-10.42: └──┐ 10 │ definition a equals number of (z ++ 1.1) / 2 │ ‾‾‾ Expected type list coming from expression: -┌─⯈ tests/test_typing/bad/err2.catala_en:10.36-10.38: +┌─⯈ tests/typing/bad/err2.catala_en:10.36-10.38: └──┐ 10 │ definition a equals number of (z ++ 1.1) / 2 │ ‾‾ diff --git a/tests/test_typing/bad/err3.catala_en b/tests/typing/bad/err3.catala_en similarity index 82% rename from tests/test_typing/bad/err3.catala_en rename to tests/typing/bad/err3.catala_en index b7424a6c..e4787707 100644 --- a/tests/test_typing/bad/err3.catala_en +++ b/tests/typing/bad/err3.catala_en @@ -14,7 +14,7 @@ scope S: $ catala Typecheck [WARNING] The constructor "Dec" of enumeration "Enum" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/bad/common.catala_en:4.6-4.9: +┌─⯈ tests/typing/bad/common.catala_en:4.6-4.9: └─┐ 4 │ -- Dec content decimal │ ‾‾‾ @@ -24,13 +24,13 @@ Error during typechecking, incompatible types: └─⯈ decimal This expression has type integer: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.23-10.45: +┌─⯈ tests/typing/bad/err3.catala_en:10.23-10.45: └──┐ 10 │ definition a equals number of (z ++ z) * 2 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Expected type decimal coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:15.20-15.27: +┌─⯈ tests/typing/bad/common.catala_en:15.20-15.27: └──┐ 15 │ output a content decimal │ ‾‾‾‾‾‾‾ @@ -43,7 +43,7 @@ Re-putting the same check again, to ensure that the `Typecheck` and `ocaml` subc $ catala ocaml [WARNING] The constructor "Dec" of enumeration "Enum" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/bad/common.catala_en:4.6-4.9: +┌─⯈ tests/typing/bad/common.catala_en:4.6-4.9: └─┐ 4 │ -- Dec content decimal │ ‾‾‾ @@ -53,13 +53,13 @@ Error during typechecking, incompatible types: └─⯈ decimal This expression has type integer: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.23-10.45: +┌─⯈ tests/typing/bad/err3.catala_en:10.23-10.45: └──┐ 10 │ definition a equals number of (z ++ z) * 2 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Expected type decimal coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:15.20-15.27: +┌─⯈ tests/typing/bad/common.catala_en:15.20-15.27: └──┐ 15 │ output a content decimal │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err4.catala_en b/tests/typing/bad/err4.catala_en similarity index 79% rename from tests/test_typing/bad/err4.catala_en rename to tests/typing/bad/err4.catala_en index d8ed4b4b..17522a6d 100644 --- a/tests/test_typing/bad/err4.catala_en +++ b/tests/typing/bad/err4.catala_en @@ -12,19 +12,19 @@ Should be "catala Typecheck", see test err3 $ catala ocaml [WARNING] The structure "Structure" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/bad/common.catala_en:7.23-7.32: +┌─⯈ tests/typing/bad/common.catala_en:7.23-7.32: └─┐ 7 │ declaration structure Structure: │ ‾‾‾‾‾‾‾‾‾ [WARNING] The constructor "Dec" of enumeration "Enum" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/bad/common.catala_en:4.6-4.9: +┌─⯈ tests/typing/bad/common.catala_en:4.6-4.9: └─┐ 4 │ -- Dec content decimal │ ‾‾‾ [WARNING] The constructor "Dat" of enumeration "Enum" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/bad/common.catala_en:5.6-5.9: +┌─⯈ tests/typing/bad/common.catala_en:5.6-5.9: └─┐ 5 │ -- Dat content date │ ‾‾‾ @@ -34,13 +34,13 @@ Error during typechecking, incompatible types: └─⯈ Structure This expression has type Enum: -┌─⯈ tests/test_typing/bad/err4.catala_en:5.25-5.38: +┌─⯈ tests/typing/bad/err4.catala_en:5.25-5.38: └─┐ 5 │ definition z equals [ Int content x ] │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ Expected type Structure coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:14.28-14.37: +┌─⯈ tests/typing/bad/common.catala_en:14.28-14.37: └──┐ 14 │ output z content list of Structure │ ‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err5.catala_en b/tests/typing/bad/err5.catala_en similarity index 86% rename from tests/test_typing/bad/err5.catala_en rename to tests/typing/bad/err5.catala_en index f5244811..aad5c3d7 100644 --- a/tests/test_typing/bad/err5.catala_en +++ b/tests/typing/bad/err5.catala_en @@ -18,13 +18,13 @@ Error during typechecking, incompatible types: └─⯈ Structure This expression has type integer: -┌─⯈ tests/test_typing/bad/err5.catala_en:8.5-8.9: +┌─⯈ tests/typing/bad/err5.catala_en:8.5-8.9: └─┐ 8 │ 1040 │ ‾‾‾‾ Expected type Structure coming from expression: -┌─⯈ tests/test_typing/bad/err5.catala_en:6.5-6.46: +┌─⯈ tests/typing/bad/err5.catala_en:6.5-6.46: └─┐ 6 │ Structure { -- i: 3 -- e: Int content x }; │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err6.catala_en b/tests/typing/bad/err6.catala_en similarity index 90% rename from tests/test_typing/bad/err6.catala_en rename to tests/typing/bad/err6.catala_en index a30a4e4d..db5500ed 100644 --- a/tests/test_typing/bad/err6.catala_en +++ b/tests/typing/bad/err6.catala_en @@ -34,13 +34,13 @@ Error during typechecking, incompatible types: └─⯈ integer This expression has type decimal: -┌─⯈ tests/test_typing/bad/err6.catala_en:20.27-20.30: +┌─⯈ tests/typing/bad/err6.catala_en:20.27-20.30: └──┐ 20 │ definition sub.x equals 44. │ ‾‾‾ Expected type integer coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:12.19-12.26: +┌─⯈ tests/typing/bad/common.catala_en:12.19-12.26: └──┐ 12 │ input x content integer │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/good/common.catala_en b/tests/typing/good/common.catala_en similarity index 82% rename from tests/test_typing/good/common.catala_en rename to tests/typing/good/common.catala_en index 9ba88dc4..267c9654 100644 --- a/tests/test_typing/good/common.catala_en +++ b/tests/typing/good/common.catala_en @@ -21,31 +21,31 @@ declaration scope S: $ catala Typecheck --check-invariants [WARNING] In scope "S", the variable "z" is declared but never defined; did you forget something? -┌─⯈ tests/test_typing/good/common.catala_en:14.10-14.11: +┌─⯈ tests/typing/good/common.catala_en:14.10-14.11: └──┐ 14 │ output z content list of Structure │ ‾ [WARNING] In scope "S", the variable "a" is declared but never defined; did you forget something? -┌─⯈ tests/test_typing/good/common.catala_en:15.10-15.11: +┌─⯈ tests/typing/good/common.catala_en:15.10-15.11: └──┐ 15 │ output a content decimal │ ‾ [WARNING] This variable is dead code; it does not contribute to computing any of scope "S" outputs. Did you forget something? -┌─⯈ tests/test_typing/good/common.catala_en:12.9-12.10: +┌─⯈ tests/typing/good/common.catala_en:12.9-12.10: └──┐ 12 │ input x content integer │ ‾ [WARNING] The structure "Structure" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/good/common.catala_en:7.23-7.32: +┌─⯈ tests/typing/good/common.catala_en:7.23-7.32: └─┐ 7 │ declaration structure Structure: │ ‾‾‾‾‾‾‾‾‾ [WARNING] The enumeration "Enum" is never used; maybe it's unnecessary? -┌─⯈ tests/test_typing/good/common.catala_en:2.25-2.29: +┌─⯈ tests/typing/good/common.catala_en:2.25-2.29: └─┐ 2 │ declaration enumeration Enum: │ ‾‾‾‾ diff --git a/tests/test_typing/good/overload.catala_en b/tests/typing/good/overload.catala_en similarity index 100% rename from tests/test_typing/good/overload.catala_en rename to tests/typing/good/overload.catala_en diff --git a/tests/test_variable_state/bad/def_no_state.catala_en b/tests/variable_state/bad/def_no_state.catala_en similarity index 76% rename from tests/test_variable_state/bad/def_no_state.catala_en rename to tests/variable_state/bad/def_no_state.catala_en index 318e92f0..54645c84 100644 --- a/tests/test_variable_state/bad/def_no_state.catala_en +++ b/tests/variable_state/bad/def_no_state.catala_en @@ -15,14 +15,14 @@ $ catala Typecheck [ERROR] This definition does not indicate which state has to be considered for variable foo. -┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:10.14-10.17: +┌─⯈ tests/variable_state/bad/def_no_state.catala_en:10.14-10.17: └──┐ 10 │ definition foo equals 2 │ ‾‾‾ └─ Test Variable declaration: -┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:5.10-5.13: +┌─⯈ tests/variable_state/bad/def_no_state.catala_en:5.10-5.13: └─┐ 5 │ output foo content integer │ ‾‾‾ diff --git a/tests/test_variable_state/bad/double_same_state.catala_en b/tests/variable_state/bad/double_same_state.catala_en similarity index 77% rename from tests/test_variable_state/bad/double_same_state.catala_en rename to tests/variable_state/bad/double_same_state.catala_en index e4a4aabf..fea97dd1 100644 --- a/tests/test_variable_state/bad/double_same_state.catala_en +++ b/tests/variable_state/bad/double_same_state.catala_en @@ -16,14 +16,14 @@ $ catala Typecheck There are two states with the same name for the same variable: this is ambiguous. Please change the name of either states. First instance of state "bar": -┌─⯈ tests/test_variable_state/bad/double_same_state.catala_en:6.11-6.14: +┌─⯈ tests/variable_state/bad/double_same_state.catala_en:6.11-6.14: └─┐ 6 │ state bar │ ‾‾‾ └─ Test Second instance of state "bar": -┌─⯈ tests/test_variable_state/bad/double_same_state.catala_en:7.11-7.14: +┌─⯈ tests/variable_state/bad/double_same_state.catala_en:7.11-7.14: └─┐ 7 │ state bar │ ‾‾‾ diff --git a/tests/test_variable_state/bad/no_cross_exceptions.catala_en b/tests/variable_state/bad/no_cross_exceptions.catala_en similarity index 87% rename from tests/test_variable_state/bad/no_cross_exceptions.catala_en rename to tests/variable_state/bad/no_cross_exceptions.catala_en index 3b25e046..abe40793 100644 --- a/tests/test_variable_state/bad/no_cross_exceptions.catala_en +++ b/tests/variable_state/bad/no_cross_exceptions.catala_en @@ -19,7 +19,7 @@ $ catala Typecheck [ERROR] Unknown label for the scope variable foo.baz: "thing" -┌─⯈ tests/test_variable_state/bad/no_cross_exceptions.catala_en:14.13-14.18: +┌─⯈ tests/variable_state/bad/no_cross_exceptions.catala_en:14.13-14.18: └──┐ 14 │ exception thing definition foo state baz under condition true consequence equals 3 │ ‾‾‾‾‾ diff --git a/tests/test_variable_state/bad/self_reference_first_state.catala_en b/tests/variable_state/bad/self_reference_first_state.catala_en similarity index 84% rename from tests/test_variable_state/bad/self_reference_first_state.catala_en rename to tests/variable_state/bad/self_reference_first_state.catala_en index b00e2a30..d9a99993 100644 --- a/tests/test_variable_state/bad/self_reference_first_state.catala_en +++ b/tests/variable_state/bad/self_reference_first_state.catala_en @@ -17,7 +17,7 @@ $ catala Typecheck [ERROR] It is impossible to refer to the variable you are defining when defining its first state. -┌─⯈ tests/test_variable_state/bad/self_reference_first_state.catala_en:10.35-10.38: +┌─⯈ tests/variable_state/bad/self_reference_first_state.catala_en:10.35-10.38: └──┐ 10 │ definition foo state bar equals foo + 1 │ ‾‾‾ diff --git a/tests/test_variable_state/bad/state_cycle.catala_en b/tests/variable_state/bad/state_cycle.catala_en similarity index 81% rename from tests/test_variable_state/bad/state_cycle.catala_en rename to tests/variable_state/bad/state_cycle.catala_en index 28546497..10572f16 100644 --- a/tests/test_variable_state/bad/state_cycle.catala_en +++ b/tests/variable_state/bad/state_cycle.catala_en @@ -26,28 +26,28 @@ Cyclic dependency detected between the following variables of scope A: foofoo@bar → foofoo@baz → foo@bar → foo@baz → foofoo@bar foofoo@bar is used here in the definition of foofoo@baz: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:19.38-19.44: +┌─⯈ tests/variable_state/bad/state_cycle.catala_en:19.38-19.44: └──┐ 19 │ definition foofoo state baz equals foofoo + 1 │ ‾‾‾‾‾‾ └─ Test foofoo@baz is used here in the definition of foo@bar: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:13.35-13.41: +┌─⯈ tests/variable_state/bad/state_cycle.catala_en:13.35-13.41: └──┐ 13 │ definition foo state bar equals foofoo │ ‾‾‾‾‾‾ └─ Test foo@bar is used here in the definition of foo@baz: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:15.35-15.38: +┌─⯈ tests/variable_state/bad/state_cycle.catala_en:15.35-15.38: └──┐ 15 │ definition foo state baz equals foo + 1 │ ‾‾‾ └─ Test foo@baz is used here in the definition of foofoo@bar: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:17.38-17.41: +┌─⯈ tests/variable_state/bad/state_cycle.catala_en:17.38-17.41: └──┐ 17 │ definition foofoo state bar equals foo │ ‾‾‾ diff --git a/tests/test_variable_state/bad/unknown_state.catala_en b/tests/variable_state/bad/unknown_state.catala_en similarity index 78% rename from tests/test_variable_state/bad/unknown_state.catala_en rename to tests/variable_state/bad/unknown_state.catala_en index d8ded016..4b209b8a 100644 --- a/tests/test_variable_state/bad/unknown_state.catala_en +++ b/tests/variable_state/bad/unknown_state.catala_en @@ -17,14 +17,14 @@ $ catala Typecheck [ERROR] This identifier is not a state declared for variable foo. -┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:12.24-12.28: +┌─⯈ tests/variable_state/bad/unknown_state.catala_en:12.24-12.28: └──┐ 12 │ definition foo state basz equals foo + 1 │ ‾‾‾‾ └─ Test Variable declaration: -┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:5.10-5.13: +┌─⯈ tests/variable_state/bad/unknown_state.catala_en:5.10-5.13: └─┐ 5 │ output foo content integer │ ‾‾‾ diff --git a/tests/test_variable_state/good/simple.catala_en b/tests/variable_state/good/simple.catala_en similarity index 88% rename from tests/test_variable_state/good/simple.catala_en rename to tests/variable_state/good/simple.catala_en index 7710dda8..fa555541 100644 --- a/tests/test_variable_state/good/simple.catala_en +++ b/tests/variable_state/good/simple.catala_en @@ -29,10 +29,6 @@ $ catala Interpret -s A [RESULT] foo = 3 ``` -```catala-test-inline -$ catala Typecheck -[RESULT] Typechecking successful! -``` ```catala-test-inline $ catala Interpret_Lcalc -s A --avoid-exceptions --optimize [RESULT] Computation successful! Results: diff --git a/tests/variable_state/good/state_access.catala_en b/tests/variable_state/good/state_access.catala_en new file mode 100644 index 00000000..7179606f --- /dev/null +++ b/tests/variable_state/good/state_access.catala_en @@ -0,0 +1,38 @@ +# Accesses to intermediate variable states + +```catala +declaration scope A: + output foo content integer + state s1 + state s2 + state s3 + state s4 + + output bar content integer + +scope A: + definition foo state s1 equals 1 + + definition foo state s2 equals foo + 1 + + definition foo state s3 equals foo + 1 + + definition foo state s4 equals bar + 1 + + definition bar equals foo state s3 + foo state s2 +``` + + +```catala-test-inline +$ catala interpret -s A +[RESULT] Computation successful! Results: +[RESULT] bar = 5 +[RESULT] foo = 6 +``` + +```catala-test-inline +$ catala Interpret_Lcalc -s A --avoid-exceptions --optimize +[RESULT] Computation successful! Results: +[RESULT] bar = 5 +[RESULT] foo = 6 +``` diff --git a/tests/test_variable_state/good/subscope.catala_en b/tests/variable_state/good/subscope.catala_en similarity index 100% rename from tests/test_variable_state/good/subscope.catala_en rename to tests/variable_state/good/subscope.catala_en