From 0fc165454187328dad475f472c31d2a98524fd4f Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 31 Mar 2015 20:53:11 +0200 Subject: Accept .1 --- lexer.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lexer.go b/lexer.go index a9938c5..329d97e 100644 --- a/lexer.go +++ b/lexer.go @@ -94,8 +94,12 @@ func (y *yyLex) run() { y.ignore() case QUOTE: y.lexQuoted() - case DIGIT, NEG: - y.lexNumber() + case DIGIT, NEG, DOT: + if t == DOT && Tokens[y.peek()] != DIGIT { + y.emit(t) + } else { + y.lexNumber() + } case CHAR: y.lexString() default: @@ -140,6 +144,7 @@ func (y *yyLex) lexString() { func (y *yyLex) lexNumber() { t := INTEGER + y.backup() y.acceptToken(NEG) y.acceptDigits() if y.acceptToken(DOT) { -- cgit v1.2.3