procedure Expression; procedure Term; procedure Factor; begin if Token = _lparen then begin Take(_lparen); Expression; Take(_rparen) end else if Token = _number then NextToken else Error(1) end; begin Factor; while Token in [_mul, _div] do begin NextToken; Factor end end; begin Term; while Token in [_plus, _minus] do begin NextToken; Factor end end;