anchor.diff:                end;
               ekNum:
                 if not (LPrevToken in NUM_OPERATORS) then
  -                raise Exception.Create('Bad numeric expression')
  +                raise EVisualGridParserException.Create('Bad numeric expression')
                 else
                 begin
                   while c^ in [#1..#32] do Inc(c);
  
positive.code:       tkOpeningBracket, tkOpeningParenthesis: AExpressionKind:=ekSet;
        tkLess..tkGreaterOrEqual, tkNum: AExpressionKind:=ekNum;
      else
        raise Exception.Create('Unexpected char in expression');
      end;
  
      // text mode is special so part of tokens are used as normal characters
  
negative.code:   begin
      Inc(LValueIdx);
      if LValueIdx > MAX_VALUES - 1 then
        raise EVisualGridParserException.Create('Too many values');
      LValue := @LValues[LValueIdx];
    end;
  
  