#endif
int smt_scan_string(const char *yy_str);
+int cvc_scan_string(const char *yy_str);
int vc_parseMemExpr(VC vc, const char* s, Expr* oquery, Expr* oasserts ) {
bmstar b = (bmstar)(((stpstar)vc)->bm);
{
//YY_BUFFER_STATE bstat = cvc_scan_string(s);
//cvc_switch_to_buffer(bstat);
- smt_scan_string(s);
+ cvc_scan_string(s);
cvcparse((void*)&AssertsQuery);
//cvc_delete_buffer(bstat);
}
#include <stdio.h>
#include "c_interface.h"
+int CVC_PARSE() {
+ VC vc = vc_createValidityChecker();
+ vc_setFlags(vc,'n');
+ vc_setFlags(vc,'d');
+ vc_setFlags(vc,'p');
+
+ Expr q;
+ Expr asserts;
+
+
+ const char* s = "QUERY BVMOD(2,0bin10,0bin10) = 0bin00;\n";
+
+ vc_parseMemExpr(vc,s,&q,&asserts);
+
+ vc_printExpr(vc, q);
+ vc_printExpr(vc, asserts);
+ printf("\n");
+
+ vc_DeleteExpr(q);
+ vc_DeleteExpr(asserts);
+ vc_Destroy(vc);
+ return 0;
+}
+
+
+
+
int main() {
+ CVC_PARSE();
+
VC vc = vc_createValidityChecker();
vc_setFlags(vc,'n');
vc_setFlags(vc,'d');
vc_printExpr(vc, asserts);
printf("\n");
+ vc_DeleteExpr(q);
+ vc_DeleteExpr(asserts);
vc_Destroy(vc);
return 0;
}