编程语义学基础:操作语义与推导树
在编程领域,操作语义是理解程序行为的重要工具。它通过定义过渡系统来描述程序的计算过程,为程序的正确性和性能提供了理论支持。本文将深入探讨操作语义的基本概念、过渡系统的定义以及如何构建推导树来证明过渡的存在。
1. 有用的约定
为了更方便地编写 Bims 中的表达式和语句,我们引入了一些约定:
- 布尔表达式 :使用不等式符号 ≠ ,它是 ¬(a1 = a2) 的简写。
- 算术表达式 :遵循 * 、 + 和 - 的正常运算符优先级,例如 x + y * z 应理解为 x + (y * z) 。
- 语句 :分号运算符是左结合的,所以 S1; S2; S3 应理解为 S1; (S2; S3) 。
2. 过渡系统
过渡系统是一种有向图,其中顶点称为配置,对应程序及其当前状态的快照;边称为过渡,对应程序的步骤。没有过渡离开的配置称为终端配置。
过渡系统可以定义为三元组 (Γ, →, T) ,其中:
- Γ 是配置的集合。
- → 是过渡关系,是 Γ × Γ 的子集。
超级会员免费看
订阅专栏 解锁全文
416

被折叠的 条评论
为什么被折叠?



