【发布时间】:2015-05-20 20:56:26
【问题描述】:
我是 Alloy 的新手,由于出现错误,我的程序无法执行或显示。 我遇到的错误是
发生了语法错误: 您必须为“this/Name”指定范围
我的代码是
module language/Family
sig Name { }
abstract sig Person {
name: one Name,
siblings: Person,
father: lone Man,
mother: lone Woman
}
sig Man extends Person {
wife: lone Woman
}
sig Woman extends Person {
husband: lone Man
}
sig Married extends Person {
}
fact {
no p: Person | p in p.^(mother + father)
wife = ~husband
}
fun grandpas[p: Person] : set Person {
let parent = mother + father + father.wife + mother.husband | p.parent.parent & Man
}
pred ownGrandpa[p: Person] {
p in grandpas[p]
}
这些是我的运行命令
run ownGrandpa for 4 Person
run ownGrandpa for 2 Person
run ownGrandpa for 1 Person
谁能帮我指出这个错误。
【问题讨论】: