-
Notifications
You must be signed in to change notification settings - Fork 95
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
Create a Boogie AST crate #2565
Create a Boogie AST crate #2565
Conversation
b9073dc
to
d31d676
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this. When do you think you'll be able to add a few tests?
d31d676
to
0ded9eb
Compare
6f5eb0c
to
d402151
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When do you think you'll be able to add a few tests?
I've been testing this manually on a few small programs via running Boogie on them locally.
I looked into adding a script that installs Boogie, but found out that it'll take some effort because of the need to install .NET, so I decided to push this to a future PR.
It should be possible to add tests for the writer though, which I can do in this PR or a follow-up one.
d402151
to
a3b89f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly some code cleaning suggestions, but not blockers.
Description of changes:
Introduce a Boogie AST crate and translate a small subset of MIR to Boogie. The current translation can handle simple programs involving integers and booleans and asserts (using
kani::assert
), e.g.:and
Resolved issues:
Related RFC:
Optional #ISSUE-NUMBER.
Call-outs:
I've been testing the output by running it with
boogie
manually. The next step would be to install boogie as part of the setup process and run it on the output file via a script.Testing:
How is this change tested? Testing manually for now
Is this a refactor change? No
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.