module TEST
syntax Exp ::= Id | Int
syntax Pred ::= Exp "<" Exp
| "(" Pred ")" [bracket]
syntax Form ::= Pred
| "(" Form ")" [bracket]
> Form "/\\" Form
configuration <k> $PGM:K </k>
endmodule
compiles but when it is executed on the program "(0 < IDS) /\ (IDS < N)" the following ambiguity is reported:
It's an ambiguity between the two brackets.
I admit, the error message is kind of bad because it doesn't point to the original productions.
I will fix this in the new parser.
The following definition
compiles but when it is executed on the program "(0 < IDS) /\ (IDS < N)" the following ambiguity is reported:
If we remove/comment the line including
| "(" Pred ")" [bracket]
then the execution finishes normally.