| 403 | } |
| 404 | |
| 405 | static inline void SkipQuoted(const char quote, const TStringBuf& exp, size_t& i) { |
| 406 | Y_ASSERT(i >= 1); |
| 407 | if (quote != exp[i - 1]) { |
| 408 | return; |
| 409 | } |
| 410 | bool quoteFound = false; |
| 411 | Y_ENSURE(i >= 1, "CalcExpression error: Opening quote not found. "); |
| 412 | |
| 413 | i--; |
| 414 | for (; i > 0; --i) { |
| 415 | if (quote == exp[i - 1]) { |
| 416 | quoteFound = true; |
| 417 | break; |
| 418 | } |
| 419 | } |
| 420 | Y_ENSURE(quoteFound, "CalcExpression error: Opening quote not found. "); |
| 421 | } |
| 422 | |
| 423 | void TExpressionImpl::GetTokensWithSuffix(const TString& suffix, TVector<TString>& tokens) const { |
| 424 | tokens.clear(); |