【问题标题】:Understanding Operational semantics理解操作语义
【发布时间】:2014-06-25 12:48:17
【问题描述】:

我有这个推导

(b,σ)→false  (skip,σ)→σ

(if b then c;w else skip)→σ

(上面一行是前提,下面一行是表达式)

表达的意思是:

如果 b 为 True,则执行命令 c,否则执行 w 并跳过,

如果 b 为 True,则执行命令 c 和命令 w,否则跳过。

中间的分号让我很困惑?!

另外,为什么我不必在前置条件中包含 c ?

谢谢。

【问题讨论】:

    标签: semantics


    【解决方案1】:

    这只是回答了您的部分问题,但是:c 不包含在前提条件中,因为它不依赖于前提条件。我也无法理解第二行中的w。此外,这个问题可能与主题无关,因为它更多地是关于计算机科学而不是实际编程。

    【讨论】:

      【解决方案2】:

      每个操作语义都不一样,问题没有指定上下文,所以我只能猜测答案。

      我会将if b then c; w else skip 解析为if b then {c; w} else skip,即问题的第二种解释。推导似乎是关于b 为假的情况,因此未提及c,因为如果b 为假,则不会执行c。相反,skip 被提及是因为它已被执行。

      【讨论】:

        猜你喜欢
        • 2021-09-09
        • 1970-01-01
        • 1970-01-01
        • 2021-06-22
        • 2013-11-12
        • 1970-01-01
        • 2013-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多