code: func (s *Scanner) scanDigits(ch rune, base, n int) rune {
  	for n > 0 && digitVal(ch) < base {
  		ch = s.next()
  		n--
  	}
  	if n > 0 {
  		s.err("illegal char escape")
  	}
  
  	// we scanned all digits, put the last non digit char back
  	s.unread()
  	return ch
  }
docs: // scanDigits scans a rune with the given base for n times. For example an
  // octal notation \184 would yield in scanDigits(ch, 8, 3)