【发布时间】:2018-08-25 20:00:37
【问题描述】:
为什么下面的 Promela 代码只返回 N >= 34 错误?
#define N 34
active proctype proc1() {
byte i;
select(i: 1 .. N); //line 5
do
:: true ->
printf("Hi");
:: true ->
break;
od
}
错误是:
spin: prova.pml:5, Error: syntax error saw 'keyword: do' near 'do'
我真的找不到错误。使用N <= 33 可以正常工作。
这是一个错误吗?
【问题讨论】:
-
您使用的是哪个版本的
Spin?我无法重现该问题,错误消息通常在do ... od内没有任何分支时打印,但也可能是由于缺少; -
macOS 版本 6.4.6
-
如果我删除定义并直接在选择中写入数字,也会出现同样的问题。
-
我会在周一在macos上测试并通知你