summaryrefslogtreecommitdiff
path: root/src/parser
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-10-21 04:44:14 +0000
committerMorgan Deters <mdeters@gmail.com>2011-10-21 04:44:14 +0000
commit9039185001b789eadd8b20149455fe778a80fb69 (patch)
treee8854bf2c2702604a069b12df176592f9336c9e2 /src/parser
parentda1f0e9e8479741487a59ad68198262c3730081e (diff)
some printing and parser fixes for problems recently uncovered
Diffstat (limited to 'src/parser')
-rw-r--r--src/parser/smt2/Smt2.g8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g
index f9a2cccf2..a1a98ac9b 100644
--- a/src/parser/smt2/Smt2.g
+++ b/src/parser/smt2/Smt2.g
@@ -380,6 +380,7 @@ extendedCommand[CVC4::Command*& cmd]
symbolicExpr[CVC4::SExpr& sexpr]
@declarations {
std::vector<SExpr> children;
+ CVC4::Kind k;
}
: INTEGER_LITERAL
{ sexpr = SExpr(AntlrInput::tokenText($INTEGER_LITERAL)); }
@@ -389,6 +390,11 @@ symbolicExpr[CVC4::SExpr& sexpr]
{ sexpr = SExpr(AntlrInput::tokenText($STRING_LITERAL)); }
| SYMBOL
{ sexpr = SExpr(AntlrInput::tokenText($SYMBOL)); }
+ | builtinOp[k]
+ { std::stringstream ss;
+ ss << Expr::setlanguage(CVC4::language::output::LANG_SMTLIB_V2) << EXPR_MANAGER->mkConst(k);
+ sexpr = SExpr(ss.str());
+ }
| KEYWORD
{ sexpr = SExpr(AntlrInput::tokenText($KEYWORD)); }
| LPAREN_TOK
@@ -893,7 +899,7 @@ LESS_THAN_EQUAL_TOK : '<=';
MINUS_TOK : '-';
NOT_TOK : 'not';
OR_TOK : 'or';
-PERCENT_TOK : '%';
+// PERCENT_TOK : '%';
PLUS_TOK : '+';
POUND_TOK : '#';
SELECT_TOK : 'select';
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback