6 #define YY_USER_ACTION \
7 yylloc.first_line = yylloc.last_line; \
8 yylloc.first_column = yylloc.last_column; \
9 for(int i = 0; yytext[i] != '\0'; i++) { \
10 if(yytext[i] == '\n') { \
12 yylloc.last_column = 0; \
15 yylloc.last_column++; \
30 true { yylval.expr = expr_bool(true); return BOOL; }
31 false { yylval.expr = expr_bool(false); return BOOL; }
61 '([^']|\\[abtnvfr]|\\x[0-9a-fA-F]{2})' {
62 yylval.expr = expr_char(yytext); return CHAR; }
64 yylval.expr = expr_int(atoi(yytext)); return INTEGER; }
65 [_a-zA-Z][_a-zA-Z0-9]* {
66 yylval.ident = safe_strdup(yytext); return IDENT; }