You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fixes this specific issue, but breaks parsing of other expressions, so is not a valid solution.
Instead, we might need to split expr into yet another thing (similar to the split for expr_no_struct), but I’m not sure that’s idea (because technically we need to split the expr_no_struct into two too; overall I think this leads to severe duplication in the grammar, making it hard to maintain.
Will give it some more thought when I get a few cycles, but yeah, the core issue is a misparse due to a misunderstanding of the precedence rules.
Fixes#25
Basically, rather than considering `&&&` and `|||` to be prefix+binary
operations (as the actual Verus parser does), we instead split them out
into their own expression group. This allows us to fix the parsing
precedence with respect to quantifiers.
Co-authored-by: Jay Bosamiya
We seem to have a misparse happening due to precedence of special bulleted ops and quantifiers. Minimized example is:
which parses as
Instead, the
g
should not be considered in the body of theforall
.Original report by @jialin-li:
The text was updated successfully, but these errors were encountered: