Files @ 706db38f2849
Branch filter:

Location: CSY/reowolf/testdata/parser/positive/15.pdl

MH
Preparatory work for union literals

Contains horrible parsing hacks that transmute function calls and
enum literals to union literals if appropriate. Pending the
implementation of the tokenizer the AST can be constructed more
neatly.
#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);
			}
		}
	}
}