基于抽象解释的建模组合子:w 约束组合子深度剖析
1. w 约束组合子介绍
w 约束组合子在有限域约束编程中扮演着重要角色,下面将详细介绍其语法、语义,并通过具体示例展示其应用。
1.1 语法
w 约束组合子的语法规则如下:
W ::= w(Lvar, Lvar, Lvar, Lvar, Arith Constr, LConstr)
If ::= if(Lvar, Arith Constr, LConstr, LConstr)
Lvar ::= var Lvar | ε
LConstr ::= Constr LConstr | ε
Constr ::= var in int..int | Arith Constr | W | If
Arith Constr ::= var Op Expr
Op ::= < | ≤| > | ≥| ̸= | =
Expr ::= Expr + Expr | Expr −Expr | Expr ∗Expr | var | int
w 操作符接收四个变量列表、一个算术约束和一个约束列表作为参数,分别记为 Init、In、Out、End、Cond 和 Do。各参数含义如下:
- Init:包含表示循环中涉及变量初始值的逻辑变量。
- In:第 n 次迭代时变量的值。
- Out:第 n + 1 次迭代时变量的值。
- End:循环退出时变量的值。
- Cond:对应循环条件的约束。
- Do:对应循环体的约束列表。
需要注意的是,Ini
w约束组合子与过滤算法的深度解析
超级会员免费看
订阅专栏 解锁全文
1182

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



