Commit 420a353a4e98f1ee1fda0064cbd2d4435f5689d9
1 parent
2bac8a70
Exists in
master
continue AST build
Showing
1 changed file
with
9 additions
and
5 deletions
Show diff stats
fzn-parser/flatzinc.y
... | ... | @@ -204,7 +204,7 @@ float_ti_expr_tail: |
204 | 204 | | FLOAT_LITERAL DOTDOT FLOAT_LITERAL { PUSH (("float(%g,%g)", $1, $3)); } |
205 | 205 | |
206 | 206 | set_ti_expr_tail: |
207 | - SET OF int_ti_expr_tail | |
207 | + SET OF int_ti_expr_tail { AST ("T", ("set(T)")); } | |
208 | 208 | |
209 | 209 | //--------------------------------------------------------------------------- |
210 | 210 | // Expressions |
... | ... | @@ -222,8 +222,8 @@ expr: |
222 | 222 | | set_literal |
223 | 223 | | array_literal |
224 | 224 | | array_access_expr |
225 | - | IDENT { PUSH (("_:id(\"%s\")", $1)); } | |
226 | - | UNDERSCORE_IDENT { PUSH (("_:uid(\"%s\")", $1)); } | |
225 | + | IDENT { PUSH (("_:id('%s')", $1)); } | |
226 | + | UNDERSCORE_IDENT { PUSH (("_:uid('%s')", $1)); } | |
227 | 227 | | IDENT '(' exprs ')' /* An annotation value with > 0 arguments. */ |
228 | 228 | |
229 | 229 | bool_literal: |
... | ... | @@ -242,11 +242,15 @@ set_literal: |
242 | 242 | POST(); } |
243 | 243 | |
244 | 244 | array_literal: |
245 | - '[' exprs ']' { AST ("Es", ("alit(Es)")); } | |
246 | - | '[' ']' { PUSH (("alit([])")); } | |
245 | + '[' exprs ']' { AST ("Es", ("array(_):alit(Es)")); } | |
246 | + | '[' ']' { PUSH (("array(_):alit([])")); } | |
247 | 247 | |
248 | 248 | array_access_expr: IDENT '[' INT_LITERAL ']' |
249 | + { AST ("int:EI,array(T):ID", | |
250 | + ("T:aref(array(T):ID,int:EI)")); } | |
249 | 251 | | UNDERSCORE_IDENT '[' INT_LITERAL ']' |
252 | + { AST ("int:EI,array(T):ID", | |
253 | + ("T:aref(array(T):ID,int:EI)")); } | |
250 | 254 | |
251 | 255 | //--------------------------------------------------------------------------- |
252 | 256 | // Annotations | ... | ... |