func (l *lexer) next() rune {
	if int(l.pos) >= len(l.input) {
		l.width = 0
		return eof
	}
	r, w := utf8.DecodeRuneInString(l.input[l.pos:])
	l.width = Pos(w)
	l.pos += l.width
	return r
}
func (l *lexer) next() rune {
	if int(l.pos) >= len(l.input) {
		l.width = 0
		return eof
	}
	r, w := utf8.DecodeRuneInString(l.input[l.pos:])
	l.width = Pos(w)
	l.pos += l.width
	return r
}
func ( l * lexer ) next ( ) rune { if int ( l . pos ) >= len ( l . input ) { l . width = 0 return eof } r , w := utf8 . DecodeRuneInString ( l . input [ l . pos : ] ) l . width = Pos ( w ) l . pos += l . width return r }
// next returns the next rune in the input.
next returns the next rune in the input .