 
   public mutating func eatAlphaUnderlineDigit() -> Bool {
     return matchAlphaUnderlineDigit(true) != nil
-  }
-
-  public mutating func eatWhileAlphaUnderlineDigit() -> Bool {
-    return matchWhileAlphaUnderlineDigit(true) >= 0
   }
 
   // A-Z a-z _ 0-9


  public mutating func eatAlphaUnderline() -> Bool {
    return matchAlphaUnderline(true) >= 0
  }

  public mutating func eatWhileAlphaUnderline() -> Bool {
    return matchWhileAlphaUnderline(true) >= 0
  }

  // A-Z a-z _

      i += 1
    }
    if i > savei {
      if consume {
        currentIndex = i
      }
      return i - savei
    }
    return -1
  }

  public mutating func eatHexa() -> Bool {
    return matchHexa(true) != nil
  }

  // A-F a-f 0-9
  public mutating func matchHexa(consume: Bool = false) -> UInt8? {
    let i = currentIndex
    if i < lineEndIndex {
      let c = _bytes[i] // A-F a-f 0-9
      if (c >= 65 && c <= 70) || (c >= 97 && c <= 102) ||
          (c >= 48 && c <= 57) {
        if consume {
          currentIndex = i + 1
        }
        return c
      }
    }
    return nil
  }

  public mutating func eatWhileHexa() -> Bool {
    return matchWhileHexa(true) >= 0
  }

  public mutating func matchWhileHexa(consume: Bool = false) -> Int {
    var i = currentIndex
    let len = lineEndIndex
    let savei = i
    while i < len {
      let c = _bytes[i]
      if (c >= 65 && c <= 70) || (c >= 97 && c <= 102) ||
