We've introduced some changes to the grammar on the code-gen branch. Those changes were needed to simplify the implementation of the code-writer, but it seems like some of those changes broke the parser for some constraint expressions.
These expressions, for instance, throws a parser error:
part(1, "/", transformation) in {"CBC", "PCBC", "CTR", "CTS", "CFB", "OFB"} && encmode != 1 => noCallTo[IWOIV] ;
length[pre_plaintext] >= pre_plain_off + len;
The differences between the old and new grammar for constraints are:
// old (used to work for expressions above)
ConstraintExp : BooleanExp;
BooleanExp : exp = ImpliesExp;
// new (broken)
ConstraintExp : ImpliesExp;
We've introduced some changes to the grammar on the
code-genbranch. Those changes were needed to simplify the implementation of the code-writer, but it seems like some of those changes broke the parser for some constraint expressions.These expressions, for instance, throws a parser error:
The differences between the old and new grammar for constraints are: