anchor.diff:  implementation
   
   uses
  -  StrUtils;
  +  StrUtils
  +  {$ifdef USESTRINGCACHE}, SimpleParser.StringCache{$endif};
   
   type
     TmwPasLexExpressionEvaluation = (leeNone, leeAnd, leeOr);
  
positive.code: 
    New(FBuffer);
    FillChar(FBuffer^, SizeOf(TBufferRec), 0);
  end;
  
  destructor TmwBasePasLex.Destroy;
  begin
    if not FBuffer.SharedBuffer then
      FreeMem(FBuffer.Buf);
  
  
negative.code: 
  function TmwBasePasLex.GetToken: string;
  begin
    {$ifdef USESTRINGCACHE}
      Result := TStringCache.Instance.AddAndGet(FBuffer.Buf + FTokenPos, GetTokenLen);
    {$else}
      SetString(Result, (FBuffer.Buf + FTokenPos), GetTokenLen);
    {$endif}
  end;
  
  function TmwBasePasLex.GetTokenLen: Integer;
  