X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/489e97ede850a8de01ca3bd653dce9c25dcd54a1..ff9fae99fb73d2b2176f1f9a902535edc70de54a:/src/lexer.l diff --git a/src/lexer.l b/src/lexer.l index aa9b6d2..b48e818 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -31,7 +31,13 @@ #include "util.h" static int parenth_depth = 0; -static int before_comment = INITIAL; +static int before_comment +/* New flex is on drugs */ +#if defined(FLEX_SCANNER) && ! defined(INITIAL) + = 0; +#else + = INITIAL; +#endif static gboolean class_after_c = FALSE; static int code_type = CCODE; static int before_string; @@ -230,7 +236,7 @@ REJECT; BEGIN(CLASS_CODE_I); add_gtk_doc_func(); } -^[ \t]*\*\ { +^[ \t]*\*[ \t] { fflush(stdout); add_to_cbuf(" * "); BEGIN(GTK_DOC_LINE); @@ -532,6 +538,15 @@ flags { return FLAGS; } yylval.id = g_strdup(yytext); return NUMBER; } +[A-Za-z_][A-Za-z0-9_]*(::[A-Za-z0-9_]*)+ { + /* This is cpp kind of token thingie */ + if (for_cpp) { + yylval.id = g_strdup(yytext); + return TOKEN; + } else { + REJECT; + } + } [A-Za-z_][A-Za-z0-9_]*(:[A-Za-z0-9_]*)+ { /* this one is for a classname with a namespace */ yylval.id = g_strdup(yytext); @@ -584,14 +599,3 @@ flags { return FLAGS; } <*>[\n\r] ; /*ignore*/ %% - -/* Ugly warning avoiding */ -#ifdef FLEX_SCANNER -static void warning_avoider(void) G_GNUC_UNUSED; -static void warning_avoider(void) { - yy_flex_realloc(NULL, 0); - yyunput(0, NULL); - warning_avoider(); -} -#endif -