summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mmss/lex.cpp6
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);