X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-lexer.l;h=3e53febda86288298d43485d6708258ab62d32e8;hb=3e11b713fa76482be45bff5b067cfab5ab6e9be1;hp=5291d2cc442f98682dff200c56c61de399d432ba;hpb=609bd1bf5e7d2dd8925281f4494a968d72ed9c14;p=babeltrace.git diff --git a/formats/ctf/metadata/ctf-lexer.l b/formats/ctf/metadata/ctf-lexer.l index 5291d2cc..3e53febd 100644 --- a/formats/ctf/metadata/ctf-lexer.l +++ b/formats/ctf/metadata/ctf-lexer.l @@ -29,8 +29,7 @@ static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) __attribute__((unused)); static int input (yyscan_t yyscanner) __attribute__((unused)); -#define printf_dbg(fmt, args...) fprintf(stderr, "%s: " fmt, __func__, args) -#define printf_dbg_noarg(fmt) fprintf(stderr, "%s: " fmt, __func__) +#define printf_dbg(fmt, args...) fprintf(stderr, "%s: " fmt, __func__, ##args) %} @@ -74,7 +73,7 @@ L\" BEGIN(string_lit); return STRING_LITERAL_START; ESCSEQ return ESCSEQ; \n ; /* ignore */ -. return CHAR_STRING_TOKEN; +. setstring(yyextra, yylval, yytext); return CHAR_STRING_TOKEN; "[" return LSBRAC; "]" return RSBRAC; @@ -95,33 +94,33 @@ L\" BEGIN(string_lit); return STRING_LITERAL_START; "." return DOT; = return EQUAL; "," return COMMA; -const return CONST; -char return CHAR; -double return DOUBLE; -enum return ENUM; -event return EVENT; -floating_point return FLOATING_POINT; -float return FLOAT; -integer return INTEGER; -int return INT; -long return LONG; -short return SHORT; -signed return SIGNED; -stream return STREAM; -string return STRING; -struct return STRUCT; -trace return TRACE; -typealias return TYPEALIAS; -typedef return TYPEDEF; -unsigned return UNSIGNED; -variant return VARIANT; -void return VOID; -_Bool return _BOOL; -_Complex return _COMPLEX; -_Imaginary return _IMAGINARY; -[1-9]{DIGIT}*{INTEGER_SUFFIX}? return DECIMAL_CONSTANT; -0{OCTALDIGIT}*{INTEGER_SUFFIX}? return OCTAL_CONSTANT; -0[xX]{HEXDIGIT}+{INTEGER_SUFFIX}? return HEXADECIMAL_CONSTANT; +const setstring(yyextra, yylval, yytext); return CONST; +char setstring(yyextra, yylval, yytext); return CHAR; +double setstring(yyextra, yylval, yytext); return DOUBLE; +enum setstring(yyextra, yylval, yytext); return ENUM; +event setstring(yyextra, yylval, yytext); return EVENT; +floating_point setstring(yyextra, yylval, yytext); return FLOATING_POINT; +float setstring(yyextra, yylval, yytext); return FLOAT; +integer setstring(yyextra, yylval, yytext); return INTEGER; +int setstring(yyextra, yylval, yytext); return INT; +long setstring(yyextra, yylval, yytext); return LONG; +short setstring(yyextra, yylval, yytext); return SHORT; +signed setstring(yyextra, yylval, yytext); return SIGNED; +stream setstring(yyextra, yylval, yytext); return STREAM; +string setstring(yyextra, yylval, yytext); return STRING; +struct setstring(yyextra, yylval, yytext); return STRUCT; +trace setstring(yyextra, yylval, yytext); return TRACE; +typealias setstring(yyextra, yylval, yytext); return TYPEALIAS; +typedef setstring(yyextra, yylval, yytext); return TYPEDEF; +unsigned setstring(yyextra, yylval, yytext); return UNSIGNED; +variant setstring(yyextra, yylval, yytext); return VARIANT; +void setstring(yyextra, yylval, yytext); return VOID; +_Bool setstring(yyextra, yylval, yytext); return _BOOL; +_Complex setstring(yyextra, yylval, yytext); return _COMPLEX; +_Imaginary setstring(yyextra, yylval, yytext); return _IMAGINARY; +[1-9]{DIGIT}*{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return DECIMAL_CONSTANT; +0{OCTALDIGIT}*{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return OCTAL_CONSTANT; +0[xX]{HEXDIGIT}+{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return HEXADECIMAL_CONSTANT; {IDENTIFIER} printf_dbg("\n", yytext); setstring(yyextra, yylval, yytext); if (is_type(yyextra, yytext)) return ID_TYPE; else return IDENTIFIER; [ \t\n]+ ; /* ignore */ . return ERROR;