# This program tests lib/pret.s. procedure main() i := 0 while i < 5 do { write(expression()) i +:= 1 } end procedure expression() return case ?3 of { 1 : term() 2 : term() 3 : term() || "+" || expression() } end procedure term() return case ?2 of { 1 : element() 2 : element() || "*" || term() } end procedure element() return case ?4 of { 1 : "x" 2 : "y" 3 : "z" 4 : "(" || expression() || ")" } end