0
我真的花了很多时间在这个问题上工作,并使用Google搜索寻找解决方案,但我似乎无法找到问题所在。真的不明白为什么我的程序不能正常工作
我学习如何编写奥卡姆并具有以下程序:
PROC light (CHAN OF BYTE screen, CHAN OF INT light.change)
INT light.on :
WHILE TRUE
SEQ
light.change ? light.on
IF
light.on = 1
screen ! 'y'
TRUE
SKIP
:
PROC test(CHAN OF BYTE keyboard, scr)
CHAN OF INT to.light :
INITIAL INT on IS 1(INT) :
BYTE b :
SEQ
light(scr, to.light)
WHILE TRUE
SEQ
keyboard ? b
IF
b = 'o'
to.light ! on
TRUE
SKIP
:
所有我想要做的,当我按下“o
”密钥从一个进程相互通信。
我是从(KR ö C)编译得到的错误信息是:
Error at lift.occ:11
Program failed, state = e, eflags = 00000000
这是light.on = 1
线。
据我所看到的,light
PROC
会等待一些输入其light.change
channel
,并随后将其分配给它的light.on
variable
。该程序然后将进行条件语句IF
,其中light.on = 1
行应在这种情况下评估为true
。但是,我得到这个错误。
我试过使用-verbose
标志,但编译器说你不能将它用于.occ文件。
有谁知道如何或如果我可以从编译器得到更详细的信息?
任何帮助,将不胜感激。
感谢
谢谢你的回答。我很感激。我将不得不等到明天再试一试。 – Joe 2011-01-11 21:41:56