From e123d7eb95a71b6d6e78dfada8e2ba568b6c9913 Mon Sep 17 00:00:00 2001 From: Louis Gesbert Date: Tue, 5 Dec 2023 15:06:28 +0100 Subject: [PATCH] Change type syntax of `collection` into `list of` --- compiler/shared_ast/print.ml | 3 +- compiler/shared_ast/typing.ml | 5 +- compiler/surface/lexer.cppo.ml | 20 +- compiler/surface/lexer_en.cppo.ml | 6 +- compiler/surface/lexer_fr.cppo.ml | 6 +- compiler/surface/lexer_pl.cppo.ml | 5 +- compiler/surface/parser.messages | 596 ++++++++---------- compiler/surface/parser.mly | 6 +- compiler/surface/tokens.mly | 4 +- doc/syntax/syntax_en.tex | 8 +- doc/syntax/syntax_fr.tex | 12 +- examples/aides_logement/prologue.catala_fr | 20 +- .../allocations_familiales/epilogue.catala_fr | 8 +- .../allocations_familiales/prologue.catala_fr | 6 +- .../droit_successions.catala_fr | 6 +- examples/tutorial_en/tutorial_en.catala_en | 10 +- examples/tutoriel_fr/tutoriel_fr.catala_fr | 15 +- examples/us_tax_code/section_121.catala_en | 16 +- syntax_highlighting/emacs/catala-mode.el | 4 +- syntax_highlighting/en/ace/mode-catala_en.js | 2 +- .../en/atom/grammars/catala_en.cson | 2 +- syntax_highlighting/en/catala_en.iro | 4 +- .../en/pygments/catala_en_lexer/lexer.py | 4 +- syntax_highlighting/en/vim/catala_en.vim | 2 +- .../en/vscode/syntaxes/catalavs.xml | 2 +- syntax_highlighting/fr/ace/mode-catala_fr.js | 2 +- .../fr/atom/grammars/catala_fr.cson | 2 +- syntax_highlighting/fr/catala_fr.iro | 4 +- .../fr/pygments/catala_fr_lexer/lexer.py | 4 +- syntax_highlighting/fr/vim/catala_fr.vim | 2 +- .../fr/vscode/syntaxes/catalavs.xml | 2 +- syntax_highlighting/gnu_gedit/catala.lang | 2 +- tests/test_array/bad/fold_error.catala_en | 8 +- tests/test_array/good/aggregation.catala_en | 6 +- tests/test_array/good/aggregation_2.catala_en | 6 +- tests/test_array/good/aggregation_3.catala_en | 6 +- tests/test_array/good/concatenation.catala_en | 6 +- tests/test_array/good/filter.catala_en | 4 +- tests/test_array/good/filter_map.catala_en | 6 +- tests/test_array/good/fold.catala_en | 6 +- tests/test_array/good/map.catala_en | 4 +- tests/test_array/good/simple.catala_en | 2 +- tests/test_array/good/simpler.catala_en | 2 +- tests/test_array/good/simplest.catala_en | 2 +- .../good/closure_conversion_reduce.catala_en | 12 +- .../test_modules/good/external_use.catala_en | 6 +- .../good/prorata_external.catala_en | 8 +- .../bad/array_length-empty.catala_en | 2 +- .../bad/array_length-overlap.catala_en | 2 +- tests/test_proof/good/array_length.catala_en | 2 +- tests/test_typing/bad/common.catala_en | 2 +- tests/test_typing/bad/err2.catala_en | 4 +- tests/test_typing/bad/err4.catala_en | 6 +- tests/test_typing/good/common.catala_en | 4 +- 54 files changed, 425 insertions(+), 471 deletions(-) diff --git a/compiler/shared_ast/print.ml b/compiler/shared_ast/print.ml index 15594a56..422656eb 100644 --- a/compiler/shared_ast/print.ml +++ b/compiler/shared_ast/print.ml @@ -162,8 +162,7 @@ let rec typ_gen (typ ~colors:(List.tl colors)) t2 | TArray t1 -> - Format.fprintf fmt "@[%a@ %a@]" base_type "collection" (typ ~colors) - t1 + Format.fprintf fmt "@[%a@ %a@]" base_type "list of" (typ ~colors) t1 | TDefault t1 -> punctuation fmt "⟨"; typ ~colors fmt t1; diff --git a/compiler/shared_ast/typing.ml b/compiler/shared_ast/typing.ml index a26a52a9..edc82677 100644 --- a/compiler/shared_ast/typing.ml +++ b/compiler/shared_ast/typing.ml @@ -157,9 +157,8 @@ let rec format_typ ")" (format_typ ~colors) t2 | TArray t1 -> ( match Mark.remove (UnionFind.get (UnionFind.find t1)) with - | TAny _ when not Cli.globals.debug -> - Format.pp_print_string fmt "collection" - | _ -> Format.fprintf fmt "@[collection@ %a@]" (format_typ ~colors) t1) + | TAny _ when not Cli.globals.debug -> Format.pp_print_string fmt "list" + | _ -> Format.fprintf fmt "@[list of@ %a@]" (format_typ ~colors) t1) | TDefault t1 -> Format.pp_print_as fmt 1 "⟨"; format_typ ~colors fmt t1; diff --git a/compiler/surface/lexer.cppo.ml b/compiler/surface/lexer.cppo.ml index 11476307..fa2bbab0 100644 --- a/compiler/surface/lexer.cppo.ml +++ b/compiler/surface/lexer.cppo.ml @@ -56,8 +56,8 @@ module R = Re.Pcre #ifndef MR_OF #define MR_OF MS_OF #endif -#ifndef MR_COLLECTION - #define MR_COLLECTION MS_COLLECTION +#ifndef MR_LIST + #define MR_LIST MS_LIST #endif #ifndef MR_CONTAINS #define MR_CONTAINS MS_CONTAINS @@ -203,8 +203,8 @@ module R = Re.Pcre #ifndef MR_IS #define MR_IS MS_IS #endif -#ifndef MR_EMPTY - #define MR_EMPTY MS_EMPTY +#ifndef MR_LIST_EMPTY + #define MR_LIST_EMPTY MS_LIST_EMPTY #endif #ifndef MR_CARDINAL #define MR_CARDINAL MS_CARDINAL @@ -266,7 +266,7 @@ let token_list : (string * token) list = (MS_DECREASING, DECREASING); (MS_INCREASING, INCREASING); (MS_OF, OF); - (MS_COLLECTION, COLLECTION); + (MS_LIST, LIST); (MS_CONTAINS, CONTAINS); (MS_ENUM, ENUM); (MS_INTEGER, INTEGER); @@ -315,7 +315,7 @@ let token_list : (string * token) list = (MS_MAXIMUM, MAXIMUM); (MS_MINIMUM, MINIMUM); (MS_IS, IS); - (MS_EMPTY, EMPTY); + (MS_LIST_EMPTY, LIST_EMPTY); (MS_CARDINAL, CARDINAL); (MS_YEAR, YEAR); (MS_MONTH, MONTH); @@ -417,9 +417,9 @@ let rec lex_code (lexbuf : lexbuf) : token = | MR_OF -> L.update_acc lexbuf; OF - | MR_COLLECTION -> + | MR_LIST -> L.update_acc lexbuf; - COLLECTION + LIST | MR_CONTAINS -> L.update_acc lexbuf; CONTAINS @@ -567,9 +567,9 @@ let rec lex_code (lexbuf : lexbuf) : token = | MR_IS -> L.update_acc lexbuf; IS - | MR_EMPTY -> + | MR_LIST_EMPTY -> L.update_acc lexbuf; - EMPTY + LIST_EMPTY | MR_CARDINAL -> L.update_acc lexbuf; CARDINAL diff --git a/compiler/surface/lexer_en.cppo.ml b/compiler/surface/lexer_en.cppo.ml index 5dd69669..4d46c830 100644 --- a/compiler/surface/lexer_en.cppo.ml +++ b/compiler/surface/lexer_en.cppo.ml @@ -28,7 +28,8 @@ #define MS_DECREASING "decreasing" #define MS_INCREASING "increasing" #define MS_OF "of" -#define MS_COLLECTION "collection" +#define MS_LIST "list of" +#define MR_LIST "list", space_plus, "of" #define MS_CONTAINS "contains" #define MS_ENUM "enumeration" #define MS_INTEGER "integer" @@ -80,7 +81,8 @@ #define MS_MAXIMUM "maximum" #define MS_MINIMUM "minimum" #define MS_IS "is" -#define MS_EMPTY "empty" +#define MS_LIST_EMPTY "list empty" +#define MR_LIST_EMPTY "list", space_plus, "empty" #define MS_CARDINAL "number" #define MS_YEAR "year" #define MS_MONTH "month" diff --git a/compiler/surface/lexer_fr.cppo.ml b/compiler/surface/lexer_fr.cppo.ml index e2da919c..1c64a66c 100644 --- a/compiler/surface/lexer_fr.cppo.ml +++ b/compiler/surface/lexer_fr.cppo.ml @@ -36,7 +36,8 @@ #define MR_DECREASING "d", 0xE9, "croissant" #define MS_INCREASING "croissant" #define MS_OF "de" -#define MS_COLLECTION "collection" +#define MS_LIST "liste de" +#define MR_LIST "liste", space_plus, "de" #define MS_CONTAINS "contient" #define MS_ENUM "énumération" #define MR_ENUM 0xE9, "num", 0xE9, "ration" @@ -100,7 +101,8 @@ #define MS_MAXIMUM "maximum" #define MS_MINIMUM "minimum" #define MS_IS "est" -#define MS_EMPTY "vide" +#define MS_LIST_EMPTY "liste vide" +#define MR_LIST_EMPTY "liste", space_plus, "vide" #define MS_CARDINAL "nombre" #define MS_YEAR "an" #define MS_MONTH "mois" diff --git a/compiler/surface/lexer_pl.cppo.ml b/compiler/surface/lexer_pl.cppo.ml index 5dd45da8..6d7fffd7 100644 --- a/compiler/surface/lexer_pl.cppo.ml +++ b/compiler/surface/lexer_pl.cppo.ml @@ -30,7 +30,7 @@ #define MS_INCREASING "rosnący" #define MR_INCREASING "rosn", 0x0105, "cy" #define MS_OF "z" -#define MS_COLLECTION "kolekcja" +#define MS_LIST "lista" #define MS_CONTAINS "zawiera" #define MS_ENUM "enumeracja" #define MS_INTEGER "całkowita" @@ -93,7 +93,8 @@ #define MS_MAXIMUM "maksimum" #define MS_MINIMUM "minimum" #define MS_IS "jest" -#define MS_EMPTY "pusty" +#define MS_LIST_EMPTY "lista pusta" +#define MR_LIST_EMPTY "lista", space_plus, "pusta" #define MS_CARDINAL "liczba" #define MS_YEAR "rok" #define MS_MONTH "miesiąc" diff --git a/compiler/surface/parser.messages b/compiler/surface/parser.messages index 06f5d3fc..a3f4e5c2 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: 362. +## Ends in an error in state: 358. ## ## 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: 358. +## Ends in an error in state: 354. ## ## 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: 357. +## Ends in an error in state: 353. ## ## 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: 356. +## Ends in an error in state: 352. ## ## 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: 355. +## Ends in an error in state: 351. ## ## 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: 354. +## Ends in an error in state: 350. ## ## 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: 353. +## Ends in an error in state: 349. ## ## 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: 316. +## Ends in an error in state: 312. ## ## 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: 315. +## Ends in an error in state: 311. ## ## 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: 314. +## Ends in an error in state: 310. ## ## 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: 301. +## Ends in an error in state: 297. ## ## 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: 300. +## Ends in an error in state: 296. ## ## 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: 298. +## Ends in an error in state: 294. ## ## 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: 293. +## Ends in an error in state: 289. ## ## 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: 292. +## Ends in an error in state: 288. ## ## 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: 291. +## Ends in an error in state: 287. ## ## 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: 290. +## Ends in an error in state: 286. ## ## 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: 289. +## Ends in an error in state: 285. ## ## 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: 288. +## Ends in an error in state: 284. ## ## 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: 287. +## Ends in an error in state: 283. ## ## 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: 245. +## Ends in an error in state: 241. ## ## 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 ] @@ -282,7 +282,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: 242. +## Ends in an error in state: 238. ## ## assertion -> FIXED separated_nonempty_list(DOT,addpos(LIDENT)) BY . lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -294,7 +294,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: 241. +## Ends in an error in state: 237. ## ## assertion -> FIXED separated_nonempty_list(DOT,addpos(LIDENT)) . BY lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -305,14 +305,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 229, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 225, 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: 240. +## Ends in an error in state: 236. ## ## assertion -> FIXED . separated_nonempty_list(DOT,addpos(LIDENT)) BY lident [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -324,7 +324,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: 238. +## Ends in an error in state: 234. ## ## 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 ] @@ -356,7 +356,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: 237. +## Ends in an error in state: 233. ## ## 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 ] ## @@ -368,7 +368,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: 232. +## Ends in an error in state: 228. ## ## 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 ] ## @@ -379,14 +379,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 229, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 225, 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: 233. +## Ends in an error in state: 229. ## ## 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 ] ## @@ -398,7 +398,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: 228. +## Ends in an error in state: 224. ## ## 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 ] ## @@ -410,7 +410,7 @@ expecting the name of the varying variable source_file: BEGIN_CODE SCOPE UIDENT COLON ASSERTION YEAR ## -## Ends in an error in state: 227. +## Ends in an error in state: 223. ## ## scope_item -> ASSERTION . assertion [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -422,7 +422,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: 268. +## Ends in an error in state: 264. ## ## 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 ] ## @@ -434,7 +434,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: 259. +## Ends in an error in state: 255. ## ## separated_nonempty_list(COMMA,lident) -> lident . [ UNDER_CONDITION STATE NOT FILLED DEFINED_AS ] ## separated_nonempty_list(COMMA,lident) -> lident . COMMA separated_nonempty_list(COMMA,lident) [ UNDER_CONDITION STATE NOT FILLED DEFINED_AS ] @@ -447,7 +447,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: 256. +## Ends in an error in state: 252. ## ## 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 ] ## @@ -458,14 +458,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 229, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 225, 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: 255. +## Ends in an error in state: 251. ## ## 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 ] ## @@ -477,7 +477,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: 282. +## Ends in an error in state: 278. ## ## option(addpos(exception_to)) -> exception_to . [ RULE ] ## option(exception_to) -> exception_to . [ DEFINITION ] @@ -490,7 +490,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: 251. +## Ends in an error in state: 247. ## ## exception_to -> EXCEPTION . option(lident) [ RULE DEFINITION ] ## @@ -502,7 +502,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: 250. +## Ends in an error in state: 246. ## ## 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 ] @@ -515,7 +515,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: 220. +## Ends in an error in state: 216. ## ## label -> LABEL . lident [ RULE EXCEPTION DEFINITION ] ## @@ -527,7 +527,7 @@ expected the name of the label source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT DOT YEAR ## -## Ends in an error in state: 230. +## Ends in an error in state: 226. ## ## 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 ] ## @@ -539,7 +539,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: 280. +## Ends in an error in state: 276. ## ## rule_consequence -> option(NOT) . FILLED [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -551,7 +551,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: 257. +## Ends in an error in state: 253. ## ## definition_parameters -> OF . separated_nonempty_list(COMMA,lident) [ UNDER_CONDITION STATE NOT FILLED DEFINED_AS ] ## @@ -563,7 +563,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: 273. +## Ends in an error in state: 269. ## ## rule_expr -> separated_nonempty_list(DOT,addpos(LIDENT)) . option(addpos(definition_parameters)) [ UNDER_CONDITION STATE NOT FILLED ] ## @@ -574,14 +574,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 229, spurious reduction of production separated_nonempty_list(DOT,addpos(LIDENT)) -> LIDENT +## In state 225, 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: 229. +## Ends in an error in state: 225. ## ## 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 ] @@ -594,7 +594,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: 272. +## Ends in an error in state: 268. ## ## 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 ] ## @@ -606,7 +606,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: 219. +## Ends in an error in state: 215. ## ## code_item -> SCOPE UIDENT option(preceded(UNDER_CONDITION,expression)) COLON . nonempty_list(scope_item) [ SCOPE END_CODE DECLARATION ] ## @@ -692,7 +692,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: 168. +## Ends in an error in state: 166. ## ## 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 ] @@ -748,7 +748,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: 182. +## Ends in an error in state: 180. ## ## expression -> LPAREN expression . RPAREN [ 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 . DOT qlident [ XOR WITH RPAREN PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -792,7 +792,7 @@ expected an expression inside the parenthesis source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET TRUE THEN ## -## Ends in an error in state: 176. +## Ends in an error in state: 174. ## ## 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 ] @@ -821,7 +821,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET TRUE THEN ## expression ## -expected a semicolon or a right square bracket after the collection element +expected a semicolon or a right square bracket after the list element source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET YEAR ## @@ -833,11 +833,11 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LBRACKET YEAR ## LBRACKET ## -expected a collection element +expected a list element source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH TRUE WITH ALT YEAR ## -## Ends in an error in state: 186. +## Ends in an error in state: 184. ## ## 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 ] @@ -850,7 +850,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: 185. +## Ends in an error in state: 183. ## ## 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 ] @@ -875,7 +875,7 @@ expected an expression to match with source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION TRUE YEAR ## -## Ends in an error in state: 217. +## Ends in an error in state: 213. ## ## 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 ] @@ -944,7 +944,7 @@ expected the name of the scope being used source_file: BEGIN_CODE YEAR ## -## Ends in an error in state: 403. +## Ends in an error in state: 399. ## ## source_file_item -> BEGIN_CODE . code END_CODE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -1005,8 +1005,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 382, spurious reduction of production law_text -> nonempty_list(LAW_TEXT) -## In state 383, spurious reduction of production option(law_text) -> law_text +## In state 378, spurious reduction of production law_text -> nonempty_list(LAW_TEXT) +## In state 379, spurious reduction of production option(law_text) -> law_text ## expected some law text or code block @@ -1106,7 +1106,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION SUM BOOLEAN YEAR ## SUM primitive_typ ## -expected 'of' then the collection on which to operate +expected 'of' then the list on which to operate source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION SUM UIDENT OF YEAR ## @@ -1118,7 +1118,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION SUM UIDENT OF YEAR ## SUM primitive_typ OF ## -expected the collection on which to operate the sum +expected the list on which to operate the sum source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION OUTPUT YEAR ## @@ -1251,49 +1251,49 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM YEAR ## ## Ends in an error in state: 47. ## -## expression -> MINIMUM . OF expression OR IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MINIMUM ## -expected 'of' then the collection to operate on +expected 'of' then the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF YEAR ## ## Ends in an error in state: 48. ## -## expression -> MINIMUM OF . expression OR IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MINIMUM OF ## -expected an expression defining the collection to operate on +expected an expression defining the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM YEAR ## ## Ends in an error in state: 49. ## -## expression -> MAXIMUM . OF expression OR IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MAXIMUM ## -expected 'of' then the collection to operate on +expected 'of' then the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF YEAR ## ## Ends in an error in state: 50. ## -## expression -> MAXIMUM OF . expression OR IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MAXIMUM OF ## -expected an expression defining the collection to operate on +expected an expression defining the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT YEAR ## @@ -1354,7 +1354,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION FOR ALL LIDENT AMONG YEAR ## FOR ALL lident AMONG ## -expected an expression describing the collection to operate on +expected an expression describing the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG YEAR ## @@ -1366,7 +1366,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG YEAR ## EXISTS lident AMONG ## -expected an expression describing the collection to operate on +expected an expression describing the list to operate on source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION DECIMAL_LITERAL WITH_V ## @@ -1422,14 +1422,14 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG YEAR ## Ends in an error in state: 88. ## ## 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 COLLECTION 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 COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG ## -expected an expression defining a collection +expected an expression defining a list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG FALSE YEAR ## @@ -1456,8 +1456,8 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG FALSE YEAR ## expression -> expression . XOR expression [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## 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 -> expression . FOR lident AMONG expression SUCH THAT expression [ XOR WITH SUCH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] -## expression -> lident AMONG expression . SUCH THAT expression IS MAXIMUM OR IF COLLECTION 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 COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression @@ -1564,7 +1564,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUSPLUS YEAR ## expression PLUSPLUS ## -expected a collection expression +expected a list expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT PLUSPLUS FALSE YEAR ## @@ -1680,7 +1680,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG YEA ## expression FOR lident AMONG ## -expected an expression defining a collection +expected an expression defining a list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG FALSE YEAR ## @@ -1738,7 +1738,7 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG UID ## expected an expression defining the condition to apply to the elements of the -collection +list source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT FOR LIDENT AMONG UIDENT SUCH THAT FALSE YEAR ## @@ -2385,8 +2385,8 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH YE ## Ends in an error in state: 141. ## ## 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 COLLECTION 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 COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH @@ -2399,8 +2399,8 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## Ends in an error in state: 142. ## ## 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 COLLECTION 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 COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT @@ -2433,8 +2433,8 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## 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 ] ## 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 -> 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 ] -## expression -> lident AMONG expression SUCH THAT expression . IS MAXIMUM OR IF COLLECTION 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 COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression @@ -2446,8 +2446,8 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## ## Ends in an error in state: 144. ## -## expression -> lident AMONG expression SUCH THAT expression IS . MAXIMUM OR IF COLLECTION 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 COLLECTION 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 . 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS @@ -2459,78 +2459,66 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## ## Ends in an error in state: 145. ## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM . OR IF COLLECTION 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MINIMUM ## -expected 'or if collection empty then ' +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: 146. ## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR . IF COLLECTION 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MINIMUM OR ## -expected the form 'or if collection empty then ' +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: 147. ## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF . COLLECTION 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF ## -expected the form 'or if collection empty then ' +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 COLLECTION YEAR +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: 148. ## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION . 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 ] ## ## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION +## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF LIST_EMPTY ## -expected the form 'or if collection empty then ' +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 COLLECTION EMPTY YEAR +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: 149. ## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION 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 ] ## ## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION EMPTY +## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF LIST_EMPTY THEN ## -expected the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MINIMUM OR IF COLLECTION EMPTY THEN YEAR -## -## Ends in an error in state: 150. -## -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION EMPTY THEN -## - -expected an expression, following the form 'or if collection empty then +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 COLLECTION EMPTY THEN FALSE YEAR +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: 151. +## Ends in an error in state: 150. ## ## 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 ] @@ -2552,90 +2540,78 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## 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 ] ## 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 ] ## 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 ] -## expression -> lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION 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 ] ## ## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF COLLECTION EMPTY THEN expression +## lident AMONG expression SUCH THAT expression IS MINIMUM OR IF LIST_EMPTY THEN expression ## expected a binary operator continuing the expression, or a keyword ending the expression and starting the next item source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM YEAR ## -## Ends in an error in state: 152. +## Ends in an error in state: 151. ## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM . OR IF COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MAXIMUM ## -expected 'or if collection empty then ' +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: 153. +## Ends in an error in state: 152. ## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR . IF COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MAXIMUM OR ## -expected the form 'or if collection empty then ' +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: 154. +## Ends in an error in state: 153. ## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF . COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: ## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF ## -expected the form 'or if collection empty then ' +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 COLLECTION YEAR +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: 154. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY +## + +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: 155. ## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION . 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 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 ] ## ## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION +## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY THEN ## -expected the form 'or if collection empty then ' +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 COLLECTION EMPTY YEAR +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: 156. ## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION EMPTY -## - -expected the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF COLLECTION EMPTY THEN YEAR -## -## Ends in an error in state: 157. -## -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION EMPTY THEN -## - -expected an expression, following the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH THAT UIDENT IS MAXIMUM OR IF COLLECTION EMPTY THEN FALSE YEAR -## -## 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 ] ## 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 ] @@ -2656,17 +2632,17 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LIDENT AMONG UIDENT SUCH TH ## 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 ] ## 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 ] ## 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 ] -## expression -> lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION 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 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 ] ## ## The known suffix of the stack is as follows: -## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF COLLECTION EMPTY THEN expression +## lident AMONG expression SUCH THAT expression IS MAXIMUM OR IF LIST_EMPTY THEN expression ## expected a binary operator continuing the expression, or a keyword ending the expression and starting the next item source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION UIDENT CONTENT FALSE YEAR ## -## Ends in an error in state: 159. +## Ends in an error in state: 157. ## ## 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 ] @@ -2698,7 +2674,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: 161. +## Ends in an error in state: 159. ## ## 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 ] @@ -2730,7 +2706,7 @@ expected 'such that ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION EXISTS LIDENT AMONG UIDENT SUCH YEAR ## -## Ends in an error in state: 162. +## Ends in an error in state: 160. ## ## 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 ] ## @@ -2742,7 +2718,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: 163. +## Ends in an error in state: 161. ## ## 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 ] ## @@ -2754,7 +2730,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: 164. +## Ends in an error in state: 162. ## ## 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 ] @@ -2786,7 +2762,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: 165. +## Ends in an error in state: 163. ## ## 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 ] @@ -2818,7 +2794,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: 166. +## Ends in an error in state: 164. ## ## 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 ] ## @@ -2830,7 +2806,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: 167. +## Ends in an error in state: 165. ## ## 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 ] @@ -2862,7 +2838,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: 169. +## Ends in an error in state: 167. ## ## 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 ] ## @@ -2874,7 +2850,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: 170. +## Ends in an error in state: 168. ## ## 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 ] @@ -2906,7 +2882,7 @@ expected 'else ' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION IF UIDENT THEN UIDENT ELSE YEAR ## -## Ends in an error in state: 171. +## Ends in an error in state: 169. ## ## 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 ] ## @@ -2918,7 +2894,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: 172. +## 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 ] @@ -2950,7 +2926,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: 177. +## Ends in an error in state: 175. ## ## separated_nonempty_list(SEMICOLON,expression) -> expression SEMICOLON . separated_nonempty_list(SEMICOLON,expression) [ RBRACKET ] ## @@ -2962,7 +2938,7 @@ expected an expression source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION LET LIDENT DEFINED_AS FALSE YEAR ## -## Ends in an error in state: 179. +## Ends in an error in state: 177. ## ## 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 ] @@ -2994,7 +2970,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: 180. +## Ends in an error in state: 178. ## ## 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 ] ## @@ -3006,7 +2982,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: 181. +## Ends in an error in state: 179. ## ## 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 ] @@ -3038,7 +3014,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: 184. +## Ends in an error in state: 182. ## ## 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 ] @@ -3070,7 +3046,7 @@ expected 'with pattern -- : ...' source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MATCH UIDENT WITH ALT WILDCARD YEAR ## -## Ends in an error in state: 187. +## Ends in an error in state: 185. ## ## 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 ] ## @@ -3082,7 +3058,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: 188. +## Ends in an error in state: 186. ## ## 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 ] ## @@ -3094,7 +3070,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: 189. +## Ends in an error in state: 187. ## ## 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 ] @@ -3126,7 +3102,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: 192. +## Ends in an error in state: 190. ## ## 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 ] ## @@ -3145,7 +3121,7 @@ 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: 193. +## Ends in an error in state: 191. ## ## 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 ] ## @@ -3157,7 +3133,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: 194. +## Ends in an error in state: 192. ## ## 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 ] @@ -3190,14 +3166,14 @@ 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 ] ## 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 -> expression . CONTAINS expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . FOR lident AMONG expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] -## expression -> MAXIMUM OF expression . OR IF COLLECTION 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 -> 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 . MULT expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . DIV expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . PLUS expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3218,80 +3194,68 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF FALSE YEAR ## MAXIMUM OF expression ## -expected 'or if collection empty then ' +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: 197. +## Ends in an error in state: 195. ## -## expression -> MAXIMUM OF expression OR . IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MAXIMUM OF expression OR ## -expected the form 'or if collection empty then ' +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: 198. +## Ends in an error in state: 196. ## -## expression -> MAXIMUM OF expression OR IF . COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MAXIMUM OF expression OR IF ## -expected the form 'or if collection empty then ' +expected the form 'or if list empty then ' -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF COLLECTION YEAR +source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF LIST_EMPTY YEAR +## +## Ends in an error in state: 197. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## MAXIMUM OF expression OR IF LIST_EMPTY +## + +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: 198. +## +## 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 ] +## +## The known suffix of the stack is as follows: +## MAXIMUM OF expression OR IF LIST_EMPTY THEN +## + +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: 199. ## -## expression -> MAXIMUM OF expression OR IF COLLECTION . 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 ] -## -## The known suffix of the stack is as follows: -## MAXIMUM OF expression OR IF COLLECTION -## - -expected the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF COLLECTION EMPTY YEAR -## -## Ends in an error in state: 200. -## -## expression -> MAXIMUM OF expression OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## MAXIMUM OF expression OR IF COLLECTION EMPTY -## - -expected the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF COLLECTION EMPTY THEN YEAR -## -## Ends in an error in state: 201. -## -## expression -> MAXIMUM OF expression OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## MAXIMUM OF expression OR IF COLLECTION EMPTY THEN -## - -expected an expression, following the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF COLLECTION EMPTY THEN FALSE YEAR -## -## Ends in an error in state: 202. -## ## 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 ] ## 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 ] ## 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 ] ## 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 -> MAXIMUM OF expression OR IF COLLECTION 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 -> 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 . 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 ] ## 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 ] ## 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 ] @@ -3309,21 +3273,21 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MAXIMUM OF UIDENT OR IF COL ## 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 ] ## ## The known suffix of the stack is as follows: -## MAXIMUM OF expression OR IF COLLECTION EMPTY THEN expression +## MAXIMUM OF expression OR IF LIST_EMPTY THEN expression ## expected a binary operator continuing the expression, or a keyword ending the expression and starting the next item source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF FALSE YEAR ## -## Ends in an error in state: 203. +## Ends in an error in state: 200. ## ## 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 ] ## 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 -> expression . CONTAINS expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . FOR lident AMONG expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] -## expression -> MINIMUM OF expression . OR IF COLLECTION 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 -> 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 . MULT expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . DIV expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] ## expression -> expression . PLUS expression [ XOR WITH PLUSPLUS PLUS OR OF NOT_EQUAL MULT MINUS LESSER_EQUAL LESSER GREATER_EQUAL GREATER FOR EQUAL DOT DIV CONTAINS AND ] @@ -3344,81 +3308,69 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF FALSE YEAR ## MINIMUM OF expression ## -expected 'or if collection empty then ' +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: 204. +## Ends in an error in state: 201. ## -## expression -> MINIMUM OF expression OR . IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MINIMUM OF expression OR ## -expected the form 'or if collection empty then ' +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: 205. +## Ends in an error in state: 202. ## -## expression -> MINIMUM OF expression OR IF . COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: ## MINIMUM OF expression OR IF ## -expected the form 'or if collection empty then ' +expected the form 'or if list empty then ' -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF COLLECTION YEAR +source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY YEAR ## -## Ends in an error in state: 206. +## Ends in an error in state: 203. ## -## expression -> MINIMUM OF expression OR IF COLLECTION . 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 -> 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 ] ## ## The known suffix of the stack is as follows: -## MINIMUM OF expression OR IF COLLECTION +## MINIMUM OF expression OR IF LIST_EMPTY ## -expected the form 'or if collection empty then ' +expected the form 'or if list empty then ' -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF COLLECTION EMPTY YEAR +source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY THEN YEAR ## -## Ends in an error in state: 207. +## Ends in an error in state: 204. ## -## expression -> MINIMUM OF expression OR IF COLLECTION 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 -> 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 ] ## ## The known suffix of the stack is as follows: -## MINIMUM OF expression OR IF COLLECTION EMPTY +## MINIMUM OF expression OR IF LIST_EMPTY THEN ## -expected the form 'or if collection empty then ' - -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF COLLECTION EMPTY THEN YEAR -## -## Ends in an error in state: 208. -## -## expression -> MINIMUM OF expression OR IF COLLECTION 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 ] -## -## The known suffix of the stack is as follows: -## MINIMUM OF expression OR IF COLLECTION EMPTY THEN -## - -expected an expression, following the form 'or if collection empty then +expected an expression, following the form 'or if list empty then ' -source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF COLLECTION EMPTY THEN FALSE YEAR +source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF LIST_EMPTY THEN FALSE YEAR ## -## Ends in an error in state: 209. +## Ends in an error in state: 205. ## ## 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 ] ## 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 ] ## 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 ] ## 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 -> MINIMUM OF expression OR IF COLLECTION 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 -> 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 . 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 ] ## 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 ] ## 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 ] @@ -3436,14 +3388,14 @@ source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINIMUM OF UIDENT OR IF COL ## 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 ] ## ## The known suffix of the stack is as follows: -## MINIMUM OF expression OR IF COLLECTION EMPTY THEN expression +## MINIMUM OF expression OR IF LIST_EMPTY THEN expression ## expected a binary operator continuing the expression, or a keyword ending the expression and starting the next item source_file: BEGIN_CODE SCOPE UIDENT UNDER_CONDITION MINUS FALSE YEAR ## -## Ends in an error in state: 210. +## Ends in an error in state: 206. ## ## 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 ] @@ -3475,7 +3427,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: 211. +## Ends in an error in state: 207. ## ## 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 ] @@ -3507,7 +3459,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: 212. +## Ends in an error in state: 208. ## ## 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 ] @@ -3539,7 +3491,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: 216. +## Ends in an error in state: 212. ## ## 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 ] @@ -3571,7 +3523,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: 234. +## Ends in an error in state: 230. ## ## 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 ] @@ -3603,7 +3555,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: 244. +## Ends in an error in state: 240. ## ## assertion -> option(condition_consequence) . expression [ SCOPE RULE LABEL EXCEPTION END_CODE DEFINITION DECLARATION DATE ASSERTION ] ## @@ -3615,7 +3567,7 @@ expected either 'fulfilled' or 'not fulfilled' source_file: BEGIN_CODE SCOPE UIDENT COLON RULE LIDENT FILLED YEAR ## -## Ends in an error in state: 248. +## Ends in an error in state: 244. ## ## nonempty_list(scope_item) -> scope_item . [ SCOPE END_CODE DECLARATION ] ## nonempty_list(scope_item) -> scope_item . nonempty_list(scope_item) [ SCOPE END_CODE DECLARATION ] @@ -3628,7 +3580,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: 277. +## Ends in an error in state: 273. ## ## 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 ] ## @@ -3640,7 +3592,7 @@ expected either 'fulfilled' or 'not fulfilled' source_file: BEGIN_CODE SCOPE UIDENT COLON DEFINITION LIDENT STATE YEAR ## -## Ends in an error in state: 263. +## Ends in an error in state: 259. ## ## state -> STATE . lident [ UNDER_CONDITION STATE SCOPE OUTPUT NOT LIDENT INTERNAL INPUT FILLED END_CODE DEFINED_AS DECLARATION CONTEXT ] ## @@ -3652,7 +3604,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: 276. +## Ends in an error in state: 272. ## ## 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 ] ## @@ -3664,7 +3616,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: 266. +## Ends in an error in state: 262. ## ## 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 ] ## @@ -3676,7 +3628,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: 267. +## Ends in an error in state: 263. ## ## 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 ] ## @@ -3688,7 +3640,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: 269. +## Ends in an error in state: 265. ## ## 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 ] @@ -3720,7 +3672,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: 321. +## Ends in an error in state: 317. ## ## scope_decl_item_attribute -> scope_decl_item_attribute_input . scope_decl_item_attribute_output [ LIDENT ] ## @@ -3732,7 +3684,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: 324. +## Ends in an error in state: 320. ## ## 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 ] @@ -3749,7 +3701,7 @@ expected a variable name source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT YEAR ## -## Ends in an error in state: 325. +## Ends in an error in state: 321. ## ## 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 ] @@ -3766,7 +3718,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: 326. +## Ends in an error in state: 322. ## ## 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 ] @@ -3780,7 +3732,7 @@ expected a type source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 327. +## Ends in an error in state: 323. ## ## 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 ] @@ -3795,7 +3747,7 @@ for the scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON CONTEXT LIDENT CONTENT UIDENT DEPENDS YEAR ## -## Ends in an error in state: 328. +## Ends in an error in state: 324. ## ## 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 ] @@ -3808,7 +3760,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: 329. +## Ends in an error in state: 325. ## ## 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 ] ## @@ -3820,7 +3772,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: 330. +## Ends in an error in state: 326. ## ## 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 ] ## @@ -3833,15 +3785,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 296, spurious reduction of production typ_data -> primitive_typ -## In state 307, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 292, spurious reduction of production typ_data -> primitive_typ +## In state 303, 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: 331. +## Ends in an error in state: 327. ## ## 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 ] ## @@ -3853,7 +3805,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: 332. +## Ends in an error in state: 328. ## ## list(state) -> state . list(state) [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3866,7 +3818,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: 335. +## Ends in an error in state: 331. ## ## 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 ] ## @@ -3879,15 +3831,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 296, spurious reduction of production typ_data -> primitive_typ -## In state 307, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 292, spurious reduction of production typ_data -> primitive_typ +## In state 303, 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: 338. +## Ends in an error in state: 334. ## ## 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 ] @@ -3901,7 +3853,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: 339. +## Ends in an error in state: 335. ## ## 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 ] @@ -3914,7 +3866,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: 340. +## Ends in an error in state: 336. ## ## 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 ] ## @@ -3926,7 +3878,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: 341. +## Ends in an error in state: 337. ## ## 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 ] ## @@ -3939,15 +3891,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 296, spurious reduction of production typ_data -> primitive_typ -## In state 307, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 292, spurious reduction of production typ_data -> primitive_typ +## In state 303, 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: 342. +## Ends in an error in state: 338. ## ## 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 ] ## @@ -3959,7 +3911,7 @@ expected the next definition in scope source_file: BEGIN_CODE DECLARATION SCOPE UIDENT COLON LIDENT YEAR ## -## Ends in an error in state: 349. +## Ends in an error in state: 345. ## ## scope_decl_item -> lident . SCOPE quident [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3971,7 +3923,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: 350. +## Ends in an error in state: 346. ## ## scope_decl_item -> lident SCOPE . quident [ SCOPE OUTPUT LIDENT INTERNAL INPUT END_CODE DECLARATION CONTEXT ] ## @@ -3983,7 +3935,7 @@ expected a scope name source_file: BEGIN_CODE DECLARATION LIDENT YEAR ## -## Ends in an error in state: 364. +## Ends in an error in state: 360. ## ## 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 ] @@ -3997,7 +3949,7 @@ expected 'content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT YEAR ## -## Ends in an error in state: 365. +## Ends in an error in state: 361. ## ## 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 ] @@ -4011,7 +3963,7 @@ expected a type source_file: BEGIN_CODE DECLARATION LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 366. +## Ends in an error in state: 362. ## ## 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 ] @@ -4026,7 +3978,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: 367. +## Ends in an error in state: 363. ## ## 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 ] @@ -4039,7 +3991,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: 368. +## Ends in an error in state: 364. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN . separated_nonempty_list(COMMA,var_content) RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4051,7 +4003,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: 369. +## Ends in an error in state: 365. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) . RPAREN option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4064,8 +4016,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 296, spurious reduction of production typ_data -> primitive_typ -## In state 307, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data +## In state 292, spurious reduction of production typ_data -> primitive_typ +## In state 303, spurious reduction of production separated_nonempty_list(COMMA,var_content) -> lident CONTENT typ_data ## expected ')', or ',' followed by another argument declaration in the form ' @@ -4073,7 +4025,7 @@ content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LPAREN LIDENT CONTENT UIDENT RPAREN YEAR ## -## Ends in an error in state: 370. +## Ends in an error in state: 366. ## ## code_item -> DECLARATION lident CONTENT typ_data DEPENDS LPAREN separated_nonempty_list(COMMA,var_content) RPAREN . option(opt_def) [ SCOPE END_CODE DECLARATION ] ## @@ -4085,7 +4037,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: 371. +## Ends in an error in state: 367. ## ## option(opt_def) -> DEFINED_AS . expression [ SCOPE END_CODE DECLARATION ] ## @@ -4097,7 +4049,7 @@ expected an expression source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT YEAR ## -## Ends in an error in state: 305. +## Ends in an error in state: 301. ## ## 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 ] @@ -4110,7 +4062,7 @@ expected 'content ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT YEAR ## -## Ends in an error in state: 306. +## Ends in an error in state: 302. ## ## 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 ] @@ -4123,7 +4075,7 @@ expected a type source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT BOOLEAN YEAR ## -## Ends in an error in state: 307. +## Ends in an error in state: 303. ## ## 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 ] @@ -4136,7 +4088,7 @@ expected 'equals ' source_file: BEGIN_CODE DECLARATION LIDENT CONTENT UIDENT DEPENDS LIDENT CONTENT UIDENT COMMA YEAR ## -## Ends in an error in state: 308. +## Ends in an error in state: 304. ## ## 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 ] ## @@ -4148,7 +4100,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: 372. +## Ends in an error in state: 368. ## ## 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 ] @@ -4180,7 +4132,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: 384. +## Ends in an error in state: 380. ## ## source_file_item -> BEGIN_DIRECTIVE . directive END_DIRECTIVE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -4192,7 +4144,7 @@ expected a directive, e.g. 'Include: ' source_file: BEGIN_DIRECTIVE LAW_INCLUDE YEAR ## -## Ends in an error in state: 394. +## Ends in an error in state: 390. ## ## directive -> LAW_INCLUDE . COLON nonempty_list(DIRECTIVE_ARG) option(AT_PAGE) [ END_DIRECTIVE ] ## @@ -4204,7 +4156,7 @@ expected ':', then a file name or 'JORFTEXTNNNNNNNNNNNN' source_file: BEGIN_DIRECTIVE LAW_INCLUDE COLON YEAR ## -## Ends in an error in state: 395. +## Ends in an error in state: 391. ## ## directive -> LAW_INCLUDE COLON . nonempty_list(DIRECTIVE_ARG) option(AT_PAGE) [ END_DIRECTIVE ] ## @@ -4216,7 +4168,7 @@ expected a file name or 'JORFTEXTNNNNNNNNNNNN' source_file: BEGIN_DIRECTIVE LAW_INCLUDE COLON DIRECTIVE_ARG YEAR ## -## Ends in an error in state: 396. +## Ends in an error in state: 392. ## ## nonempty_list(DIRECTIVE_ARG) -> DIRECTIVE_ARG . [ END_DIRECTIVE AT_PAGE ] ## nonempty_list(DIRECTIVE_ARG) -> DIRECTIVE_ARG . nonempty_list(DIRECTIVE_ARG) [ END_DIRECTIVE AT_PAGE ] @@ -4229,7 +4181,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: 401. +## Ends in an error in state: 397. ## ## source_file_item -> BEGIN_DIRECTIVE directive . END_DIRECTIVE [ LAW_TEXT LAW_HEADING EOF BEGIN_METADATA BEGIN_DIRECTIVE BEGIN_CODE ] ## @@ -4241,7 +4193,7 @@ expected a newline source_file: LAW_HEADING YEAR ## -## Ends in an error in state: 406. +## Ends in an error in state: 402. ## ## source_file -> source_file_item . source_file [ # ] ## diff --git a/compiler/surface/parser.mly b/compiler/surface/parser.mly index 04fa6f01..3ab879f9 100644 --- a/compiler/surface/parser.mly +++ b/compiler/surface/parser.mly @@ -119,7 +119,7 @@ let primitive_typ := let typ_data := | t = primitive_typ ; -| COLLECTION ; t = addpos(typ_data) ; +| LIST ; t = addpos(typ_data) ; let typ == t = typ_data ; @@ -213,7 +213,7 @@ let naked_expression == } %prec apply | max = minmax ; OF ; coll = expression ; - OR ; IF ; COLLECTION ; EMPTY ; THEN ; + OR ; IF ; LIST_EMPTY ; THEN ; default = expression ; { CollectionOp (AggregateExtremum { max; default }, coll) } %prec apply @@ -265,7 +265,7 @@ let naked_expression == AMONG ; coll = expression ; SUCH ; THAT ; f = expression ; IS ; max = minmax ; - OR ; IF ; COLLECTION ; EMPTY ; THEN ; default = expression ; { + OR ; IF ; LIST_EMPTY ; THEN ; default = expression ; { CollectionOp (AggregateArgExtremum { max; default; f = i, f }, coll) } %prec top_expr diff --git a/compiler/surface/tokens.mly b/compiler/surface/tokens.mly index f0c8ffca..681fe0c9 100644 --- a/compiler/surface/tokens.mly +++ b/compiler/surface/tokens.mly @@ -38,7 +38,7 @@ %token MONEY_AMOUNT %token BEGIN_CODE TEXT %token COLON ALT DATA -%token OF INTEGER COLLECTION CONTAINS AMONG +%token OF INTEGER LIST CONTAINS AMONG %token RULE CONDITION DEFINED_AS %token LESSER GREATER LESSER_EQUAL GREATER_EQUAL %token LET EXISTS IN SUCH THAT COMMA @@ -55,6 +55,6 @@ %token BEGIN_METADATA MONEY DECIMAL %token UNDER_CONDITION CONSEQUENCE LBRACE RBRACE %token LABEL EXCEPTION LBRACKET RBRACKET SEMICOLON -%token MAXIMUM MINIMUM IS EMPTY +%token MAXIMUM MINIMUM IS LIST_EMPTY %% diff --git a/doc/syntax/syntax_en.tex b/doc/syntax/syntax_en.tex index 8943d8d5..82ecb174 100644 --- a/doc/syntax/syntax_en.tex +++ b/doc/syntax/syntax_en.tex @@ -273,7 +273,7 @@ \end{catala} & \begin{catala} ```catala - collection integer + list of integer ``` \end{catala} @@ -632,7 +632,7 @@ \\ \end{tabular} -\section{Collection operations} +\section{List operations} \begin{tabular}{@{}p{\cola}>{\slshape}p{\colb}@{}} \begin{catala} @@ -709,7 +709,7 @@ \begin{catala} ```catala maximum of coll - or if collection empty then -1 + or if list empty then -1 ``` \end{catala} & Extremum @@ -718,7 +718,7 @@ ```catala x among coll such that (x * x) is minimum - or if collection empty then -1 + or if list empty then -1 ``` \end{catala} & Arg-extremum diff --git a/doc/syntax/syntax_fr.tex b/doc/syntax/syntax_fr.tex index cdb7d6fb..39fdb739 100644 --- a/doc/syntax/syntax_fr.tex +++ b/doc/syntax/syntax_fr.tex @@ -273,7 +273,7 @@ \end{catala} & \begin{catala} ```catala - collection entier + liste de entier ``` \end{catala} @@ -631,7 +631,7 @@ \\ \end{tabular} -\section{Opérations sur les collections} +\section{Opérations sur les listes} \begin{tabular}{@{}p{\cola}>{\slshape}p{\colb}@{}} \begin{catala} @@ -693,10 +693,10 @@ \\ \begin{catala} ```catala - somme entier coll + somme entier de coll ``` \end{catala} - & Aggrégation + & Agrégation \\ \begin{catala} ```catala @@ -708,7 +708,7 @@ \begin{catala} ```catala maximum de coll - ou si collection vide alors -1 + ou si liste vide alors -1 ``` \end{catala} & Extremums @@ -717,7 +717,7 @@ ```catala x parmi coll tel que (x * x) est minimum - ou si collection vide alors -1 + ou si liste vide alors -1 ``` \end{catala} & Élément selon extremum diff --git a/examples/aides_logement/prologue.catala_fr b/examples/aides_logement/prologue.catala_fr index 4d81c1c7..14227bf9 100644 --- a/examples/aides_logement/prologue.catala_fr +++ b/examples/aides_logement/prologue.catala_fr @@ -216,9 +216,9 @@ déclaration énumération DateNaissanceTroisièmeOuDernierPlusEnfant: -- PlusDeTroisEnfants contenu DateDeNaissanceOuMoisDeGrossesse déclaration structure Ménage: - donnée prestations_reçues contenu collection PrestationReçue + donnée prestations_reçues contenu liste de PrestationReçue donnée logement contenu Logement - donnée personnes_à_charge contenu collection PersonneÀCharge + donnée personnes_à_charge contenu liste de PersonneÀCharge donnée nombre_autres_occupants_logement contenu entier donnée situation_familiale contenu SituationFamiliale donnée condition_rattaché_foyer_fiscal_parent_ifi contenu booléen @@ -311,7 +311,7 @@ déclaration champ d'application ÉligibilitéAidesPersonnelleLogement: interne prise_en_compte_personne_à_charge condition dépend de personne_à_charge contenu PersonneÀCharge interne personnes_à_charge_prises_en_compte - contenu collection PersonneÀCharge + contenu liste de PersonneÀCharge contexte date_entrée_vigueur_différée_cch contenu date interne nombre_personnes_logement contenu entier @@ -330,7 +330,7 @@ déclaration champ d'application ÉligibilitéAidesPersonnelleLogement: résultat éligibilité condition résultat nombre_personnes_à_charge_prises_en_compte contenu entier résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - collection décimal + liste de décimal résultat condition_2_r823_4 condition dépend de personne_à_charge contenu PersonneÀCharge @@ -388,7 +388,7 @@ déclaration champ d'application ÉligibilitéAidePersonnaliséeLogement: résultat éligibilité condition résultat nombre_personnes_à_charge_prises_en_compte contenu entier résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - collection décimal + liste de décimal champ d'application ÉligibilitéAidePersonnaliséeLogement: @@ -437,7 +437,7 @@ déclaration champ d'application ÉligibilitéAllocationLogement: état l841_2 résultat nombre_personnes_à_charge_prises_en_compte contenu entier résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - collection décimal + liste de décimal champ d'application ÉligibilitéAllocationLogement: # Ici nous instancions le champ d'application d'éligibilité aux prestations @@ -608,9 +608,9 @@ déclaration champ d'application CalculÉquivalenceLoyerMinimale: entrée condition_2_du_832_25 contenu booléen entrée n_nombre_parts_d832_25 contenu décimal - interne tranches_revenus_d832_26 contenu collection TrancheRevenu + interne tranches_revenus_d832_26 contenu liste de TrancheRevenu interne tranches_revenus_d832_26_multipliées contenu - collection TrancheRevenuDécimal + liste de TrancheRevenuDécimal interne montant_forfaitaire_d832_26 contenu argent résultat montant contenu argent @@ -1137,7 +1137,7 @@ déclaration champ d'application CalculetteAidesAuLogement: résultat traitement_aide_finale contenu argent dépend de aide_finale contenu argent résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - collection décimal + liste de décimal champ d'application CalculetteAidesAuLogement: définition éligibilité_aide_personnalisée_logement.ménage égal à @@ -1205,7 +1205,7 @@ déclaration champ d'application CalculetteAidesAuLogementGardeAlternée: interne ménage_sans_enfants_garde_alternée contenu Ménage interne coefficents_enfants_garde_alternée_pris_en_compte contenu - collection décimal + liste de décimal calculette champ d'application CalculetteAidesAuLogement calculette_sans_garde_alternée champ d'application CalculetteAidesAuLogement diff --git a/examples/allocations_familiales/epilogue.catala_fr b/examples/allocations_familiales/epilogue.catala_fr index 3e021dc3..69825582 100644 --- a/examples/allocations_familiales/epilogue.catala_fr +++ b/examples/allocations_familiales/epilogue.catala_fr @@ -12,7 +12,7 @@ champ d'application EnfantLePlusÂgé: définition le_plus_âgé égal à potentiel_plus_âgé parmi enfants tel que potentiel_plus_âgé.date_de_naissance est minimum - ou si collection vide alors Enfant { + ou si liste vide alors Enfant { -- identifiant: -1 -- obligation_scolaire: Pendant -- rémuneration_mensuelle: 0€ @@ -72,8 +72,8 @@ déclaration structure EnfantEntrée: déclaration champ d'application InterfaceAllocationsFamiliales: entrée i_date_courante contenu date - entrée i_enfants contenu collection EnfantEntrée - interne enfants_à_charge contenu collection Enfant + entrée i_enfants contenu liste de EnfantEntrée + interne enfants_à_charge contenu liste de Enfant allocations_familiales champ d'application AllocationsFamiliales entrée i_ressources_ménage contenu argent entrée i_résidence contenu Collectivité @@ -137,4 +137,4 @@ champ d'application InterfaceAllocationsFamiliales: NOTA : Conformément à l'article 63 de la loi n° 2019-791 du 26 juillet 2019, ces -dispositions entrent en vigueur à la rentrée scolaire 2019. \ No newline at end of file +dispositions entrent en vigueur à la rentrée scolaire 2019. diff --git a/examples/allocations_familiales/prologue.catala_fr b/examples/allocations_familiales/prologue.catala_fr index 249dffef..95dabbde 100644 --- a/examples/allocations_familiales/prologue.catala_fr +++ b/examples/allocations_familiales/prologue.catala_fr @@ -65,7 +65,7 @@ déclaration champ d'application AllocationFamilialesAvril2008: résultat âge_minimum_alinéa_1_l521_3 contenu durée déclaration champ d'application EnfantLePlusÂgé: - entrée enfants contenu collection Enfant + entrée enfants contenu liste de Enfant résultat le_plus_âgé contenu Enfant déclaration champ d'application AllocationsFamiliales: @@ -80,9 +80,9 @@ déclaration champ d'application AllocationsFamiliales: entrée date_courante contenu date # Variables concernant les enfants du ménage - entrée enfants_à_charge contenu collection Enfant + entrée enfants_à_charge contenu liste de Enfant interne enfants_à_charge_droit_ouvert_prestation_familiale - contenu collection Enfant + contenu liste de Enfant interne prise_en_compte contenu PriseEnCompte dépend de enfant contenu Enfant résultat versement contenu VersementAllocations dépend de enfant contenu Enfant diff --git a/examples/droit_successions/droit_successions.catala_fr b/examples/droit_successions/droit_successions.catala_fr index 53d0eab8..92d4a1e9 100644 --- a/examples/droit_successions/droit_successions.catala_fr +++ b/examples/droit_successions/droit_successions.catala_fr @@ -31,14 +31,14 @@ déclaration structure BienUsufruitRenteViagère: déclaration champ d'application RéserveHéréditaire: résultat quotité_réserve_héréditaire contenu décimal - entrée enfants contenu collection Enfant + entrée enfants contenu liste de Enfant interne enfant_pris_en_compte_réserve_héréditaire contenu booléen dépend de enfant contenu Enfant - interne enfants_réserve_héréditaire contenu collection Enfant + interne enfants_réserve_héréditaire contenu liste de Enfant entrée conjoint_survivant_non_divorcé condition entrée patrimoine_total contenu argent - entrée biens_usufruit_rente_viagère contenu collection BienUsufruitRenteViagère + entrée biens_usufruit_rente_viagère contenu liste de BienUsufruitRenteViagère résultat patrimoine_assiette_réserve_héréditaire contenu argent résultat montant_réserve_héréditaire contenu argent ``` diff --git a/examples/tutorial_en/tutorial_en.catala_en b/examples/tutorial_en/tutorial_en.catala_en index c7d0c1e0..41ab0154 100644 --- a/examples/tutorial_en/tutorial_en.catala_en +++ b/examples/tutorial_en/tutorial_en.catala_en @@ -819,20 +819,20 @@ scope DateValues: (value1 - |1999-12-31|) + 45 day # 367 + 45 days (2000 is bissextile) ``` -### Collections +### Listes Often, Catala programs need to speak about a collection of data because the law talks about the number of children, the maximum of a list, etc. Catala features -first-class support for collections, which are basically fixed-size lists. +first-class support for lists. You can create a list, filter its elements but also aggregate over its contents to compute all sorts of values. ```catala -declaration scope CollectionValues: - internal value1 content collection integer +declaration scope ListValues: + internal value1 content list of integer internal value2 content integer -scope CollectionValues: +scope ListValues: definition value1 equals [45;-6;3;4;0;2155] definition value2 equals sum integer of (i * i) for i among value1 # sum of squares diff --git a/examples/tutoriel_fr/tutoriel_fr.catala_fr b/examples/tutoriel_fr/tutoriel_fr.catala_fr index 565d7579..085205f8 100644 --- a/examples/tutoriel_fr/tutoriel_fr.catala_fr +++ b/examples/tutoriel_fr/tutoriel_fr.catala_fr @@ -863,18 +863,17 @@ champ d'application ValeursDate: ### Collections Souvent, les programmes Catala ont besoin de parler de collection de données -parce que la loi parle du nombre d’enfants, du maximum d’une liste, etc. -Catala propose un support de première classe pour les collections, qui ne sont -finalement que des listes de taille fixe. Vous pouvez créer une liste, filtrer -ses éléments, mais aussi agréger son contenu pour calculer toutes sortes de -valeurs. +parce que la loi parle du nombre d’enfants, du maximum d’une liste, etc. Catala +propose un support de première classe pour les listes. Vous pouvez créer une +liste, filtrer ses éléments, mais aussi agréger son contenu pour calculer toutes +sortes de valeurs. ```catala -déclaration champ d'application ValeursDeCollection: - interne valeur1 contenu collection entier +déclaration champ d'application ValeursDeListe: + interne valeur1 contenu liste de entier interne valeur2 contenu entier -champ d'application ValeursDeCollection: +champ d'application ValeursDeListe: définition valeur1 égal à [45;-6;3;4;0;2155] définition valeur2 égal à somme entier de (i * i) pour i parmi valeur1 # somme de carré diff --git a/examples/us_tax_code/section_121.catala_en b/examples/us_tax_code/section_121.catala_en index 80a2e068..ee84b1f1 100644 --- a/examples/us_tax_code/section_121.catala_en +++ b/examples/us_tax_code/section_121.catala_en @@ -6,9 +6,9 @@ declaration structure Period: data end content date declaration scope PeriodMerge: - context periods1 content collection Period - context periods2 content collection Period - output output_periods content collection Period + context periods1 content list of Period + context periods2 content list of Period + output output_periods content list of Period scope PeriodMerge: # Placeholders, overwritten by caller @@ -34,13 +34,13 @@ declaration scope Section121SinglePerson: output requirements_ownership_met condition output requirements_usage_met condition input date_of_sale_or_exchange content date - input property_ownage content collection Period + input property_ownage content list of Period # Invariant: the periods in the collection are disjoint input property_usage_as_principal_residence - content collection Period + content list of Period # Invariant: the periods in the collection are disjoint internal aggregate_periods_from_last_five_years content duration - depends on periods content collection Period + depends on periods content list of Period context output gain_cap content money input gain_from_sale_or_exchange_of_property content money output income_excluded_from_gross_income_uncapped content money @@ -49,9 +49,9 @@ declaration scope Section121SinglePerson: input other_section_121a_sale content OtherSection121aSale declaration structure PersonalData: - data property_ownage content collection Period + data property_ownage content list of Period data property_usage_as_principal_residence - content collection Period + content list of Period data other_section_121a_sale content OtherSection121aSale declaration structure JointReturn: diff --git a/syntax_highlighting/emacs/catala-mode.el b/syntax_highlighting/emacs/catala-mode.el index fb109ee7..88850dd6 100644 --- a/syntax_highlighting/emacs/catala-mode.el +++ b/syntax_highlighting/emacs/catala-mode.el @@ -22,7 +22,7 @@ (define-generic-mode 'catala-mode-fr '("#") '("contexte" "entrée" "résultat" "interne" - "champ d'application" "si et seulement si" "dépend de" "déclaration" "inclus" "collection" "contenu" "optionnel" "structure" "énumération" "contexte" "entrée" "résultat" "interne" "règle" "sous condition" "condition" "donnée" "conséquence" "rempli" "égal à" "assertion" "définition" "état" "étiquette" "exception" "soit") + "champ d'application" "si et seulement si" "dépend de" "déclaration" "inclus" "liste de" "contenu" "optionnel" "structure" "énumération" "contexte" "entrée" "résultat" "interne" "règle" "sous condition" "condition" "donnée" "conséquence" "rempli" "égal à" "assertion" "définition" "état" "étiquette" "exception" "soit" "liste vide") '(("\\<\\(selon\\|sous\s+forme\\|fixé\\|par\\|décroissante\\|croissante\\|varie\\|avec\\|on\s+a\\|soit\\|dans\\|tel\s+que\\|existe\\|pour\\|tout\\|de\\|si\\|alors\\|sinon\\|initial\\)\\>" . font-lock-builtin-face) ("\\<\\(vrai\\|faux\\)\\>" . font-lock-constant-face) ("\\<\\([0-9][0-9 ]*\\(,[0-9]*\\|\\)\\)\\>" . font-lock-constant-face) @@ -41,7 +41,7 @@ (define-generic-mode 'catala-mode-en '("#") '("context" "input" "output" "internal" - "scope" "depends on" "declaration" "includes" "collection" "content" "optional" "structure" "enumeration" "context" "input" "output" "internal" "rule" "under condition" "condition" "data" "consequence" "fulfilled" "equals" "assertion" "definition" "state" "label" "exception" "let") + "scope" "depends on" "declaration" "includes" "list of" "content" "optional" "structure" "enumeration" "context" "input" "output" "internal" "rule" "under condition" "condition" "data" "consequence" "fulfilled" "equals" "assertion" "definition" "state" "label" "exception" "let" "list empty") '(("\\<\\(match\\|with\s+pattern\\|fixed\\|by\\|decreasing\\|increasing\\|varies\\|with\\|we\s+have\\|let\\|in\\|such\s+that\\|exists\\|for\\|all\\|of\\|if\\|then\\|else\\|initial\\)\\>" . font-lock-builtin-face) ("|[0-9]\\+-[0-9]\\+-[0-9]\\+|" . font-lock-constant-face) ("\\<\\(true\\|false\\)\\>" . font-lock-constant-face) diff --git a/syntax_highlighting/en/ace/mode-catala_en.js b/syntax_highlighting/en/ace/mode-catala_en.js index 46236ba4..15742e00 100644 --- a/syntax_highlighting/en/ace/mode-catala_en.js +++ b/syntax_highlighting/en/ace/mode-catala_en.js @@ -75,7 +75,7 @@ ace.define( { token: "keyword.other", regex: - "\\b(scope|depends\\s+on|declaration|includes|collection|content|optional|structure|enumeration|context|input|output|internal|rule|under\\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything)\\b", + "\\b(scope|depends\\s+on|declaration|includes|list\\s+of|content|optional|structure|enumeration|context|input|output|internal|rule|under\\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything|list\\s+empty)\\b", }, { token: "constant.numeric", diff --git a/syntax_highlighting/en/atom/grammars/catala_en.cson b/syntax_highlighting/en/atom/grammars/catala_en.cson index 21c59d0d..50e4730b 100644 --- a/syntax_highlighting/en/atom/grammars/catala_en.cson +++ b/syntax_highlighting/en/atom/grammars/catala_en.cson @@ -125,7 +125,7 @@ 'name' : 'keyword.control.catala_en' } { - 'match' : '\\b(scope|depends\\s+on|declaration|includes|collection|content|optional|structure|enumeration|context|input|output|internal|rule|under\\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything)\\b' + 'match' : '\\b(scope|depends\\s+on|declaration|includes|list\\s+of|content|optional|structure|enumeration|context|input|output|internal|rule|under\\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything|list\\+empty)\\b' 'name' : 'keyword.other.catala_en' } { diff --git a/syntax_highlighting/en/catala_en.iro b/syntax_highlighting/en/catala_en.iro index a428db6e..d05761df 100644 --- a/syntax_highlighting/en/catala_en.iro +++ b/syntax_highlighting/en/catala_en.iro @@ -221,7 +221,7 @@ code : context { } : pattern { - regex \= \b(contains|number|sum|such\s+that|exists|for|all|of|if|then|else|is|empty|among|maximum|minimum|round)\b + regex \= \b(contains|number|sum|such\s+that|exists|for|all|of|if|then|else|is|empty|among|maximum|minimum|round|list\s+empty)\b styles [] = .keyword_rule ; } @@ -253,7 +253,7 @@ code : context { } : pattern { - regex \= \b(structure|enumeration|collection|integer|boolean|date|duration|money|text|decimal)\b + regex \= \b(structure|enumeration|list\s+of|integer|boolean|date|duration|money|text|decimal)\b styles [] = .primitive; } diff --git a/syntax_highlighting/en/pygments/catala_en_lexer/lexer.py b/syntax_highlighting/en/pygments/catala_en_lexer/lexer.py index af86f69a..a0267367 100644 --- a/syntax_highlighting/en/pygments/catala_en_lexer/lexer.py +++ b/syntax_highlighting/en/pygments/catala_en_lexer/lexer.py @@ -27,13 +27,13 @@ class CustomLexer(RegexLexer): (u'(\\s*\\#.*$)', bygroups(Comment.Single)), (u'(context|input|output|internal)(\\s*)(|output)(\\s+)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\']*)', bygroups(Keyword.Declaration, String, Keyword.Declaration, String, Name.Variable)), (u'\\b(match|with\\s+pattern|fixed|by|decreasing|increasing|varies|with|we\\s+have|let|in|scope|depends\\s+on|declaration|includes|content|rule|under\\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception)\\b', bygroups(Keyword.Reserved)), - (u'\\b(contains|number|sum|such\\s+that|exists|for|all|of|if|then|else|is|empty|among|maximum|minimum|round)\\b', bygroups(Keyword.Declaration)), + (u'\\b(contains|number|sum|such\\s+that|exists|for|all|of|if|then|else|is|list\\s+empty|among|maximum|minimum|round)\\b', bygroups(Keyword.Declaration)), (u'(\\|[0-9]+\\-[0-9]+\\-[0-9]+\\|)', bygroups(Number.Integer)), (u'\\b(true|false)\\b', bygroups(Keyword.Constant)), (u'\\b([0-9]+(,[0-9]*|))\\b', bygroups(Number.Integer)), (u'(\\-\\-|\\;|\\.|\\,|\\:|\\(|\\)|\\[|\\]|\\{|\\})', bygroups(Operator)), (u'(\\-\\>|\\+\\.|\\+\\@|\\+\\^|\\+\\$|\\+|\\-\\.|\\-\\@|\\-\\^|\\-\\$|\\-|\\*\\.|\\*\\@|\\*\\^|\\*\\$|\\*|/\\.|/\\@|/\\$|/|\\!|>\\.|>=\\.|<=\\.|<\\.|>\\@|>=\\@|<=\\@|<\\@|>\\$|>=\\$|<=\\$|<\\$|>\\^|>=\\^|<=\\^|<\\^|>|>=|<=|<|=|not|or|xor|and|\\$|\u20ac|%|year|month|day)', bygroups(Operator)), - (u'\\b(structure|enumeration|collection|integer|boolean|date|duration|money|text|decimal)\\b', bygroups(Keyword.Type)), + (u'\\b(structure|enumeration|list\\s+of|integer|boolean|date|duration|money|text|decimal)\\b', bygroups(Keyword.Type)), (u'\\b([A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\']*)(\\.)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\']*)\\b', bygroups(Name.Class, Operator, Name.Variable)), (u'\\b([a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\']*)(\\.)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\'\\.]*)\\b', bygroups(Name.Variable, Operator, String)), (u'\\b([a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xca\u0152\xc70-9_\\\']*)\\b', bygroups(Name.Variable)), diff --git a/syntax_highlighting/en/vim/catala_en.vim b/syntax_highlighting/en/vim/catala_en.vim index 5650ff68..10323d91 100644 --- a/syntax_highlighting/en/vim/catala_en.vim +++ b/syntax_highlighting/en/vim/catala_en.vim @@ -22,7 +22,7 @@ syn match Include "^\s*>\s*Include:.*$" syn match sc_id_def contained "\<\([a-zéèàâùîôêœç][a-zéèàâùîôêœçA-ZÉÈÀÂÙÎÔÊŒÇ0-9_\']*\)\>" syn match cc_id contained "\<\([A-ZÉÈÀÂÙÎÔÊŒÇ][a-zéèàâùîôêœçA-ZÉÈÀÂÙÎÔÊŒÇ0-9_\']*\)\>" -syn match Keyword contained "\<\(scope\|depends\s\+on\|declaration\|includes\|collection\|content\|optional\|structure\|enumeration\|context\|rule\|under\s\+condition\|condition\|data\|consequence\|fulfilled\|equals\|assertion\|definition\|state\|label\|exception\|anything\)\>" +syn match Keyword contained "\<\(scope\|depends\s\+on\|declaration\|includes\|list\s\+of\|content\|optional\|structure\|enumeration\|context\|rule\|under\s\+condition\|condition\|data\|consequence\|fulfilled\|equals\|assertion\|definition\|state\|label\|exception\|anything\)\>" syn match Statement contained "\<\(match\|with\s\+pattern\|fixed\|by\|decreasing\|increasing\|varies\|with\|we\s\+have\|let\|in\|such\s\+that\|exists\|for\|all\|of\|if\|then\|else\|initial\)\>" syn keyword Conditional contained if then else syn match Comment contained "#.*$" diff --git a/syntax_highlighting/en/vscode/syntaxes/catalavs.xml b/syntax_highlighting/en/vscode/syntaxes/catalavs.xml index 51235df9..b6ff595e 100644 --- a/syntax_highlighting/en/vscode/syntaxes/catalavs.xml +++ b/syntax_highlighting/en/vscode/syntaxes/catalavs.xml @@ -200,7 +200,7 @@ match - \b(scope|depends\s+on|declaration|includes|collection|content|optional|structure|enumeration|context|input|output|internal|rule|under\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything)\b + \b(scope|depends\s+on|declaration|includes|list\s+of|content|optional|structure|enumeration|context|input|output|internal|rule|under\s+condition|condition|data|consequence|fulfilled|equals|assertion|definition|state|label|exception|anything)\b name keyword.other.catala_en diff --git a/syntax_highlighting/fr/ace/mode-catala_fr.js b/syntax_highlighting/fr/ace/mode-catala_fr.js index 346ceb6f..a32a29a7 100644 --- a/syntax_highlighting/fr/ace/mode-catala_fr.js +++ b/syntax_highlighting/fr/ace/mode-catala_fr.js @@ -75,7 +75,7 @@ ace.define( { token: "keyword.other", regex: - "\\b(champ\\s+d'application|si\\s+et\\s+seulement\\s+si|d\u00e9pend\\s+de|d\u00e9claration|inclus|collection|contenu|optionnel|structure|\u00e9num\u00e9ration|contexte|entr\u00e9e|r\u00e9sultat|interne|r\u00e8gle|sous\\s+condition|condition|donn\u00e9e|cons\u00e9quence|rempli|\u00e9gal\\s+\u00e0|assertion|d\u00e9finition|\u00e9tat|\u00e9tiquette|exception|n'importe\\s+quel)\\b", + "\\b(champ\\s+d'application|si\\s+et\\s+seulement\\s+si|d\u00e9pend\\s+de|d\u00e9claration|inclus|liste\\s+de|contenu|optionnel|structure|\u00e9num\u00e9ration|contexte|entr\u00e9e|r\u00e9sultat|interne|r\u00e8gle|sous\\s+condition|condition|donn\u00e9e|cons\u00e9quence|rempli|\u00e9gal\\s+\u00e0|assertion|d\u00e9finition|\u00e9tat|\u00e9tiquette|exception|n'importe\\s+quel)\\b", }, { token: "constant.numeric", diff --git a/syntax_highlighting/fr/atom/grammars/catala_fr.cson b/syntax_highlighting/fr/atom/grammars/catala_fr.cson index 5d6a572a..a01854eb 100644 --- a/syntax_highlighting/fr/atom/grammars/catala_fr.cson +++ b/syntax_highlighting/fr/atom/grammars/catala_fr.cson @@ -125,7 +125,7 @@ 'name' : 'keyword.control.catala_fr' } { - 'match' : '\\b(champ\\s+d\'application|si\\s+et\\s+seulement\\s+si|dépend\\s+de|déclaration|inclus|collection|contenu|optionnel|structure|énumération|contexte|entrée|r\\x{00e9}sultat|interne|règle|sous\\s+condition|condition|donnée|conséquence|rempli|égal\\s+à|assertion|définition|état|étiquette|exception|n\'importe\\s+quel)\\b' + 'match' : '\\b(champ\\s+d\'application|si\\s+et\\s+seulement\\s+si|dépend\\s+de|déclaration|inclus|liste\\s+de|contenu|optionnel|structure|énumération|contexte|entrée|r\\x{00e9}sultat|interne|règle|sous\\s+condition|condition|donnée|conséquence|rempli|égal\\s+à|assertion|définition|état|étiquette|exception|n\'importe\\s+quel)\\b' 'name' : 'keyword.other.catala_fr' } { diff --git a/syntax_highlighting/fr/catala_fr.iro b/syntax_highlighting/fr/catala_fr.iro index 0b43db5e..2aa92350 100644 --- a/syntax_highlighting/fr/catala_fr.iro +++ b/syntax_highlighting/fr/catala_fr.iro @@ -221,7 +221,7 @@ code : context { } : pattern { - regex \= \b(contient|nombre|somme|tel\s+que|existe|pour|tout|de|si|alors|sinon|est|vide|parmi|maximum|minimum|arrondi)\b + regex \= \b(contient|nombre|somme|tel\s+que|existe|pour|tout|de|si|alors|sinon|est|liste\s+vide|parmi|maximum|minimum|arrondi)\b styles [] = .keyword_rule ; } @@ -253,7 +253,7 @@ code : context { } : pattern { - regex \= \b(structure|énumération|collection|entier|booléen|date|durée|argent|texte|décimal|décret|loi|nombre|somme)\b + regex \= \b(structure|énumération|liste\s+de|entier|booléen|date|durée|argent|texte|décimal|décret|loi|nombre|somme)\b styles [] = .primitive; } diff --git a/syntax_highlighting/fr/pygments/catala_fr_lexer/lexer.py b/syntax_highlighting/fr/pygments/catala_fr_lexer/lexer.py index 279a0f81..31c5ca98 100644 --- a/syntax_highlighting/fr/pygments/catala_fr_lexer/lexer.py +++ b/syntax_highlighting/fr/pygments/catala_fr_lexer/lexer.py @@ -27,14 +27,14 @@ class CustomLexer(RegexLexer): (u'(\\s*\\#.*$)', bygroups(Comment.Single)), (u'(contexte|entr\xe9e|r\xe9sultat|interne)(\\s*)(|r\xe9sultat)(\\s+)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\']*)', bygroups(Keyword.Declaration, String, Keyword.Declaration, String, Name.Variable)), (u'\\b(selon|sous\\s+forme|fix\xe9|par|d\xe9croissante|croissante|varie|avec|on\\s+a|soit|dans|champ\\s+d\'application|d\xe9pend\\s+de|d\xe9claration|inclusion|contenu|r\xe8gle|sous\\s+condition|condition|donn\xe9e|cons\xe9quence|rempli|\xe9gal\\s+\xe0|assertion|d\xe9finition|\xe9tat|\xe9tiquette|exception)\\b', bygroups(Keyword.Reserved)), - (u'\\b(contient|nombre|somme|tel\\s+que|existe|pour|tout|de|si|alors|sinon|est|vide|parmi|maximum|minimum|arrondi)\\b', bygroups(Keyword.Declaration)), + (u'\\b(contient|nombre|somme|tel\\s+que|existe|pour|tout|de|si|alors|sinon|est|liste\\s+vide|parmi|maximum|minimum|arrondi)\\b', bygroups(Keyword.Declaration)), (u'(\\|[0-9]+\\-[0-9]+\\-[0-9]+\\|)', bygroups(Number.Integer)), (u'\\b(vrai|faux)\\b', bygroups(Keyword.Constant)), (u'\\b([0-9]+(,[0-9]*|))\\b', bygroups(Number.Integer)), (u'(\\-\\-|\\;|\\.|\\,|\\:|\\(|\\)|\\[|\\]|\\{|\\})', bygroups(Operator)), (u'(\\-\\>|\\+\\.|\\+\\@|\\+\\^|\\+\u20ac|\\+|\\-\\.|\\-\\@|\\-\\^|\\-\u20ac|\\-|\\*\\.|\\*\\@|\\*\\^|\\*\u20ac|\\*|/\\.|/\\@|/\u20ac|/|\\!|>\\.|>=\\.|<=\\.|<\\.|>\\@|>=\\@|<=\\@|<\\@|>\u20ac|>=\u20ac|<=\u20ac|<\u20ac|>\\^|>=\\^|<=\\^|<\\^|>|>=|<=|<|=|\u20ac|%)', bygroups(Operator)), (u'\\b(non|ou\\s+bien|ou|et|an|mois|jour)\\b', bygroups(Operator)), - (u'\\b(structure|\xe9num\xe9ration|collection|entier|bool\xe9en|date|dur\xe9e|argent|texte|d\xe9cimal|d\xe9cret|loi|nombre|somme)\\b', bygroups(Keyword.Type)), + (u'\\b(structure|\xe9num\xe9ration|liste\\s+de|entier|bool\xe9en|date|dur\xe9e|argent|texte|d\xe9cimal|d\xe9cret|loi|nombre|somme)\\b', bygroups(Keyword.Type)), (u'\\b([A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\']*)(\\.)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\']*)\\b', bygroups(Name.Class, Operator, Name.Variable)), (u'\\b([a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\']*)(\\.)([a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\'\\.]*)\\b', bygroups(Name.Variable, Operator, String)), (u'\\b([a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7][a-z\xe9\xe8\xe0\xe2\xf9\xee\xf4\xea\u0153\xe7A-Z\xc9\xc8\xc0\xc2\xd9\xce\xd4\xca\u0152\xc70-9_\\\']*)\\b', bygroups(Name.Variable)), diff --git a/syntax_highlighting/fr/vim/catala_fr.vim b/syntax_highlighting/fr/vim/catala_fr.vim index 49e0c4e8..ea74f085 100644 --- a/syntax_highlighting/fr/vim/catala_fr.vim +++ b/syntax_highlighting/fr/vim/catala_fr.vim @@ -23,7 +23,7 @@ syn match Include "^\s*>\s*Inclusion:.*$" syn match sc_id_def contained "\<\([a-zéèàâùîôêœç][a-zéèàâùîôêœçA-ZÉÈÀÂÙÎÔÊŒÇ0-9_\']*\)\>" syn match cc_id contained "\<\([A-ZÉÈÀÂÙÎÔÊŒÇ][a-zéèàâùîôêœçA-ZÉÈÀÂÙÎÔÊŒÇ0-9_\']*\)\>" -syn match Keyword contained "\<\(contexte\|entrée\|résultat\|interne\|champ\s\+d'application\|collection\|structure\|donnée\|énumération\|définition\|déclaration\|si\s\+et\s\+seulement\s\+si\|dépend\s\+de\|inclus\|contenu\|optionnel\|règle\|sous\s\+condition\|condition\|conséquence\|rempli\|égal\s\+à\|assertion\|état\|étiquette\|exception\|n'importe\s\+quel\)\>" +syn match Keyword contained "\<\(contexte\|entrée\|résultat\|interne\|champ\s\+d'application\|liste\s\+de\|structure\|donnée\|énumération\|définition\|déclaration\|si\s\+et\s\+seulement\s\+si\|dépend\s\+de\|inclus\|contenu\|optionnel\|règle\|sous\s\+condition\|condition\|conséquence\|rempli\|égal\s\+à\|assertion\|état\|étiquette\|exception\|n'importe\s\+quel\)\>" syn match Statement contained "\<\(selon\|sous\s\+forme\|fixé\|par\|décroissante\|croissante\|varie\|avec\|on\s\+a\|soit\|dans\|tel\s\+que\|existe\|pour\|tout\|de\|initial\)\>" syn keyword Conditional contained si alors sinon syn match Comment contained "#.*$" diff --git a/syntax_highlighting/fr/vscode/syntaxes/catalavs.xml b/syntax_highlighting/fr/vscode/syntaxes/catalavs.xml index 9385d9a2..55f58738 100644 --- a/syntax_highlighting/fr/vscode/syntaxes/catalavs.xml +++ b/syntax_highlighting/fr/vscode/syntaxes/catalavs.xml @@ -200,7 +200,7 @@ match - \b(champ\s+d'application|si\s+et\s+seulement\s+si|dépend\s+de|déclaration|inclus|collection|contenu|optionnel|structure|énumération|contexte|entrée|résultat|interne|règle|sous\s+condition|condition|donnée|conséquence|rempli|égal\s+à|assertion|définition|état|étiquette|exception|n'importe\s+quel)\b + \b(champ\s+d'application|si\s+et\s+seulement\s+si|dépend\s+de|déclaration|inclus|liste\s+de|contenu|optionnel|structure|énumération|contexte|entrée|résultat|interne|règle|sous\s+condition|condition|donnée|conséquence|rempli|égal\s+à|assertion|définition|état|étiquette|exception|n'importe\s+quel)\b name keyword.other.catala_fr diff --git a/syntax_highlighting/gnu_gedit/catala.lang b/syntax_highlighting/gnu_gedit/catala.lang index 8150108f..716ef4ea 100644 --- a/syntax_highlighting/gnu_gedit/catala.lang +++ b/syntax_highlighting/gnu_gedit/catala.lang @@ -67,7 +67,7 @@ 上下文 - collection + list\s+of contains diff --git a/tests/test_array/bad/fold_error.catala_en b/tests/test_array/bad/fold_error.catala_en index c20c2aaf..c4169ada 100644 --- a/tests/test_array/bad/fold_error.catala_en +++ b/tests/test_array/bad/fold_error.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - context list content collection integer + context list content list of integer context list_high_count content integer scope A: @@ -23,10 +23,10 @@ money └─ Article Type integer coming from expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:5.35-5.42: +┌─⯈ tests/test_array/bad/fold_error.catala_en:5.32-5.39: └─┐ -5 │ context list content collection integer - │ ‾‾‾‾‾‾‾ +5 │ context list content list of integer + │ ‾‾‾‾‾‾‾ └─ Article Type money coming from expression: diff --git a/tests/test_array/good/aggregation.catala_en b/tests/test_array/good/aggregation.catala_en index 755edf47..b2471c77 100644 --- a/tests/test_array/good/aggregation.catala_en +++ b/tests/test_array/good/aggregation.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - output x content collection money + output x content list of money scope A: definition x equals [$0; $4 + $5; $8 * 0.65] @@ -16,9 +16,9 @@ declaration scope B: scope B: definition max equals maximum of (m * 2.0) for m among a.x - or if collection empty then $0 + or if list empty then $0 definition min equals minimum of (m + $5) for m among a.x - or if collection empty then $20 + or if list empty then $20 definition y equals sum money of (m + $1) for m among a.x definition z equals number of m among a.x such that m >= $8.95 ``` diff --git a/tests/test_array/good/aggregation_2.catala_en b/tests/test_array/good/aggregation_2.catala_en index fdc046cf..675917fe 100644 --- a/tests/test_array/good/aggregation_2.catala_en +++ b/tests/test_array/good/aggregation_2.catala_en @@ -6,7 +6,7 @@ declaration structure S: data income content money declaration scope A: - context output x content collection S + context output x content list of S scope A: definition x equals [ @@ -23,10 +23,10 @@ declaration scope B: scope B: definition argmax equals (m among a.x such that m.income * 2.0 is maximum - or if collection empty then S { -- id: -1 --income: $0 }) + or if list empty then S { -- id: -1 --income: $0 }) definition argmin equals (m among a.x such that m.income + $5 is minimum - or if collection empty then S { -- id: -1 --income: $20 }) + or if list empty then S { -- id: -1 --income: $20 }) ``` diff --git a/tests/test_array/good/aggregation_3.catala_en b/tests/test_array/good/aggregation_3.catala_en index f07f6b13..5ead6901 100644 --- a/tests/test_array/good/aggregation_3.catala_en +++ b/tests/test_array/good/aggregation_3.catala_en @@ -21,13 +21,13 @@ scope S: assertion (number of i among [1; 2; 3] such that i >= 2) = 2 # Extremum - assertion maximum of [1; 2; 3] or if collection empty then 10 = 3 - assertion maximum of (decimal of i) for i among [1; 2; 3] or if collection empty then 10. = 3. + assertion maximum of [1; 2; 3] or if list empty then 10 = 3 + assertion maximum of (decimal of i) for i among [1; 2; 3] or if list empty then 10. = 3. # Arg extremum assertion (i among [1; 2; 3] such that decimal of ((2 - i) * (2 - i)) is minimum - or if collection empty then 42) + or if list empty then 42) = 2 ``` diff --git a/tests/test_array/good/concatenation.catala_en b/tests/test_array/good/concatenation.catala_en index 1a246767..165ffe8b 100644 --- a/tests/test_array/good/concatenation.catala_en +++ b/tests/test_array/good/concatenation.catala_en @@ -1,9 +1,9 @@ -## Unit testing for collection concatenation. +## Unit testing for list of concatenation. ```catala declaration scope A: - output x content collection integer - output y content collection integer + output x content list of integer + output y content list of integer scope A: definition x equals [0; 1; 2] ++ [3; 4; 5; 6] diff --git a/tests/test_array/good/filter.catala_en b/tests/test_array/good/filter.catala_en index a5c36c72..d648f26d 100644 --- a/tests/test_array/good/filter.catala_en +++ b/tests/test_array/good/filter.catala_en @@ -2,14 +2,14 @@ ```catala declaration scope A: - output x content collection money + output x content list of money scope A: definition x equals [$0; $4 + $5; $8 * 0.65] declaration scope B: a scope A - output y content collection money + output y content list of money scope B: definition y equals m among a.x such that m >= $4.95 diff --git a/tests/test_array/good/filter_map.catala_en b/tests/test_array/good/filter_map.catala_en index e5190add..1e91ceec 100644 --- a/tests/test_array/good/filter_map.catala_en +++ b/tests/test_array/good/filter_map.catala_en @@ -2,15 +2,15 @@ ```catala declaration scope A: - output x content collection money + output x content list of money scope A: definition x equals [$0; $4 + $5; $8 * 0.65] declaration scope B: a scope A - output y content collection money - output z content collection boolean + output y content list of money + output z content list of boolean scope B: definition y equals m among a.x such that m >= $4.95 diff --git a/tests/test_array/good/fold.catala_en b/tests/test_array/good/fold.catala_en index fdc046cf..675917fe 100644 --- a/tests/test_array/good/fold.catala_en +++ b/tests/test_array/good/fold.catala_en @@ -6,7 +6,7 @@ declaration structure S: data income content money declaration scope A: - context output x content collection S + context output x content list of S scope A: definition x equals [ @@ -23,10 +23,10 @@ declaration scope B: scope B: definition argmax equals (m among a.x such that m.income * 2.0 is maximum - or if collection empty then S { -- id: -1 --income: $0 }) + or if list empty then S { -- id: -1 --income: $0 }) definition argmin equals (m among a.x such that m.income + $5 is minimum - or if collection empty then S { -- id: -1 --income: $20 }) + or if list empty then S { -- id: -1 --income: $20 }) ``` diff --git a/tests/test_array/good/map.catala_en b/tests/test_array/good/map.catala_en index b7683ce4..d36df95f 100644 --- a/tests/test_array/good/map.catala_en +++ b/tests/test_array/good/map.catala_en @@ -2,8 +2,8 @@ ```catala declaration scope B: - output x content collection money - output z content collection boolean + output x content list of money + output z content list of boolean scope B: definition x equals [$4; $8 ] diff --git a/tests/test_array/good/simple.catala_en b/tests/test_array/good/simple.catala_en index 09c7a6f8..9fe96131 100644 --- a/tests/test_array/good/simple.catala_en +++ b/tests/test_array/good/simple.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - output x content collection integer + output x content list of integer scope A: definition x equals [0; 4+5; 8*8] diff --git a/tests/test_array/good/simpler.catala_en b/tests/test_array/good/simpler.catala_en index 9999694e..88aacdc1 100644 --- a/tests/test_array/good/simpler.catala_en +++ b/tests/test_array/good/simpler.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - output x content collection integer + output x content list of integer output w content boolean scope A: diff --git a/tests/test_array/good/simplest.catala_en b/tests/test_array/good/simplest.catala_en index 5b469618..7e4e1256 100644 --- a/tests/test_array/good/simplest.catala_en +++ b/tests/test_array/good/simplest.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - output x content collection integer + output x content list of integer scope A: definition x equals [0; 4; 8] diff --git a/tests/test_func/good/closure_conversion_reduce.catala_en b/tests/test_func/good/closure_conversion_reduce.catala_en index 3f7a7ec1..c7337e61 100644 --- a/tests/test_func/good/closure_conversion_reduce.catala_en +++ b/tests/test_func/good/closure_conversion_reduce.catala_en @@ -3,12 +3,12 @@ ```catala declaration scope S: - input x content collection integer + input x content list of integer output y content integer scope S: definition y equals - potential_max among x such that potential_max is minimum or if collection empty then -1 + potential_max among x such that potential_max is minimum or if list empty then -1 ``` @@ -38,8 +38,8 @@ Invariant Dcalc__Invariants.invariant_default_no_arrow ```catala-test-inline $ catala Lcalc -s S --avoid-exceptions -O --closure-conversion -let scope S (S_in: S_in {x_in: collection integer}): S {y: integer} = - let get x : collection integer = S_in.x_in in +let scope S (S_in: S_in {x_in: list of integer}): S {y: integer} = + let get x : list of integer = S_in.x_in in let set y : integer = match (handle_default_opt @@ -72,8 +72,8 @@ with optimizations on passes. ```catala-test-inline $ catala Lcalc -s S --closure-conversion -let scope S (S_in: S_in {x_in: collection integer}): S {y: integer} = - let get x : collection integer = S_in.x_in in +let scope S (S_in: S_in {x_in: list of integer}): S {y: integer} = + let get x : list of integer = S_in.x_in in let set y : integer = match (handle_default_opt diff --git a/tests/test_modules/good/external_use.catala_en b/tests/test_modules/good/external_use.catala_en index c741d8e5..89aa88fc 100644 --- a/tests/test_modules/good/external_use.catala_en +++ b/tests/test_modules/good/external_use.catala_en @@ -3,9 +3,9 @@ ```catala declaration scope S: - internal weights content collection money - output result1 content collection money - output result2 content collection money + internal weights content list of money + output result1 content list of money + output result2 content list of money scope S: definition weights equals [$4;$1;$1;$4;$1;$1] diff --git a/tests/test_modules/good/prorata_external.catala_en b/tests/test_modules/good/prorata_external.catala_en index e693b971..789c2f14 100644 --- a/tests/test_modules/good/prorata_external.catala_en +++ b/tests/test_modules/good/prorata_external.catala_en @@ -4,12 +4,12 @@ Define a prototype for an external function in an ml file ```catala-metadata # Trivial algorithm that cumulates all rounding errors to the last element -declaration prorata content collection money +declaration prorata content list of money depends on amount content money, - weights content collection money + weights content list of money # Another algorithm that distributes errors along the way -declaration prorata2 content collection money +declaration prorata2 content list of money depends on amount content money, - weights content collection money + weights content list of money ``` diff --git a/tests/test_proof/bad/array_length-empty.catala_en b/tests/test_proof/bad/array_length-empty.catala_en index 847255c3..e3150b61 100644 --- a/tests/test_proof/bad/array_length-empty.catala_en +++ b/tests/test_proof/bad/array_length-empty.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - internal x content collection integer + internal x content list of integer output y content boolean scope A: diff --git a/tests/test_proof/bad/array_length-overlap.catala_en b/tests/test_proof/bad/array_length-overlap.catala_en index 0de1cc2b..79167e0b 100644 --- a/tests/test_proof/bad/array_length-overlap.catala_en +++ b/tests/test_proof/bad/array_length-overlap.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - internal x content collection integer + internal x content list of integer output y content boolean scope A: diff --git a/tests/test_proof/good/array_length.catala_en b/tests/test_proof/good/array_length.catala_en index e92380c8..236126b7 100644 --- a/tests/test_proof/good/array_length.catala_en +++ b/tests/test_proof/good/array_length.catala_en @@ -2,7 +2,7 @@ ```catala declaration scope A: - internal x content collection integer + internal x content list of integer output y content boolean scope A: diff --git a/tests/test_typing/bad/common.catala_en b/tests/test_typing/bad/common.catala_en index b170167d..5d5bdf7b 100644 --- a/tests/test_typing/bad/common.catala_en +++ b/tests/test_typing/bad/common.catala_en @@ -11,6 +11,6 @@ declaration structure Structure: declaration scope S: input x content integer input output y content Enum - output z content collection Structure + output z content list of Structure output a content decimal ``` \ No newline at end of file diff --git a/tests/test_typing/bad/err2.catala_en b/tests/test_typing/bad/err2.catala_en index b2b76c2a..7501c02c 100644 --- a/tests/test_typing/bad/err2.catala_en +++ b/tests/test_typing/bad/err2.catala_en @@ -15,7 +15,7 @@ $ catala Typecheck [ERROR] Error during typechecking, incompatible types: ┌─⯈ decimal -└─⯈ collection +└─⯈ list This expression has type decimal: ┌─⯈ tests/test_typing/bad/err2.catala_en:10.39-10.42: @@ -23,7 +23,7 @@ This expression has type decimal: 10 │ definition a equals number of (z ++ 1.1) / 2 │ ‾‾‾ -Expected type collection coming from expression: +Expected type list coming from expression: ┌─⯈ tests/test_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/err4.catala_en b/tests/test_typing/bad/err4.catala_en index 18444698..d8ed4b4b 100644 --- a/tests/test_typing/bad/err4.catala_en +++ b/tests/test_typing/bad/err4.catala_en @@ -40,9 +40,9 @@ This expression has type Enum: │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ Expected type Structure coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:14.31-14.40: +┌─⯈ tests/test_typing/bad/common.catala_en:14.28-14.37: └──┐ -14 │ output z content collection Structure - │ ‾‾‾‾‾‾‾‾‾ +14 │ output z content list of Structure + │ ‾‾‾‾‾‾‾‾‾ #return code 123# ``` diff --git a/tests/test_typing/good/common.catala_en b/tests/test_typing/good/common.catala_en index b229d0e9..94d90f67 100644 --- a/tests/test_typing/good/common.catala_en +++ b/tests/test_typing/good/common.catala_en @@ -11,7 +11,7 @@ declaration structure Structure: declaration scope S: input x content integer input output y content Enum - output z content collection Structure + output z content list of Structure output a content decimal ``` @@ -23,7 +23,7 @@ $ catala Typecheck --check-invariants ┌─⯈ tests/test_typing/good/common.catala_en:14.10-14.11: └──┐ -14 │ output z content collection Structure +14 │ output z content list of Structure │ ‾ [WARNING] In scope "S", the variable "a" is declared but never defined; did you forget something?