Maude系统可以操作两个以上的操作数吗?

时间:2017-04-20 19:01:28

标签: maude-system

我知道在maude中你可以通过以下方式之一定义一个操作:

op operation_: Nat -> Bool . // for 1 operands
op _operation_: Nat Nat -> Bool . // for 2 operands

但有没有办法定义操作,以便它有更多的操作数?

1 个答案:

答案 0 :(得分:2)

我想三元条件运算符(来自Basic Maude)应该是一个很好的例子:"函数名中存在下划线意味着我们使用的是mixfix。这个想法是函数的每个参数都将替换其中一个下划线。例如,考虑

op if_then_else_fi : Bool Nat Nat -> Nat .

然后我们可以像这样应用这个运算符:

if B then X else Y fi

其中B是布尔值,X和Y是Nats。"

manual中没有提到操作员的限制(阅读第33-35页以包含操作员声明的全部功能),所以

op _ _operation_ _ _: Nat Nat Nat Nat Nat -> Bool . // for 5 operands

也应该没问题。我想在某些时候你应该达到特定的实现,平台或内存限制。