diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2014-03-17 22:02:34 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2014-03-17 22:02:34 +0100 |
commit | 5889f942b802a25e07b49b48bf968061c4c2ef97 (patch) | |
tree | 22b67d09d282c28ab2d68ab28b0aecf439d715ae | |
parent | 91569105085ac7d1d3a1f5fc0f1adec83c81413b (diff) | |
download | gmrf-5889f942b802a25e07b49b48bf968061c4c2ef97.tar gmrf-5889f942b802a25e07b49b48bf968061c4c2ef97.zip |
lex: fix parsing of addresses not starting with a decimal digit
-rw-r--r-- | mmss/lex.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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); |