# 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