()
| 48 | } |
| 49 | |
| 50 | func (l *lexer) next() (rune rune) { |
| 51 | if l.pos >= len(l.input) { |
| 52 | l.width = 0 |
| 53 | return eof |
| 54 | } |
| 55 | rune, l.width = utf8.DecodeRuneInString(l.input[l.pos:]) |
| 56 | l.pos += l.width |
| 57 | return rune |
| 58 | } |
| 59 | |
| 60 | func (l *lexer) backup() { |
| 61 | l.pos -= l.width |