fixed smt version 1 parser for quantifiers
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 18 Jun 2012 06:04:21 +0000 (06:04 +0000)
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 18 Jun 2012 06:04:21 +0000 (06:04 +0000)
src/parser/smt/Smt.g

index 9f1f458c95f72b6a65d9b9321c88fcb9d3a4de62..d44f7abcbd26cdd5f565e46f6f9975e1b3215513 100644 (file)
@@ -225,6 +225,7 @@ annotatedFormula[CVC4::Expr& expr]
   Kind kind;
   std::string name;
   std::vector<Expr> args; /* = getExprVector(); */
+  std::vector<Expr> args2;
   Expr op; /* Operator expression FIXME: move away kill it */
 }
   : /* a built-in operator application */
@@ -255,8 +256,9 @@ annotatedFormula[CVC4::Expr& expr]
       { args.push_back(PARSER_STATE->mkVar(name, t)); }
     )+
     annotatedFormula[expr] RPAREN_TOK
-    { args.push_back(expr);
-      expr = MK_EXPR(kind, args);
+    { args2.push_back( MK_EXPR( kind::BOUND_VAR_LIST, args ) );
+      args2.push_back(expr);
+      expr = MK_EXPR(kind, args2);
       PARSER_STATE->popScope();
     }