Sml 有没有一种简单的方法可以有条件地在CPN工具网络中不生成令牌?

Sml 有没有一种简单的方法可以有条件地在CPN工具网络中不生成令牌?,sml,petri-net,Sml,Petri Net,我遇到了一种情况,我想忽略一些输入 在我的转换操作中,我使用一个简单的if-then-else表达式来测试我希望为其生成输出标记的输入,并为我希望忽略的输入生成一个NOP标记,因为您必须有一个类型正确的表达式才能满足ML 我尝试使用if this=that,然后使用1`goodToken else 0`goodToken(带括号和不带括号),但这无法通过操作输出部分的类型正确性检查 这些令牌被传递到下一个位置,然后分支到其保护仅允许NOP令牌的转换或不允许NOP令牌的转换 以这种方式,我生产和消

我遇到了一种情况,我想忽略一些输入

在我的转换操作中,我使用一个简单的if-then-else表达式来测试我希望为其生成输出标记的输入,并为我希望忽略的输入生成一个NOP标记,因为您必须有一个类型正确的表达式才能满足ML

我尝试使用if this=that,然后使用1`goodToken else 0`goodToken(带括号和不带括号),但这无法通过操作输出部分的类型正确性检查

这些令牌被传递到下一个位置,然后分支到其保护仅允许NOP令牌的转换或不允许NOP令牌的转换

以这种方式,我生产和消费这些无代币代币


有没有一种简单的方法可以在ml中实现这一点,或者通过一个巧妙的arc表达式来简化我的网络?

滑动窗口协议示例,例如,Jensen书中的简单协议引入了空项。当我试图使用空表达式时,我得到一个错误,即if-then-else语句的分支类型不匹配,例如:then-branch:BOOL,else-branch:Z-ms。有没有解决这个问题的想法?@DmitriChubarov注意。。。似乎表明对于如何使用empty或如何处理empty存在一些困惑。