All pastes #454574 Raw Edit

Something

public text v1 · immutable
·published 2007-04-23 18:12 UTC
rendered paste body
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;