通常,后置条件表示从实现者到用户的承诺,即系统(在其子集中)的状态将如何到达所讨论的子程序之后。
这里的具体后置条件似乎解释了如何实现堆栈。
对于后置条件,您必须根据子程序应对旧状态产生的影响来定义新状态。
当后置条件说 post Pointer = Pointer~ +1 ,这意味着新的价值 Pointer 应该是旧值+ 1;即 Variable~ 意思是“的价值 Variable 进入子程序“。
post Pointer = Pointer~ +1
Pointer
Variable~
Variable
我怕我不知道是什么 S~[Pointer=>X] 手段;也许是“ Pointer 的元素 S 现在是X“(如何指定所有其他元素 S 是不变?)。
S~[Pointer=>X]
S
几点:
with SPARK_Mode;
--#
gnatprove
Top
还有另一个高级解释:先决条件是要求调用者进入,后置条件是检查内部发生的事情