authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-07 04:00:05-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-07 04:00:05-07:00
logea69d6ecda8412cf47b85853c8645d453c826427
tree330940ce6f7aa05bdd6b4e32054f7f52fe105cc6
parenta3c97081ca37a6f78732c9a5f2244cef5a11cb07

tokenize: detect "..." after a number literal


1 files changed, 9 insertions(+), 0 deletions(-)

src/tokenizer.cpp+9
...@@ -816,6 +816,15 @@ void tokenize(Buf *buf, Tokenization *out) {...@@ -816,6 +816,15 @@ void tokenize(Buf *buf, Tokenization *out) {
816 case TokenizeStateNumber:816 case TokenizeStateNumber:
817 {817 {
818 if (c == '.') {818 if (c == '.') {
819 if (t.pos + 1 < buf_len(t.buf)) {
820 uint8_t next_c = buf_ptr(t.buf)[t.pos + 1];
821 if (next_c == '.') {
822 t.pos -= 1;
823 end_token(&t);
824 t.state = TokenizeStateStart;
825 continue;
826 }
827 }
819 t.cur_tok->decimal_point_pos = t.pos;828 t.cur_tok->decimal_point_pos = t.pos;
820 t.state = TokenizeStateFloatFraction;829 t.state = TokenizeStateFloatFraction;
821 break;830 break;