anchor.diff:      Char: array [0..3] of AnsiChar;
     end;
   
  +const
  +  CONVERTABLE_TOKENS_TO_STR = [tkLess..tkClosingBracket, tkComma];
  +
     procedure GetChar(APos: PAnsiChar; out AChar: TUTF8Char);
     begin
       AChar.Length := UTF8CharacterLength(APos);
  
positive.code:       raise Exception.Create('Unexpected char in expression');
      end;
  
      if LPrevToken in [tkClosingBracket, tkClosingParenthesis] then
        raise Exception.Create('Invaild expression (char detected after closing bracket)');
  
  
negative.code:   TVisualGridSearchParser = class
    public
      class procedure Parse(const AExpression: utf8string;
        AExpressionKind: TExpressionKind; out AExpressionRecord: TExpressionRecord); overload;
      class function Parse(const AExpression: utf8string): TExpressionRecord; overload;
    end;
  
  