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
module A
imports K-EQUAL-SYNTAX
syntax Stuff ::= "a" | "b" | "c"
rule A:Stuff => b requires A ==K a [priority(10)]
rule a => c
endmodule
Steps to Reproduce
use this a.in file:
a
Then, kompile a.k && krun a.in produces
<k>
c ~> .K
</k>
This is wrong, it should have produced b instead of c.
A few more notes:
Commenting out rule a => c produces b as a result. Removing the requires clause from rule A:Stuff => b requires A ==K a makes the backend enter an infinite loop. Replacing the same rule with rule a => b, while keeping the priority produces the expected result.
Expected Results
The command above should have produced this (both in the main case described above and in the infinite loop one):
<k>
b ~> .K
</k>
The text was updated successfully, but these errors were encountered:
What component is the issue in?
llvm-backend
Which command
What K Version?
v7.1.164-0-g459fdd7b84
Operating System
Linux
K Definitions (If Possible)
a.k:
Steps to Reproduce
use this a.in file:
Then,
kompile a.k && krun a.in
producesThis is wrong, it should have produced
b
instead ofc
.A few more notes:
Commenting out
rule a => c
producesb
as a result. Removing therequires
clause fromrule A:Stuff => b requires A ==K a
makes the backend enter an infinite loop. Replacing the same rule withrule a => b
, while keeping the priority produces the expected result.Expected Results
The command above should have produced this (both in the main case described above and in the infinite loop one):
The text was updated successfully, but these errors were encountered: