The following is a valid µOCCAM program that performs I/O. yascopes is yet another scope test that delcares a set of INT variables and messes about with them, outputting them to stdout at certain points, compare these printed values with the values you get for each scope by looking at the declarations in the file. Executing this file requires implementation of: variable declaration and scoping (not variable assignment at declaration however), channel output to stdout and variable assignment operations in code.
Program file:
/public/cs3/web/ipptests/yascopes.io
INT var1 : INT var2 : SEQ var1 := 1 var2 := 2 INT var1 : INT var3 : SEQ var1 := var2 var2 := 3 var3 := var1 stdout ! var1 stdout ! var2 stdout ! var3 stdout ! var1 stdout ! var2
When provided with this input:
/public/cs3/web/ipptests/yascopes.in
[an error occurred while processing this directive]
it should generate the following output:
/public/cs3/web/ipptests/yascopes.out
==> 2 ==> 3 ==> 2 ==> 1 ==> 2