【发布时间】:2016-05-27 09:09:17
【问题描述】:
我在以下类型的合金 (4.2) 规范中存在错误:
You must specify a scope for sig "this/Univ"
这个问题很容易通过一个玩具示例重现:
open util/ordering[State]
open util/integer
sig State { value : Int }
fact {
first.value = 0
all s:State, s': s.next | s'.value = plus[s.value, 1]
}
run { } for 5 State, 3 Int
以上都很好。现在,当我在外部文件中定义 State 并使用 open 语句将其导入时,我收到“Univ scope”错误:
open util/ordering[State]
open util/integer
open State
fact {
first.value = 0
all s:State, s': s.next | s'.value = plus[s.value, 1]
}
run { } for 5 State, 3 Int
我尝试了上述几种变体,但均未成功。 为什么会发生这种情况以及如何解决? 在我的项目中,在不同的文件中定义排序模块的目标 sig 对我很有用。
谢谢, 爱德华多
【问题讨论】:
标签: alloy