Files
@ 7f75e1f23836
Branch filter:
Location: CSY/reowolf/testdata/parser/positive/15.pdl - annotation
7f75e1f23836
421 B
text/plain
bugfix: regression from previous vers: proto components correctly enforce that each of their ports' firing variables are assigned FIRING iff that port put or get during the round
1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 | #version
import std.reo;
composite main(out c) {
channel ao -> ai;
channel bo -> bi;
channel axo -> axi;
channel zo -> zi;
new sync(ai, bo);
new replicator(bi, {axo, c});
new consensus({axi, zi}, ao);
new generator(zo);
}
primitive generator(out z) {
while (true) {
synchronous (msg x) {
if (x == null) {
put(z, x);
assert !fires(x);
} else {
put(z, x);
assert fires(x);
}
}
}
}
|