diff options
Diffstat (limited to 'tools/d2c/args/tokens.l')
-rw-r--r-- | tools/d2c/args/tokens.l | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/d2c/args/tokens.l b/tools/d2c/args/tokens.l index 4b1a2a1..2a4ffb2 100644 --- a/tools/d2c/args/tokens.l +++ b/tools/d2c/args/tokens.l @@ -51,12 +51,19 @@ <binval>[01][01]* { yylvalp->string = strdup(yytext); return BINVAL; } <binval>"'" { yy_pop_state(); } +\"[^\"]*\" { yylvalp->string = strndup(yytext + 1, strlen(yytext) - 2); printf("str = '%s'\n", yylvalp->string); return STRING; } + "0x" { yy_push_state(hexval); } <hexval>[0-9a-f][0-9a-f]* { yylvalp->string = strdup(yytext); yy_pop_state(); return HEXVAL; } "," { return COMMA; } ":" { return COLON; } "&" { return AND_LOG; } +"==" { return EQ; } +"!=" { return NE; } + +"&&" { return AND_BOOL; } +"||" { return OR_BOOL; } "(" { yy_push_state(INITIAL); return OP; } ")" { yy_pop_state(); return CP; } |