K tutorial中简要提到了上下文的使用,这是自定义订单评估的一种方法。但是,我还看到其他上下文语句中包含重写箭头,例如无类型简单语言中的this one。
context ++(HOLE => lvalue(HOLE))
rule <k> ++loc(L) => I +Int 1 ...</k>
<store>... L |-> (I => I +Int 1) ...</store> [increment]
有人可以解释上下文在K中到底如何工作吗?我特别感兴趣:
context
的使用是否比说明顺序更普遍?context
语句的声明顺序如何影响语义?谢谢!
答案 0 :(得分:0)
有关K中上下文声明的更多详细信息,请参见K的文档here。特别地,带有重写箭头的上下文表示加热和冷却将用特定符号包裹要加热或冷却的术语。在您的示例中,该符号为lvalue
。
要专门回答您的问题: