$c+
module test9_3
{ semantic test of forall}
private
integer range[1..5] x;
integer i;
begin
forall i -> read i; write i; llarof; { error Range required. }
forall x -> llarof; { parse error. May report as more than 1 error.}
end. { 2 errors}

{ Your compiler should only report one error for the first forall.
-- It may report more than one for the second, but this isn't under
-- your control as it is a parse error, not a semantic error. 
-- If you get no errors on the second forall you have a grammar problem.}
