func lexNumber(l *lexer) stateFn {
	if !l.scanNumber() {
		return l.errorf("bad number syntax: %q", l.input[l.start:l.pos])
	}
	l.emit(ItemNumber)
	return lexStatements
}
func lexNumber(l *lexer) stateFn {
	if !l.scanNumber() {
		return l.errorf("bad number syntax: %q", l.input[l.start:l.pos])
	}
	l.emit(ItemNumber)
	return lexStatements
}
func lexNumber ( l * lexer ) stateFn { if ! l . scanNumber ( ) { return l . errorf ( " " , l . input [ l . start : l . pos ] ) } l . emit ( ItemNumber ) return lexStatements }
// lexNumber scans a number: decimal, hex, oct or float.
lexNumber scans a number : decimal hex oct or float .