src/main/java/org/mvel2/compiler/AbstractParser.java
protected void captureToEOT() {
    skipWhitespace();
    do {
      switch (expr[cursor]) {
        case '(':
        case '[':
        case '{':
          if ((cursor = balancedCaptureWithLineAccounting(expr, cursor, end, expr[cursor], pCtx)) == -1) {
            throw new CompileException("unbalanced braces", expr, cursor);
          }
          break;

        case '*':
        case '/':
        case '+':
        case '%':
        case ',':
        case '=':
        case '&':
        case '|':
        case ';':
          return;

        case '.':
          // Skip spaces after dot but do not consume following character
          ++cursor;
          skipWhitespace();
          --cursor;
          break;

        case '\'':
          cursor = captureStringLiteral('\'', expr, cursor, end);
          break;
        case '"':
          cursor = captureStringLiteral('"', expr, cursor, end);
          break;

        default:
          if (isWhitespace(expr[cursor])) {
            skipWhitespace();

            if (cursor < end && expr[cursor] == '.') {
              if (cursor != end) cursor++;
              skipWhitespace();
              break;
            }
            else {
              trimWhitespace();
              return;
            }
          }
      }
    }
    while (++cursor < end);
  }
/**
   * From the current cursor position, capture to the end of the current token.
   */
From the current cursor position, capture to the end of the current token.
From the current cursor position capture to the end of the current token .
protected void captureToEOT() {
    skipWhitespace();
    do {
      switch (expr[cursor]) {
        case '(':
        case '[':
        case '{':
          if ((cursor = balancedCaptureWithLineAccounting(expr, cursor, end, expr[cursor], pCtx)) == -1) {
            throw new CompileException("unbalanced braces", expr, cursor);
          }
          break;
        case '*':
        case '/':
        case '+':
        case '%':
        case ',':
        case '=':
        case '&':
        case '|':
        case ';':
          return;
        case '.':
          ++cursor;
          skipWhitespace();
          --cursor;
          break;
        case '\'':
          cursor = captureStringLiteral('\'', expr, cursor, end);
          break;
        case '"':
          cursor = captureStringLiteral('"', expr, cursor, end);
          break;
        default:
          if (isWhitespace(expr[cursor])) {
            skipWhitespace();
            if (cursor < end && expr[cursor] == '.') {
              if (cursor != end) cursor++;
              skipWhitespace();
              break;
            }
            else {
              trimWhitespace();
              return;
            }
          }
      }
    }
    while (++cursor < end);
  }
protected void captureToEOT ( ) { skipWhitespace ( ) ; do { switch ( expr [ cursor ] ) { case '(' : case '[' : case '{' : if ( ( cursor = balancedCaptureWithLineAccounting ( expr , cursor , end , expr [ cursor ] , pCtx ) ) == - 1 ) { throw new CompileException ( "unbalanced braces" , expr , cursor ) ; } break ; case '*' : case '/' : case '+' : case '%' : case ',' : case '=' : case '&' : case '|' : case ';' : return ; case '.' : ++ cursor ; skipWhitespace ( ) ; -- cursor ; break ; case '\'' : cursor = captureStringLiteral ( '\'' , expr , cursor , end ) ; break ; case '"' : cursor = captureStringLiteral ( '"' , expr , cursor , end ) ; break ; default : if ( isWhitespace ( expr [ cursor ] ) ) { skipWhitespace ( ) ; if ( cursor < end && expr [ cursor ] == '.' ) { if ( cursor != end ) cursor ++ ; skipWhitespace ( ) ; break ; } else { trimWhitespace ( ) ; return ; } } } } while ( ++ cursor < end ) ; }
From the current cursor position, capture to the end of the current token.
From the current cursor position capture to the end of the current token .
// Skip spaces after dot but do not consume following character