Field -> Scope

This commit is contained in:
Denis Merigoux 2020-05-14 21:19:46 +02:00
parent 686669b756
commit f3aabf5287
6 changed files with 233 additions and 233 deletions

View File

@ -34,8 +34,8 @@ format:
build:
$(MAKE) -C src/catala/parsing parser_errors.ml
dune build
$(MAKE) format
dune build
install: build
dune build @install

View File

@ -14,7 +14,7 @@
(* Constructor and identifiers *)
module ApplicationFieldParam = Id.WithId (struct
module ScopeParam = Id.WithId (struct
type t = string
let to_string x = x
@ -32,7 +32,7 @@ module EnumCase = Id.WithId (struct
let to_string x = x
end)
module Field = Id.WithId (struct
module Scope = Id.WithId (struct
type t = string
let to_string x = x
@ -51,8 +51,8 @@ module Enum = Id.WithId (struct
end)
type qident = {
qident_field : Field.t option;
qident_base : ApplicationFieldParam.t;
qident_scope : Scope.t option;
qident_base : ScopeParam.t;
qident_path : StructField.t list;
}
@ -60,9 +60,9 @@ module Var = Id.WithId (struct
type t = qident
let to_string (qid : qident) =
let field = match qid.qident_field with Some x -> Field.raw x | None -> "" in
let base = ApplicationFieldParam.raw qid.qident_base in
String.concat "." ([ field; base ] @ List.map StructField.raw qid.qident_path)
let scope = match qid.qident_scope with Some x -> Scope.raw x | None -> "" in
let base = ScopeParam.raw qid.qident_base in
String.concat "." ([ scope; base ] @ List.map StructField.raw qid.qident_path)
end)
module VarMap = Map.Make (Var)
@ -153,22 +153,22 @@ type enum_decl_case = {
type enum_decl = { enum_decl_cases : enum_decl_case Pos.marked list }
(* Fields *)
(* Scopes *)
type field_context_item = {
field_context_item_name : ApplicationFieldParam.t Pos.marked;
field_context_item_typ : typ Pos.marked;
type scope_context_item = {
scope_context_item_name : ScopeParam.t Pos.marked;
scope_context_item_typ : typ Pos.marked;
}
type field_include_join = {
parent_field_name : Field.t Pos.marked;
parent_field_context_item : ApplicationFieldParam.t Pos.marked;
sub_field_context_item : ApplicationFieldParam.t Pos.marked;
type scope_include_join = {
parent_scope_name : Scope.t Pos.marked;
parent_scope_context_item : ScopeParam.t Pos.marked;
sub_scope_context_item : ScopeParam.t Pos.marked;
}
type field_include = {
field_include_sub_field : Field.t Pos.marked;
field_include_joins : field_include_join Pos.marked list;
type scope_include = {
scope_include_sub_scope : Scope.t Pos.marked;
scope_include_joins : scope_include_join Pos.marked list;
}
type rule = {
@ -196,22 +196,22 @@ type meta_assertion =
| FixedBy of reference_typ Pos.marked
| VariesWith of expression Pos.marked * variation_typ Pos.marked option
type field = {
field_var_map : qident VarMap.t;
field_context : field_context_item Pos.marked list;
field_includes : field_include Pos.marked list;
field_rules : rule list VarMap.t;
field_defs : definition list VarMap.t;
field_assertions : assertion list;
field_meta_assertions : meta_assertion list VarMap.t;
type scope = {
scope_var_map : qident VarMap.t;
scope_context : scope_context_item Pos.marked list;
scope_includes : scope_include Pos.marked list;
scope_rules : rule list VarMap.t;
scope_defs : definition list VarMap.t;
scope_assertions : assertion list;
scope_meta_assertions : meta_assertion list VarMap.t;
}
module EnumMap = Map.Make (Enum)
module FieldMap = Map.Make (Field)
module ScopeMap = Map.Make (Scope)
module StructMap = Map.Make (Struct)
type prgm = {
enums : enum_decl EnumMap.t;
fields : field FieldMap.t;
scopes : scope ScopeMap.t;
structs : struct_decl StructMap.t;
}

View File

@ -51,27 +51,27 @@ type enum_decl = {
enum_decl_cases : enum_decl_case Pos.marked list;
}
type field_decl_context_item = {
field_decl_context_item_name : ident Pos.marked;
field_decl_context_item_typ : typ Pos.marked;
type scope_decl_context_item = {
scope_decl_context_item_name : ident Pos.marked;
scope_decl_context_item_typ : typ Pos.marked;
}
type field_decl_include_join = {
parent_field_name : constructor Pos.marked;
parent_field_context_item : ident Pos.marked;
sub_field_name : constructor Pos.marked;
sub_field_context_item : ident Pos.marked;
type scope_decl_include_join = {
parent_scope_name : constructor Pos.marked;
parent_scope_context_item : ident Pos.marked;
sub_scope_name : constructor Pos.marked;
sub_scope_context_item : ident Pos.marked;
}
type field_decl_include = {
field_decl_include_sub_field : constructor Pos.marked;
field_decl_include_joins : field_decl_include_join Pos.marked list;
type scope_decl_include = {
scope_decl_include_sub_scope : constructor Pos.marked;
scope_decl_include_joins : scope_decl_include_join Pos.marked list;
}
type field_decl = {
field_decl_name : constructor Pos.marked;
field_decl_context : field_decl_context_item Pos.marked list;
field_decl_includes : field_decl_include Pos.marked list;
type scope_decl = {
scope_decl_name : constructor Pos.marked;
scope_decl_context : scope_decl_context_item Pos.marked list;
scope_decl_includes : scope_decl_include Pos.marked list;
}
type match_case_pattern = constructor Pos.marked list * ident Pos.marked option
@ -151,20 +151,20 @@ type assertion = {
assertion_content : expression Pos.marked;
}
type field_use_item =
type scope_use_item =
| Rule of rule
| Definition of definition
| Assertion of assertion
| MetaAssertion of meta_assertion
type field_use = {
field_use_name : constructor Pos.marked;
field_use_items : field_use_item Pos.marked list;
type scope_use = {
scope_use_name : constructor Pos.marked;
scope_use_items : scope_use_item Pos.marked list;
}
type code_item =
| FieldUse of field_use
| FieldDecl of field_decl
| ScopeUse of scope_use
| ScopeDecl of scope_decl
| StructDecl of struct_decl
| EnumDecl of enum_decl

View File

@ -91,13 +91,13 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN DEPENDS BOOLEAN DEPENDS
##
## Ends in an error in state: 252.
## Ends in an error in state: 232.
##
## nonempty_list(field_decl_item) -> field_decl_item . [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(field_decl_item) -> field_decl_item . nonempty_list(field_decl_item) [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(scope_decl_item) -> scope_decl_item . [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(scope_decl_item) -> scope_decl_item . nonempty_list(scope_decl_item) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## field_decl_item
## scope_decl_item
##
Unexpected token
@ -105,13 +105,13 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT IDENT EQUAL CONSTRUCTOR DOT IDENT YEAR
##
## Ends in an error in state: 238.
## Ends in an error in state: 239.
##
## nonempty_list(field_decl_include) -> field_decl_include . [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(field_decl_include) -> field_decl_include . nonempty_list(field_decl_include) [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(scope_decl_include) -> scope_decl_include . [ INCLUDES FIELD END_CODE DECLARATION ]
## nonempty_list(scope_decl_include) -> scope_decl_include . nonempty_list(scope_decl_include) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## field_decl_include
## scope_decl_include
##
Unexpected token
@ -119,9 +119,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT IDENT EQUAL CONSTRUCTOR DOT YEAR
##
## Ends in an error in state: 245.
## Ends in an error in state: 246.
##
## field_decl_include -> constructor DOT ident EQUAL constructor DOT . ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor DOT ident EQUAL constructor DOT . ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor DOT ident EQUAL constructor DOT
@ -132,9 +132,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT IDENT EQUAL CONSTRUCTOR YEAR
##
## Ends in an error in state: 244.
## Ends in an error in state: 245.
##
## field_decl_include -> constructor DOT ident EQUAL constructor . DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor DOT ident EQUAL constructor . DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor DOT ident EQUAL constructor
@ -145,9 +145,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT IDENT EQUAL YEAR
##
## Ends in an error in state: 243.
## Ends in an error in state: 244.
##
## field_decl_include -> constructor DOT ident EQUAL . constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor DOT ident EQUAL . constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor DOT ident EQUAL
@ -158,9 +158,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT IDENT YEAR
##
## Ends in an error in state: 242.
## Ends in an error in state: 243.
##
## field_decl_include -> constructor DOT ident . EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor DOT ident . EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor DOT ident
@ -171,9 +171,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR DOT YEAR
##
## Ends in an error in state: 241.
## Ends in an error in state: 242.
##
## field_decl_include -> constructor DOT . ident EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor DOT . ident EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor DOT
@ -184,9 +184,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT CONSTRUCTOR YEAR
##
## Ends in an error in state: 240.
## Ends in an error in state: 241.
##
## field_decl_include -> constructor . DOT ident EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
## scope_decl_include -> constructor . DOT ident EQUAL constructor DOT ident [ INCLUDES FIELD END_CODE DECLARATION CONSTRUCTOR ]
##
## The known suffix of the stack is as follows:
## constructor
@ -197,9 +197,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR CONTEXT YEAR
##
## Ends in an error in state: 236.
## Ends in an error in state: 238.
##
## field_decl_includes_context -> CONTEXT . nonempty_list(field_decl_include) [ INCLUDES FIELD END_CODE DECLARATION ]
## scope_decl_includes_context -> CONTEXT . nonempty_list(scope_decl_include) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## CONTEXT
@ -210,9 +210,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD CONSTRUCTOR YEAR
##
## Ends in an error in state: 235.
## Ends in an error in state: 237.
##
## field_decl_includes -> INCLUDES FIELD constructor . option(field_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
## scope_decl_includes -> INCLUDES FIELD constructor . option(scope_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## INCLUDES FIELD constructor
@ -223,9 +223,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES FIELD YEAR
##
## Ends in an error in state: 234.
## Ends in an error in state: 236.
##
## field_decl_includes -> INCLUDES FIELD . constructor option(field_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
## scope_decl_includes -> INCLUDES FIELD . constructor option(scope_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## INCLUDES FIELD
@ -236,9 +236,9 @@ To get a better error messsage, file an issue at https://github.com/CatalaLang/c
source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT IDENT CONTENT BOOLEAN INCLUDES YEAR
##
## Ends in an error in state: 233.
## Ends in an error in state: 235.
##
## field_decl_includes -> INCLUDES . FIELD constructor option(field_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
## scope_decl_includes -> INCLUDES . FIELD constructor option(scope_decl_includes_context) [ INCLUDES FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## INCLUDES
@ -251,7 +251,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT ID
##
## Ends in an error in state: 230.
##
## field_decl_item -> CONTEXT ident CONTENT typ . option(struct_field_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
## scope_decl_item -> CONTEXT ident CONTENT typ . option(struct_scope_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
##
## The known suffix of the stack is as follows:
## CONTEXT ident CONTENT typ
@ -264,7 +264,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT ID
##
## Ends in an error in state: 229.
##
## field_decl_item -> CONTEXT ident CONTENT . typ option(struct_field_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
## scope_decl_item -> CONTEXT ident CONTENT . typ option(struct_scope_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
##
## The known suffix of the stack is as follows:
## CONTEXT ident CONTENT
@ -277,7 +277,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT ID
##
## Ends in an error in state: 228.
##
## field_decl_item -> CONTEXT ident . CONTENT typ option(struct_field_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
## scope_decl_item -> CONTEXT ident . CONTENT typ option(struct_scope_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
##
## The known suffix of the stack is as follows:
## CONTEXT ident
@ -290,7 +290,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON CONTEXT YE
##
## Ends in an error in state: 227.
##
## field_decl_item -> CONTEXT . ident CONTENT typ option(struct_field_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
## scope_decl_item -> CONTEXT . ident CONTENT typ option(struct_scope_func) [ INCLUDES FIELD END_CODE DECLARATION CONTEXT ]
##
## The known suffix of the stack is as follows:
## CONTEXT
@ -303,7 +303,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR COLON YEAR
##
## Ends in an error in state: 226.
##
## code_item -> DECLARATION FIELD constructor COLON . nonempty_list(field_decl_item) list(field_decl_includes) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION FIELD constructor COLON . nonempty_list(scope_decl_item) list(scope_decl_includes) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION FIELD constructor COLON
@ -316,7 +316,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD CONSTRUCTOR YEAR
##
## Ends in an error in state: 225.
##
## code_item -> DECLARATION FIELD constructor . COLON nonempty_list(field_decl_item) list(field_decl_includes) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION FIELD constructor . COLON nonempty_list(scope_decl_item) list(scope_decl_includes) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION FIELD constructor
@ -329,7 +329,7 @@ source_file_or_master: BEGIN_CODE DECLARATION FIELD YEAR
##
## Ends in an error in state: 224.
##
## code_item -> DECLARATION FIELD . constructor COLON nonempty_list(field_decl_item) list(field_decl_includes) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION FIELD . constructor COLON nonempty_list(scope_decl_item) list(scope_decl_includes) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION FIELD
@ -342,10 +342,10 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON CONDITION
##
## Ends in an error in state: 219.
##
## list(struct_field) -> struct_field . list(struct_field) [ FIELD END_CODE DECLARATION ]
## list(struct_scope) -> struct_scope . list(struct_scope) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## struct_field
## struct_scope
##
Unexpected token
@ -368,7 +368,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON CONDITION
##
## Ends in an error in state: 215.
##
## struct_field_func -> DEPENDS . typ [ INCLUDES FIELD END_CODE DECLARATION DATA CONTEXT CONDITION ]
## struct_scope_func -> DEPENDS . typ [ INCLUDES FIELD END_CODE DECLARATION DATA CONTEXT CONDITION ]
##
## The known suffix of the stack is as follows:
## DEPENDS
@ -381,19 +381,19 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON CONDITION
##
## Ends in an error in state: 214.
##
## struct_field -> struct_field_base . option(struct_field_func) [ FIELD END_CODE DECLARATION DATA CONDITION ]
## struct_scope -> struct_scope_base . option(struct_scope_func) [ FIELD END_CODE DECLARATION DATA CONDITION ]
##
## The known suffix of the stack is as follows:
## struct_field_base
## struct_scope_base
##
Unexpected token, struct field declaration is over at this point
Unexpected token, struct scope declaration is over at this point
source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON CONDITION YEAR
##
## Ends in an error in state: 221.
##
## struct_field_base -> condition_pos . ident [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
## struct_scope_base -> condition_pos . ident [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
##
## The known suffix of the stack is as follows:
## condition_pos
@ -406,7 +406,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON DATA IDEN
##
## Ends in an error in state: 197.
##
## struct_field_base -> DATA ident CONTENT . typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
## struct_scope_base -> DATA ident CONTENT . typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
##
## The known suffix of the stack is as follows:
## DATA ident CONTENT
@ -419,7 +419,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON DATA IDEN
##
## Ends in an error in state: 196.
##
## struct_field_base -> DATA ident . CONTENT typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
## struct_scope_base -> DATA ident . CONTENT typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
##
## The known suffix of the stack is as follows:
## DATA ident
@ -432,7 +432,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON DATA YEAR
##
## Ends in an error in state: 195.
##
## struct_field_base -> DATA . ident CONTENT typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
## struct_scope_base -> DATA . ident CONTENT typ [ FIELD END_CODE DEPENDS DECLARATION DATA CONDITION ]
##
## The known suffix of the stack is as follows:
## DATA
@ -445,7 +445,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR COLON YEAR
##
## Ends in an error in state: 194.
##
## code_item -> DECLARATION STRUCT constructor COLON . list(struct_field) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION STRUCT constructor COLON . list(struct_scope) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION STRUCT constructor COLON
@ -458,7 +458,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT CONSTRUCTOR YEAR
##
## Ends in an error in state: 193.
##
## code_item -> DECLARATION STRUCT constructor . COLON list(struct_field) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION STRUCT constructor . COLON list(struct_scope) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION STRUCT constructor
@ -471,7 +471,7 @@ source_file_or_master: BEGIN_CODE DECLARATION STRUCT YEAR
##
## Ends in an error in state: 192.
##
## code_item -> DECLARATION STRUCT . constructor COLON list(struct_field) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION STRUCT . constructor COLON list(struct_scope) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## DECLARATION STRUCT
@ -484,8 +484,8 @@ source_file_or_master: BEGIN_CODE DECLARATION YEAR
##
## Ends in an error in state: 191.
##
## code_item -> DECLARATION . STRUCT constructor COLON list(struct_field) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION . FIELD constructor COLON nonempty_list(field_decl_item) list(field_decl_includes) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION . STRUCT constructor COLON list(struct_scope) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION . FIELD constructor COLON nonempty_list(scope_decl_item) list(scope_decl_includes) [ FIELD END_CODE DECLARATION ]
## code_item -> DECLARATION . ENUM constructor COLON nonempty_list(enum_decl_line) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
@ -499,29 +499,29 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION CARDINAL THE
##
## Ends in an error in state: 189.
##
## nonempty_list(application_field_item) -> application_field_item . [ FIELD END_CODE DECLARATION ]
## nonempty_list(application_field_item) -> application_field_item . nonempty_list(application_field_item) [ FIELD END_CODE DECLARATION ]
## nonempty_list(application_scope_item) -> application_scope_item . [ FIELD END_CODE DECLARATION ]
## nonempty_list(application_scope_item) -> application_scope_item . nonempty_list(application_scope_item) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## application_field_item
## application_scope_item
##
## WARNING: This example involves spurious reductions.
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 42, spurious reduction of production primitive_expression -> CARDINAL
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 185, spurious reduction of production assertion_base -> expression
## In state 186, spurious reduction of production assertion -> option(condition_consequence) assertion_base
## In state 187, spurious reduction of production application_field_item -> ASSERTION assertion
## In state 42, spurious reduction of production primitive_expression -> CARDINAL
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 185, spurious reduction of production assertion_base -> expression
## In state 186, spurious reduction of production assertion -> option(condition_consequence) assertion_base
## In state 187, spurious reduction of production application_scope_item -> ASSERTION assertion
##
Unexpected token after an application field item
Unexpected token after a scope item
source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION CARDINAL YEAR
##
@ -682,8 +682,8 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION FIXED IDENT
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
##
Unexpected token
@ -792,12 +792,12 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION IF NOW RULE
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
##
Unexpected token
@ -829,12 +829,12 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION IF NOW THEN
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
##
Unexpected token
@ -891,12 +891,12 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION LPAREN NOW T
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
##
Unmatched parenthesis that should have ended before this
@ -927,12 +927,12 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION MATCH NOW WI
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 106, spurious reduction of production logical_expression -> logical_unop compare_expression
## In state 142, spurious reduction of production match_arm -> constructor_binding COLON logical_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 106, spurious reduction of production logical_expression -> logical_unop compare_expression
## In state 142, spurious reduction of production match_arm -> constructor_binding COLON logical_expression
##
Unexpected token
@ -1134,7 +1134,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION NOW INCREASI
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
##
Unexpected token
@ -1334,14 +1334,14 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION UNDER_CONDIT
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 42, spurious reduction of production primitive_expression -> CARDINAL
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 150, spurious reduction of production condition -> UNDER_CONDITION expression
## In state 42, spurious reduction of production primitive_expression -> CARDINAL
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 91, spurious reduction of production mult_expression -> base_expression
## In state 86, spurious reduction of production sum_expression -> mult_expression
## In state 96, spurious reduction of production compare_expression -> sum_expression
## In state 123, spurious reduction of production logical_expression -> compare_expression
## In state 107, spurious reduction of production expression -> logical_expression
## In state 150, spurious reduction of production condition -> UNDER_CONDITION expression
##
Unexpected token after a condition
@ -1372,8 +1372,8 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION VARIES IDENT
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
##
Unexpected token
@ -1392,7 +1392,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION VARIES IDENT
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 50, spurious reduction of production base_expression -> primitive_expression
## In state 50, spurious reduction of production base_expression -> primitive_expression
##
Unexpected token
@ -1503,7 +1503,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON ASSERTION YEAR
##
## Ends in an error in state: 171.
##
## application_field_item -> ASSERTION . assertion [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
## application_scope_item -> ASSERTION . assertion [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
##
## The known suffix of the stack is as follows:
## ASSERTION
@ -1563,8 +1563,8 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON DEFINITION IDENT WITH_
## This implies that, although the LR(1) items shown above provide an
## accurate view of the past (what has been recognized so far), they
## may provide an INCOMPLETE view of the future (what was expected next).
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
##
Only the identifier you wish to define should follow the definition introducing token
@ -1573,7 +1573,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON DEFINITION YEAR
##
## Ends in an error in state: 164.
##
## application_field_item -> DEFINITION . definition [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
## application_scope_item -> DEFINITION . definition [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
##
## The known suffix of the stack is as follows:
## DEFINITION
@ -1686,8 +1686,8 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON RULE IDENT 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 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
## In state 57, spurious reduction of production separated_nonempty_list(DOT,ident) -> ident
## In state 56, spurious reduction of production qident -> option(qident_prefix) separated_nonempty_list(DOT,ident)
##
Unexpected token
@ -1710,7 +1710,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON RULE YEAR
##
## Ends in an error in state: 18.
##
## application_field_item -> RULE . rule [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
## application_scope_item -> RULE . rule [ RULE FIELD END_CODE DEFINITION DECLARATION ASSERTION ]
##
## The known suffix of the stack is as follows:
## RULE
@ -1723,7 +1723,7 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR COLON YEAR
##
## Ends in an error in state: 17.
##
## code_item -> FIELD constructor COLON . nonempty_list(application_field_item) [ FIELD END_CODE DECLARATION ]
## code_item -> FIELD constructor COLON . nonempty_list(application_scope_item) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## FIELD constructor COLON
@ -1735,25 +1735,25 @@ source_file_or_master: BEGIN_CODE FIELD CONSTRUCTOR YEAR
##
## Ends in an error in state: 16.
##
## code_item -> FIELD constructor . COLON nonempty_list(application_field_item) [ FIELD END_CODE DECLARATION ]
## code_item -> FIELD constructor . COLON nonempty_list(application_scope_item) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## FIELD constructor
##
Expected a colon after application field constructor
Expected a colon after scope constructor
source_file_or_master: BEGIN_CODE FIELD YEAR
##
## Ends in an error in state: 14.
##
## code_item -> FIELD . constructor COLON nonempty_list(application_field_item) [ FIELD END_CODE DECLARATION ]
## code_item -> FIELD . constructor COLON nonempty_list(application_scope_item) [ FIELD END_CODE DECLARATION ]
##
## The known suffix of the stack is as follows:
## FIELD
##
Expecting the constructor for the application field
Expecting the constructor for the scope
source_file_or_master: BEGIN_CODE YEAR
##

View File

@ -343,7 +343,7 @@ assertion:
MetaAssertion (VariesWith (q, e, t))
}
application_field_item:
application_scope_item:
| RULE r = rule {
let (r, _) = r in (Rule r, $sloc)
}
@ -360,7 +360,7 @@ ident:
condition_pos:
| CONDITION { $sloc }
struct_field_base:
struct_scope_base:
| DATA i= ident CONTENT t = typ {
let t, pos = t in
(i, (Data t, pos))
@ -369,11 +369,11 @@ struct_field_base:
(i, (Condition, pos))
}
struct_field_func:
struct_scope_func:
| DEPENDS t = typ { t }
struct_field:
| name_and_typ = struct_field_base func_typ = option(struct_field_func) {
struct_scope:
| name_and_typ = struct_scope_base func_typ = option(struct_scope_func) {
let (name, typ) = name_and_typ in
let (typ, typ_pos) = typ in
({
@ -387,10 +387,10 @@ struct_field:
}, $sloc)
}
field_decl_item:
| CONTEXT i = ident CONTENT t = typ func_typ = option(struct_field_func) { ({
field_decl_context_item_name = i;
field_decl_context_item_typ =
scope_decl_item:
| CONTEXT i = ident CONTENT t = typ func_typ = option(struct_scope_func) { ({
scope_decl_context_item_name = i;
scope_decl_context_item_typ =
let (typ, typ_pos) = t in
match func_typ with
| None -> (Base (Data typ), typ_pos)
@ -400,24 +400,24 @@ field_decl_item:
}, $sloc);
}, $sloc) }
field_decl_include:
scope_decl_include:
| c1 = constructor DOT i1 = ident EQUAL c2 = constructor DOT i2 = ident {
({
parent_field_name = c1;
parent_field_context_item = i1 ;
sub_field_name = c2;
sub_field_context_item = i2;
parent_scope_name = c1;
parent_scope_context_item = i1 ;
sub_scope_name = c2;
sub_scope_context_item = i2;
}, $sloc)
}
field_decl_includes_context:
| CONTEXT join = nonempty_list(field_decl_include) { join }
scope_decl_includes_context:
| CONTEXT join = nonempty_list(scope_decl_include) { join }
field_decl_includes:
| INCLUDES FIELD c = constructor context = option(field_decl_includes_context) {
scope_decl_includes:
| INCLUDES FIELD c = constructor context = option(scope_decl_includes_context) {
({
field_decl_include_sub_field = c;
field_decl_include_joins = match context with
scope_decl_include_sub_scope = c;
scope_decl_include_joins = match context with
| None -> []
| Some context -> context
}, $sloc)
@ -436,24 +436,24 @@ constructor:
| c = CONSTRUCTOR { (c, $sloc) }
code_item:
| FIELD c = constructor COLON items = nonempty_list(application_field_item) {
(FieldUse {
field_use_name = c;
field_use_items = items;
| FIELD c = constructor COLON items = nonempty_list(application_scope_item) {
(ScopeUse {
scope_use_name = c;
scope_use_items = items;
}, $sloc)
}
| DECLARATION STRUCT c = constructor COLON fields = list(struct_field) {
| DECLARATION STRUCT c = constructor COLON scopes = list(struct_scope) {
(StructDecl {
struct_decl_name = c;
struct_decl_fields = fields;
struct_decl_fields = scopes;
}, $sloc)
}
| DECLARATION FIELD c = constructor COLON context = nonempty_list(field_decl_item)
includes = list(field_decl_includes) {
(FieldDecl {
field_decl_name = c;
field_decl_context = context;
field_decl_includes = includes;
| DECLARATION FIELD c = constructor COLON context = nonempty_list(scope_decl_item)
includes = list(scope_decl_includes) {
(ScopeDecl {
scope_decl_name = c;
scope_decl_context = context;
scope_decl_includes = includes;
}, $sloc)
}
| DECLARATION ENUM c = constructor COLON cases = nonempty_list(enum_decl_line) {

View File

@ -33,8 +33,8 @@ let message s =
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#268\n"
| 273 -> "Wrong way to begin a code section\n"
| 14 -> "Expecting the constructor for the application field\n"
| 16 -> "Expected a colon after application field constructor\n"
| 14 -> "Expecting the constructor for the scope\n"
| 16 -> "Expected a colon after scope constructor\n"
| 17 -> "Expected a rule, a definition or an assertion\n"
| 18 ->
"Unexpected token\n\
@ -330,7 +330,7 @@ let message s =
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#43\n"
| 189 -> "Unexpected token after an application field item\n"
| 189 -> "Unexpected token after a scope item\n"
| 191 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
@ -363,7 +363,7 @@ let message s =
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#219\n"
| 214 -> "Unexpected token, struct field declaration is over at this point\n"
| 214 -> "Unexpected token, struct scope declaration is over at this point\n"
| 215 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
@ -404,51 +404,51 @@ let message s =
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#228\n"
| 233 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#231\n"
| 234 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#232\n"
| 235 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#233\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#231\n"
| 236 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#234\n"
| 240 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#232\n"
| 237 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#238\n"
| 241 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#239\n"
| 242 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#240\n"
| 243 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#241\n"
| 244 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#242\n"
| 245 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#243\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#233\n"
| 238 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#234\n"
| 241 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#238\n"
| 242 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#239\n"
| 243 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#240\n"
| 244 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#241\n"
| 245 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#242\n"
| 246 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#243\n"
| 239 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#236\n"
| 252 ->
| 232 ->
"Unexpected token\n\
To get a better error messsage, file an issue at \
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#250\n"