3 (* From: MODULA-2, An Introduction, by Daniel Thalmann, Springer-Verlag,
8 FROM SYSTEM IMPORT WORD, ADR, ADDRESS, NEWPROCESS, TRANSFER;
9 FROM InOut IMPORT Write, WriteLn;
17 WorkSpace = ARRAY [0..WorkLength-1] OF WORD;
20 NbLeft, NbRight : INTEGER;
21 WSLeft, WSRight : WorkSpace;
22 Left, Right, Main : ADDRESS;
26 WHILE NbLeft < MaxShoes DO
29 IF (NbLeft-NbRight>=MaxDif) OR (NbLeft>=MaxShoes) THEN
38 WHILE NbRight < MaxShoes DO
41 IF (NbRight-NbLeft>=MaxDif) OR (NbRight>=MaxShoes) THEN
51 NEWPROCESS(Leftp,ADR(WSLeft),SIZE(WSLeft),Left);
52 NEWPROCESS(Rightp,ADR(WSRight),SIZE(WSRight),Right);