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