14、块、过程与并发对象语言的语义解析

块、过程与并发对象语言的语义解析

1. Bip语言的小步语义

Bip语言是在Bims语言基础上扩展了块和过程的语言。此前我们了解过Bip语言的大步语义,现在我们将探讨其小步语义。小步语义是对Bims语言小步语义的扩展,更确切地说,是对语句小步语义的扩展。

1.1 运行时栈

我们采用环境 - 存储模型。变量环境集合定义为:
$EnvV = Var ∪{next} ⇀Loc$
存储集合定义为:
$Sto = Loc ⇀Z$
过程环境的定义取决于我们选择的作用域规则。

在小步语义中,配置表示语句执行的中间阶段。与大步语义不同,小步语义需要描述单个执行步骤,这些步骤可能是过程调用或块的开始,可能涉及新的临时绑定。因此,转换形式为:
$\langle S, bindings\rangle⇒\langle S’, new bindings\rangle$

为了跟踪当前有效的绑定,我们引入运行时栈的概念。运行时栈$envl$是一对对$(envV, envP)$的列表,即$envl$是运行时栈集合$Envl$的元素:
$Envl = (EnvV × EnvP)^*$
运行时栈的顶部元素是当前有效的$(envV, envP)$对。每当进入新的作用域(如进入块或调用过程)时,我们将新的$(env’_V, env’_P)$对压入栈顶。

1.2 声明

变量和过程声明的语义与大步语义相同。声明应被视为一个不可分割的单步操作,执行声明时,会为所有提及的变量分配存储,并记录过程体代码的地址。

过渡关系是为简单变量环境定义的,这就足够了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值