code: func (l *lexerContext) split() []token {
  	result := make([]token, 0, 16)
  	for !l.finished() {
  		result = append(result, l.nextToken())
  	}
  	return result
  }
docs: // split splits the Lexer's string into a slice of Tokens.