K教程中简要提到了上下文的使用,作为自定义订单评估的一种方式。但我也看到了其他包含重写箭头的上下文语句,比如无类型简单语言中的这个。
context ++(HOLE => lvalue(HOLE))
rule <k> ++loc(L) => I +Int 1 ...</k>
<store>... L |-> (I => I +Int 1) ...</store> [increment]
有人可以解释一下上下文在 K 中是如何工作的吗?我特别感兴趣的是:
- 在 K 中是否有
context
比仅说明评估顺序更普遍的用法? context
声明语句的顺序如何影响语义?
谢谢!