*/
#include <stdio.h>
+#include <babeltrace/babeltrace-internal.h>
#include "ctf-scanner.h"
#include "ctf-parser.h"
#include "ctf-ast.h"
__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__)
-
%}
%x comment_ml comment_sl string_lit char_const
<char_const,string_lit>ESCSEQ return ESCSEQ;
<char_const,string_lit>\n ; /* ignore */
-<char_const,string_lit>. return CHAR_STRING_TOKEN;
+<char_const,string_lit>. setstring(yyextra, yylval, yytext); return CHAR_STRING_TOKEN;
"[" return LSBRAC;
"]" return RSBRAC;
"." 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;
-{IDENTIFIER} printf_dbg("<IDENTIFIER %s>\n", yytext); setstring(yyextra, yylval, yytext); if (is_type(yyextra, yytext)) return ID_TYPE; else return IDENTIFIER;
+align setstring(yyextra, yylval, yytext); return TOK_ALIGN;
+const setstring(yyextra, yylval, yytext); return CONST;
+char setstring(yyextra, yylval, yytext); return CHAR;
+clock setstring(yyextra, yylval, yytext); return CLOCK;
+double setstring(yyextra, yylval, yytext); return DOUBLE;
+enum setstring(yyextra, yylval, yytext); return ENUM;
+env setstring(yyextra, yylval, yytext); return ENV;
+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_debug("<IDENTIFIER %s>\n", yytext); setstring(yyextra, yylval, yytext); if (is_type(yyextra, yytext)) return ID_TYPE; else return IDENTIFIER;
[ \t\n]+ ; /* ignore */
. return ERROR;
%%