summaryrefslogtreecommitdiff
path: root/src/parser
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-11-14 09:33:34 -0500
committerMorgan Deters <mdeters@cs.nyu.edu>2013-11-14 09:33:34 -0500
commitca54910668960ea492e8dc12178648032c5df489 (patch)
treec1164f2123ed9c8d47d150222edef7febace8ab8 /src/parser
parente868c3d05660fe5d8dc1da8a104da850f4d101d5 (diff)
Allow empty record literals (fixing an oversight in previous work on empty tuples/records)
Diffstat (limited to 'src/parser')
-rw-r--r--src/parser/cvc/Cvc.g5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/parser/cvc/Cvc.g b/src/parser/cvc/Cvc.g
index 03d1e7a8a..3ab6079a2 100644
--- a/src/parser/cvc/Cvc.g
+++ b/src/parser/cvc/Cvc.g
@@ -1845,6 +1845,11 @@ simpleTerm[CVC4::Expr& f]
/* empty tuple literal */
| LPAREN RPAREN
{ f = MK_EXPR(kind::TUPLE, std::vector<Expr>()); }
+ /* empty record literal */
+ | PARENHASH HASHPAREN
+ { RecordType t = EXPR_MANAGER->mkRecordType(std::vector< std::pair<std::string, Type> >());
+ f = MK_EXPR(kind::RECORD, MK_CONST(t.getRecord()), std::vector<Expr>());
+ }
/* boolean literals */
| TRUE_TOK { f = MK_CONST(bool(true)); }
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback