-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can this library also be used as a parser etc. for SMT problems? #324
Comments
Hi, and thank you for opening this issue. @makaimann : |
To be honest. I don't think there are a lot of "theoretical" challenges. It's mostly just some engineering work to write an AST and maybe some helper classes. Further, one would probably want to have a solver.solve(AST* ast) function. Given that ANTLR4 grammars for smtlib exist (https://smtlib.cs.uiowa.edu/utilities.shtml) I would recommend basing the AST on that. Nnote that ANTLR4 does not have ASTs but ParseTrees hence all that is required writing a function that transforms the Antlr4 parse tree to a smt-switch specific AST and all the additional helper functions that one would want in this library. |
We already have a flex/bison parser, so no need for antlr, but yeah, it is just a matter of hooking it up into the API. |
Even better. I think if someone knows the codebase well this should not take too long. |
Is there any update on this? |
Hi, and thanks again for your interest. Unfortunately, this is still an item in our wish list. |
Essentially, I would like to be able to parse an SMT problem and traverse the AST etc. Is this possible with this library? The documentation points to the /test dir which leads me to
smtlib_reader.h
. However, this only containsSmtLibReader
which also requires a solver and it is also not entirely clear to me how toSmtLibReader
to traverse the AST of an SMT lib parsed problem.The text was updated successfully, but these errors were encountered: