From 5889f942b802a25e07b49b48bf968061c4c2ef97 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 17 Mar 2014 22:02:34 +0100 Subject: lex: fix parsing of addresses not starting with a decimal digit --- mmss/lex.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mmss/lex.cpp b/mmss/lex.cpp index 0ef205e..3eb6e24 100644 --- a/mmss/lex.cpp +++ b/mmss/lex.cpp @@ -304,6 +304,9 @@ int lex_t::parse_keyword(YYSTYPE *yylval, YYLTYPE *yylloc) { while (next(yylloc, false)) { char cur = current(); + if (cur == ':') + return parse_address(yylval, yylloc); + if (!((cur >= 'a' && cur <= 'z') || (cur >= '0' && cur <= '9') || cur == '-')) break; } @@ -382,6 +385,9 @@ int lex_t::lex(YYSTYPE *yylval, YYLTYPE *yylloc) { case '0' ... '9': return parse_number(yylval, yylloc); + case 'A' ... 'F': + return parse_address(yylval, yylloc); + case 'a' ... 'z': return parse_keyword(yylval, yylloc); -- cgit v1.2.3