anchor.diff:    RPS_TooManyNestedInclude = 'Too many nested include files while processing ''%s'' from ''%s''';
     RPS_IncludeNotFound = 'Unable to find file ''%s'' used from ''%s''';
     RPS_DefineTooManyParameters = 'Too many parameters at %d:%d';
  -  RPS_NoIfdefForEndif = 'No IFDEF for ENDIF at %d:%d';
  -  RPS_NoIfdefForElse = 'No IFDEF for ELSE at %d:%d';
  -  RPS_ElseTwice = 'Can''t use ELSE twice at %d:%d';
  -  RPS_UnknownCompilerDirective = 'Unknown compiler directives at %d:%d';
  +  RPS_NoIfdefForEndif = 'No IFDEF for ENDIF in ''%s'' at %d:%d';
  +  RPS_NoIfdefForElse = 'No IFDEF for ELSE in ''%s'' at %d:%d';
  +  RPS_ElseTwice = 'Can''t use ELSE twice in ''%s'' at %d:%d';
  +  RPS_UnknownCompilerDirective = 'Unknown compiler directives in ''%s'' at %d:%d';
     RPs_DefineNotClosed = 'Define not closed';
   
   { TPSLineInfoList }
  
positive.code:             If AppContinue then
              //-- end jgv
            
                raise EPSPreProcessor.CreateFmt(RPS_UnknownCompilerDirective, [Parser.Row, Parser.Col]);
            end;
        end;
  
  
negative.code:           begin
              if FDefineState.DoWrite then
              begin
                if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [ExtractFileName(FileName), Parser.Row, Parser.Col]);
                FCurrentDefines.Add(Uppercase(S));
              end;
            end else if (Name = 'UNDEF') then
            begin
              if FDefineState.DoWrite then
              begin
                if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [ExtractFileName(FileName), Parser.Row, Parser.Col]);
                i := FCurrentDefines.IndexOf(Uppercase(s));
                if i <> -1 then
                  FCurrentDefines.Delete(i);
              end;
            end else if (Name = 'IFDEF') then
            begin
              if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [ExtractFileName(FileName), Parser.Row, Parser.Col]);
              //JeromeWelsh - nesting fix
              ADoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) >= 0) and FDefineState.DoWrite;
              FDefineState.Add.DoWrite := ADoWrite;
            end else if (Name = 'IFNDEF') then
            begin
              if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [ExtractFileName(FileName), Parser.Row, Parser.Col]);
              //JeromeWelsh - nesting fix
              ADoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) < 0) and FDefineState.DoWrite;
              FDefineState.Add.DoWrite := ADoWrite;
  