Add surface syntax for struct literals

Closes #16
This commit is contained in:
Denis Merigoux 2020-06-30 23:15:14 +02:00
parent cfa7ae9585
commit c51840019e
4 changed files with 452 additions and 479 deletions

View File

@ -16,7 +16,7 @@ type constructor = string
type ident = string
type qident = { qident_prefix : constructor Pos.marked option; qident_path : ident Pos.marked list }
type qident = ident Pos.marked list
type primitive_typ = Integer | Decimal | Boolean | Money | Text | Date | Named of constructor
@ -88,6 +88,11 @@ type match_case = {
and match_cases = match_case Pos.marked list
and struct_inject = {
struct_inject_name : constructor Pos.marked;
struct_inject_fields : (ident Pos.marked * expression Pos.marked) list;
}
and expression =
| MatchWith of expression Pos.marked * match_cases Pos.marked
| IfThenElse of expression Pos.marked * expression Pos.marked * expression Pos.marked
@ -100,9 +105,12 @@ and expression =
| FunCall of expression Pos.marked * expression Pos.marked
| Builtin of builtin_expression
| Literal of literal
| Inject of constructor Pos.marked * expression Pos.marked option
| Project of expression Pos.marked * constructor Pos.marked
| Qident of qident
| EnumInject of constructor Pos.marked * expression Pos.marked option
| EnumProject of expression Pos.marked * constructor Pos.marked
| Ident of ident
| Dotted of expression Pos.marked * ident Pos.marked
(* Dotted is for both struct field projection and sub-scope variables *)
| StructInject of struct_inject
type rule = {
rule_parameter : ident Pos.marked option;

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,11 @@
%{
open Ast
type struct_or_enum_inject_content =
| StructContent of (ident Pos.marked * expression Pos.marked) list
| EnumContent of expression Pos.marked option
%}
%token EOF
@ -84,39 +89,55 @@ typ:
(Collection t, $sloc)
}
qident_prefix:
| c = constructor DOT { c }
qident:
| p = option(qident_prefix) b = separated_nonempty_list(DOT, ident) {
({
qident_prefix = p;
qident_path = b;
} ,$sloc)
| b = separated_nonempty_list(DOT, ident) {
( b, $sloc)
}
atomic_expression:
| q = qident { let (q, q_pos) = q in (Qident q, q_pos) }
| q = ident { let (q, q_pos) = q in (Ident q, q_pos) }
| l = literal { let (l, l_pos) = l in (Literal l, l_pos) }
| LPAREN e = expression RPAREN { e }
small_expression:
| e = atomic_expression { e }
| e = small_expression ARROW c = constructor {
(Project (e, c), $sloc)
(EnumProject (e, c), $sloc)
}
| e = small_expression DOT i = ident {
(Dotted (e, i), $sloc)
}
constructor_payload:
struct_content_field:
| field = ident COLON e = logical_expression {
(field, e)
}
enum_inject_content:
| CONTENT e = small_expression { e }
struct_or_enum_inject_content:
| e = option(enum_inject_content) { EnumContent e }
| CONTENT LPAREN ALT fields = separated_nonempty_list(ALT, struct_content_field) RPAREN {
StructContent fields
}
struct_or_enum_inject:
| c = constructor data = struct_or_enum_inject_content {
match data with
| EnumContent data ->
(EnumInject (c, data), $sloc)
| _ -> assert false
}
primitive_expression:
| e = small_expression { e }
| NOW { (Builtin Now, $sloc) }
| CARDINAL {
(Builtin Cardinal, $sloc)
}
| c = constructor p = option(constructor_payload) {
(Inject (c, p), $sloc)
| e = struct_or_enum_inject {
e
}
num_literal:
@ -149,7 +170,7 @@ literal:
literal_date_day = d;
literal_date_month = m;
literal_date_year = y;
}, $sloc)
}, $sloc)
}
| TRUE { (Bool true, $sloc) }
| FALSE { (Bool false, $sloc) }

View File

