Ignore:
Timestamp:
Jun 27, 2023, 10:09:21 AM (17 months ago)
Author:
chronos
Message:
  • Modified: Improved function var parameter handling.
  • Modified: Code cleanup.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/xpascal/Parsers/ParserPascal.pas

    r233 r235  
    4444implementation
    4545
     46resourcestring
     47  SExpectedFunctionParameter = 'Expected function parameter.';
     48  SExpectedProcedureParameter = 'Expected procedure parameter.';
     49  SFunctionParameterMismatch = 'Function parameter mismatch.';
     50  SUnexpectedToken = 'Unexpected token %s';
     51
    4652function TParserPascal.ParseBeginEnd(Block: TBlock; out BeginEnd: TBeginEnd): Boolean;
    4753var
     
    5763        Tokenizer.Expect(';', tkSpecialSymbol);
    5864      end else begin
    59         Error('Unexpected token ' + Tokenizer.GetNext.Text);
     65        Error(Format(SUnexpectedToken, [Tokenizer.GetNext.Text]));
    6066        Result := False;
    6167        Break;
     
    8894            if Expression.GetType = TFunctionParameter(FunctionDef.Params[I]).TypeRef then
    8995              FunctionCall.Params.Add(Expression)
    90               else Error('Function parameter mismatch.');
    91           end else Error('Expected function parameter.');
     96              else Error(SFunctionParameterMismatch);
     97          end else Error(SExpectedFunctionParameter);
    9298        end;
    9399        Tokenizer.Expect(')', tkSpecialSymbol);
     
    126132            if Expression.GetType = TFunctionParameter(ProcedureDef.Params[I]).TypeRef then
    127133              ProcedureCall.Params.Add(Expression)
    128               else Error('Function parameter mismatch.');
    129           end else Error('Expected procedure parameter.');
     134              else Error(SFunctionParameterMismatch);
     135          end else Error(SExpectedProcedureParameter);
    130136        end;
    131137        Tokenizer.Expect(')', tkSpecialSymbol);
     
    396402      if ParseFunctionParameter(Block, FunctionParameter) then begin
    397403        Params.Add(FunctionParameter);
    398       end else Error('Expected function parameter.');
     404      end else Error(SExpectedFunctionParameter);
    399405    end;
    400406    Tokenizer.Expect(')', tkSpecialSymbol);
Note: See TracChangeset for help on using the changeset viewer.