@ -16,7 +16,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#5\n"
| 272 ->
| 282 ->
"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#275\n"
@ -28,66 +28,58 @@ 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#13\n"
| 265 ->
| 275 ->
"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#268\n"
| 268 -> "Wrong way to begin a code section\n"
| 278 -> "Wrong way to begin a code section\n"
| 14 -> "Expecting the constructor for the scope\n"
| 16 -> "Expected a colon after scope constructor\n"
| 152 -> "Expected a rule, a definition or an assertion\n"
| 153 ->
"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#18\n"
| 56 -> "Wrong token following an identifier\n"
| 165 ->
"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#157\n"
| 157 ->
"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#149\n"
| 166 ->
"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#158\n"
| 154 ->
"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#20\n"
| 158 -> "Expected a rule, a definition or an assertion\n"
| 159 ->
"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#151\n"
| 57 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#18\n"
| 177 -> "Wrong token following an identifier\n"
| 172 ->
"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#61\n"
| 69 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#157\n"
| 164 ->
"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#63\n"
| 53 ->
"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#64\n"
| 170 ->
"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#162\n"
| 171 -> "Only the identifier you wish to define should follow the definition introducing token\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#149\n"
| 173 ->
"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#158\n"
| 161 ->
"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#20\n"
| 166 ->
"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#151\n"
| 178 ->
"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#61\n"
| 180 ->
"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#162\n"
| 181 -> "Only the identifier you wish to define should follow the definition introducing token\n"
| 183 ->
"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#165\n"
| 172 -> "Wrong token following function parameter\n"
| 174 ->
| 182 -> "Wrong token following function parameter\n"
| 184 ->
"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#166\n"
| 177 ->
| 187 ->
"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#169\n"
@ -106,88 +98,84 @@ 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#28\n"
| 178 ->
| 188 ->
"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#170\n"
| 180 ->
"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#172\n"
| 181 ->
"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#173\n"
| 179 ->
"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#171\n"
| 155 ->
"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#21\n"
| 162 -> "Unexpected token after a condition\n"
| 190 ->
"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#172\n"
| 191 ->
"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#173\n"
| 162 ->
"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#21\n"
| 169 -> "Unexpected token after a condition\n"
| 200 ->
"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#182\n"
| 74 ->
"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#73\n"
| 75 ->
"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#74\n"
| 76 ->
"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#75\n"
| 77 ->
"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#76\n"
| 79 ->
"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#78\n"
| 80 ->
"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#79\n"
| 49 ->
"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#50\n"
| 50 ->
"Missing enumeration case for testing if an enumeration value is in a particular enumeration \
case\n"
| 88 ->
"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#87\n"
| 125 ->
"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#124\n"
| 52 -> "Invalid function application\n"
| 102 -> "Expected the second term of the comparison\n"
| 93 -> "Expected expression on the right-hand side of multiplication operator\n"
| 90 ->
"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#73\n"
| 91 ->
"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#74\n"
| 92 ->
"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#75\n"
| 93 ->
"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#76\n"
| 95 ->
"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#78\n"
| 96 ->
"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#79\n"
| 51 ->
"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#50\n"
| 52 ->
"Missing enumeration case for testing if an enumeration value is in a particular enumeration \
case\n"
| 82 ->
"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#87\n"
| 106 ->
"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#124\n"
| 54 -> "Invalid function application\n"
| 78 -> "Expected the second term of the comparison\n"
| 87 -> "Expected expression on the right-hand side of multiplication operator\n"
| 84 ->
"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#89\n"
| 83 -> "Missing collection for testing whether an element is inside a collection or not\n"
| 104 ->
| 133 -> "Missing collection for testing whether an element is inside a collection or not\n"
| 100 ->
"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#103\n"
| 44 -> "Expected operator or new item after expression\n"
| 45 ->
| 46 -> "Expected operator or new item after expression\n"
| 49 ->
"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#47\n"
| 42 ->
| 43 ->
"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#44\n"
@ -195,39 +183,39 @@ 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#35\n"
| 134 ->
"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#133\n"
| 135 ->
"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#134\n"
| 136 ->
"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#135\n"
| 142 ->
"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#141\n"
| 143 ->
"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#142\n"
| 139 ->
"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#138\n"
| 145 ->
"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#144\n"
| 140 ->
"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#133\n"
| 141 ->
"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#134\n"
| 142 ->
"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#135\n"
| 148 ->
"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#141\n"
| 149 ->
"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#142\n"
| 145 ->
"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#138\n"
| 151 ->
"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#144\n"
| 146 ->
"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#139\n"
| 137 ->
| 143 ->
"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#136\n"
@ -235,193 +223,193 @@ 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#36\n"
| 132 -> "Unmatched parenthesis that should have ended before this\n"
| 59 -> "Expecting an unit for the preceding numeric literal, or an operator\n"
| 126 -> "Unmatched parenthesis that should have ended before this\n"
| 55 -> "Expecting an unit for the preceding numeric literal, or an operator\n"
| 35 ->
"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#38\n"
| 128 ->
| 136 ->
"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#127\n"
| 129 ->
| 137 ->
"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#128\n"
| 130 ->
| 138 ->
"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#129\n"
| 127 ->
| 135 ->
"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#126\n"
| 36 ->
| 37 ->
"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#39\n"
| 108 ->
| 112 ->
"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#107\n"
| 109 -> "A for all construction expects only one ident\n"
| 110 ->
"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#109\n"
| 111 ->
"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#110\n"
| 107 ->
"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#106\n"
| 186 ->
"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#178\n"
| 187 ->
"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#179\n"
| 188 ->
"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#180\n"
| 116 ->
"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#115\n"
| 117 ->
"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#116\n"
| 118 ->
"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#117\n"
| 119 ->
"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#118\n"
| 120 ->
"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#119\n"
| 113 -> "A for all construction expects only one ident\n"
| 114 ->
"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#113\n"
| 65 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#109\n"
| 115 ->
"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#66\n"
| 67 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#110\n"
| 111 ->
"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#67\n"
| 68 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#106\n"
| 196 ->
"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#68\n"
| 41 ->
"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"
| 194 -> "Unexpected token after a scope item\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#178\n"
| 197 ->
"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#189\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#179\n"
| 198 ->
"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#180\n"
| 120 ->
"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#115\n"
| 121 ->
"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#116\n"
| 122 ->
"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#117\n"
| 123 ->
"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#118\n"
| 124 ->
"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#119\n"
| 118 ->
"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#113\n"
| 62 ->
"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#66\n"
| 63 ->
"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#67\n"
| 128 ->
"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#68\n"
| 42 ->
"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"
| 204 -> "Unexpected token after a scope item\n"
| 207 ->
"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#189\n"
| 208 ->
"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#190\n"
| 199 ->
| 209 ->
"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#191\n"
| 200 ->
| 210 ->
"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#192\n"
| 201 ->
| 211 ->
"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#193\n"
| 202 ->
| 212 ->
"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#194\n"
| 203 ->
| 213 ->
"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#195\n"
| 227 ->
| 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#219\n"
| 220 -> "Unexpected token, struct scope declaration is over at this point\n"
| 221 ->
"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#213\n"
| 217 ->
"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#198\n"
| 230 ->
"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#222\n"
| 230 -> "Unexpected token, struct scope declaration is over at this point\n"
| 231 ->
"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#223\n"
| 232 -> "Scope declarations must have at least one context element\n"
| 233 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#213\n"
| 227 ->
"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#225\n"
| 234 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#198\n"
| 240 ->
"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#226\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#222\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#227\n"
| 242 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#223\n"
| 242 -> "Scope declarations must have at least one context element\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#228\n"
| 246 ->
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#225\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#250\n"
| 249 ->
"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#252\n"
| 250 ->
"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#253\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#226\n"
| 251 ->
"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#254\n"
https://github.com/CatalaLang/catala/issues with this parser error token: ERROR#227\n"
| 252 ->
"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"
| 256 ->
"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"
| 259 ->
"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#252\n"
| 260 ->
"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#253\n"
| 261 ->
"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#254\n"
| 262 ->
"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#255\n"
| 253 ->
| 263 ->
"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#256\n"
| 254 ->
| 264 ->
"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#257\n"