#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;
#define GTK_DOC_LINE 10
-#line 1016 "lexer.c"
+#line 1022 "lexer.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp = NULL, *yy_bp = NULL;
register int yy_act;
-#line 109 "lexer.l"
+#line 115 "lexer.l"
-#line 1181 "lexer.c"
+#line 1187 "lexer.c"
if ( yy_init )
{
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
-#line 119 "lexer.l"
+#line 125 "lexer.l"
{ line_no++; REJECT; }
YY_BREAK
case 2:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 121 "lexer.l"
+#line 127 "lexer.l"
{
/* Thy evil easter egg */
#define QQ(x) long x
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 143 "lexer.l"
+#line 149 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 145 "lexer.l"
+#line 151 "lexer.l"
{
char *p;
char *number;
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 182 "lexer.l"
+#line 188 "lexer.l"
{
if(look_for_includes==1) {
char *p;
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 199 "lexer.l"
+#line 205 "lexer.l"
{
/* eat out gtk doc stuff */
BEGIN(GTK_DOC_BEFORE_NAME);
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 210 "lexer.l"
{
/* empty doc lines */
;
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 208 "lexer.l"
+#line 214 "lexer.l"
{
char *p;
BEGIN(GTK_DOC);
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 218 "lexer.l"
+#line 224 "lexer.l"
{
BEGIN(CLASS_CODE_I);
}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 221 "lexer.l"
+#line 227 "lexer.l"
{
BEGIN(COMMENT);
before_comment = CLASS_CODE_I;
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 225 "lexer.l"
+#line 231 "lexer.l"
{
/* empty doc lines */
add_to_cbuf(" *\n");
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 235 "lexer.l"
{
BEGIN(CLASS_CODE_I);
add_gtk_doc_func();
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 239 "lexer.l"
{
fflush(stdout);
add_to_cbuf(" * ");
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 244 "lexer.l"
{
BEGIN(CLASS_CODE_I);
}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 247 "lexer.l"
{
BEGIN(COMMENT);
before_comment = CLASS_CODE_I;
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 245 "lexer.l"
+#line 251 "lexer.l"
{
BEGIN(CLASS_CODE_I);
add_to_cbuf("\n");
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 250 "lexer.l"
+#line 256 "lexer.l"
{
BEGIN(GTK_DOC);
add_to_cbuf(yytext);
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 255 "lexer.l"
+#line 261 "lexer.l"
{
fflush(stdout);
add_to_cbuf(yytext);
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 260 "lexer.l"
+#line 266 "lexer.l"
{ add_to_cbuf(yytext); /*comment, ignore*/ }
YY_BREAK
case 20:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 261 "lexer.l"
+#line 267 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
case 21:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 262 "lexer.l"
+#line 268 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
case 22:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 263 "lexer.l"
+#line 269 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 264 "lexer.l"
+#line 270 "lexer.l"
{BEGIN(COMMENT); before_comment = INITIAL; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 265 "lexer.l"
+#line 271 "lexer.l"
{
add_to_cbuf(yytext);
BEGIN(COMMENT);
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 270 "lexer.l"
+#line 276 "lexer.l"
{BEGIN(COMMENT); before_comment = CLASS_CODE; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 271 "lexer.l"
+#line 277 "lexer.l"
{BEGIN(COMMENT); before_comment = CLASS_CODE_I; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 272 "lexer.l"
+#line 278 "lexer.l"
{BEGIN(COMMENT); before_comment = PROPERTY_CODE_I; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 279 "lexer.l"
{
if(before_comment == C_CODE) add_to_cbuf(yytext);
BEGIN(before_comment);
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 277 "lexer.l"
+#line 283 "lexer.l"
{
/* comment, ignore */
if(before_comment == C_CODE) add_to_cbuf(yytext);
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 281 "lexer.l"
+#line 287 "lexer.l"
{
/* comment, ignore */
if(before_comment == C_CODE) add_to_cbuf(yytext);
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 286 "lexer.l"
+#line 292 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 294 "lexer.l"
+#line 300 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 303 "lexer.l"
+#line 309 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 311 "lexer.l"
+#line 317 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 319 "lexer.l"
+#line 325 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 327 "lexer.l"
+#line 333 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 337 "lexer.l"
+#line 343 "lexer.l"
{
BEGIN(INITIAL);
yylval.cbuf = cbuf;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 346 "lexer.l"
+#line 352 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 347 "lexer.l"
+#line 353 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 348 "lexer.l"
+#line 354 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 349 "lexer.l"
+#line 355 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 350 "lexer.l"
+#line 356 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 351 "lexer.l"
+#line 357 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 353 "lexer.l"
+#line 359 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 356 "lexer.l"
+#line 362 "lexer.l"
{
BEGIN(CODE_STRING);
before_string = C_CODE;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 361 "lexer.l"
+#line 367 "lexer.l"
{
BEGIN(CODE_STRING);
before_string = PROPERTY_CODE_I;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 366 "lexer.l"
+#line 372 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 367 "lexer.l"
+#line 373 "lexer.l"
{
BEGIN(before_string);
add_to_cbuf(yytext);
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 377 "lexer.l"
+#line 383 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 378 "lexer.l"
+#line 384 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 380 "lexer.l"
+#line 386 "lexer.l"
{
parenth_depth++;
add_to_cbuf(yytext);
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 384 "lexer.l"
+#line 390 "lexer.l"
{
parenth_depth--;
if(parenth_depth<0) {
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 397 "lexer.l"
+#line 403 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 398 "lexer.l"
+#line 404 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 400 "lexer.l"
+#line 406 "lexer.l"
{
static int found_classes = 0;
look_for_includes = 2;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 413 "lexer.l"
+#line 419 "lexer.l"
{ return ERROR; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 414 "lexer.l"
+#line 420 "lexer.l"
{ return ENUM; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 415 "lexer.l"
+#line 421 "lexer.l"
{ return FLAGS; }
YY_BREAK
case 59:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 417 "lexer.l"
+#line 423 "lexer.l"
{
int maj = 0, min = 0, pl = 0;
int rmaj = 0, rmin = 0, rpl = 0;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 458 "lexer.l"
+#line 464 "lexer.l"
{
if(for_cpp) {
error_printf(GOB_WARN, line_no,
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 468 "lexer.l"
+#line 474 "lexer.l"
{return FROM;}
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 470 "lexer.l"
+#line 476 "lexer.l"
{return VOID;}
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 471 "lexer.l"
+#line 477 "lexer.l"
{return STRUCT;}
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 472 "lexer.l"
+#line 478 "lexer.l"
{return UNION;}
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 473 "lexer.l"
+#line 479 "lexer.l"
{return ENUM;}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 474 "lexer.l"
+#line 480 "lexer.l"
{return SIGNED;}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 475 "lexer.l"
+#line 481 "lexer.l"
{return UNSIGNED;}
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 476 "lexer.l"
+#line 482 "lexer.l"
{return LONG;}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 477 "lexer.l"
+#line 483 "lexer.l"
{return SHORT;}
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 478 "lexer.l"
+#line 484 "lexer.l"
{return INT;}
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 479 "lexer.l"
+#line 485 "lexer.l"
{return FLOAT;}
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 480 "lexer.l"
+#line 486 "lexer.l"
{return DOUBLE;}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 481 "lexer.l"
+#line 487 "lexer.l"
{return CHAR;}
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 482 "lexer.l"
+#line 488 "lexer.l"
{return CONST;}
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 484 "lexer.l"
+#line 490 "lexer.l"
{return THREEDOTS;}
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 486 "lexer.l"
+#line 492 "lexer.l"
{yylval.line = line_no; return PUBLIC;}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 487 "lexer.l"
+#line 493 "lexer.l"
{yylval.line = line_no; return PRIVATE;}
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 488 "lexer.l"
+#line 494 "lexer.l"
{yylval.line = line_no; return PROTECTED;}
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 489 "lexer.l"
+#line 495 "lexer.l"
{yylval.line = line_no; return CLASSWIDE;}
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 490 "lexer.l"
+#line 496 "lexer.l"
{yylval.line = line_no; return ARGUMENT;}
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 491 "lexer.l"
+#line 497 "lexer.l"
{yylval.line = line_no; return VIRTUAL;}
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 492 "lexer.l"
+#line 498 "lexer.l"
{yylval.line = line_no; return SIGNAL;}
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 493 "lexer.l"
+#line 499 "lexer.l"
{yylval.line = line_no; return OVERRIDE;}
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 494 "lexer.l"
+#line 500 "lexer.l"
{
yylval.line = line_no;
BEGIN(PROPERTY_CODE);
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 499 "lexer.l"
+#line 505 "lexer.l"
{ yylval.line = line_no; return NICK; }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 500 "lexer.l"
+#line 506 "lexer.l"
{ yylval.line = line_no; return BLURB; }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 501 "lexer.l"
+#line 507 "lexer.l"
{ yylval.line = line_no; return MAXIMUM; }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 502 "lexer.l"
+#line 508 "lexer.l"
{ yylval.line = line_no; return MINIMUM; }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 503 "lexer.l"
+#line 509 "lexer.l"
{ yylval.line = line_no; return DEFAULT_VALUE; }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 504 "lexer.l"
+#line 510 "lexer.l"
{ yylval.line = line_no; return FLAGS; }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 505 "lexer.l"
+#line 511 "lexer.l"
{ yylval.line = line_no; return TYPE; }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 506 "lexer.l"
+#line 512 "lexer.l"
{ yylval.line = line_no; return FLAGS_TYPE; }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 507 "lexer.l"
+#line 513 "lexer.l"
{ yylval.line = line_no; return ENUM_TYPE; }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 508 "lexer.l"
+#line 514 "lexer.l"
{ yylval.line = line_no; return PARAM_TYPE; }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 509 "lexer.l"
+#line 515 "lexer.l"
{ yylval.line = line_no; return BOXED_TYPE; }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 510 "lexer.l"
+#line 516 "lexer.l"
{ yylval.line = line_no; return OBJECT_TYPE; }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 511 "lexer.l"
+#line 517 "lexer.l"
{
yylval.line = line_no;
property_paren_depth = 1;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 517 "lexer.l"
+#line 523 "lexer.l"
{
yylval.line = line_no;
property_paren_depth++;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 522 "lexer.l"
+#line 528 "lexer.l"
{
yylval.line = line_no;
property_paren_depth--;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 531 "lexer.l"
+#line 537 "lexer.l"
{
yylval.id = g_strdup(yytext);
return NUMBER;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 535 "lexer.l"
+#line 541 "lexer.l"
{
/* This is cpp kind of token thingie */
if (for_cpp) {
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 544 "lexer.l"
+#line 550 "lexer.l"
{
/* this one is for a classname with a namespace */
yylval.id = g_strdup(yytext);
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 549 "lexer.l"
+#line 555 "lexer.l"
{
/* this is for a classname with an empty namespace */
yylval.id = g_strdup(yytext);
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 554 "lexer.l"
+#line 560 "lexer.l"
{
yylval.id = g_strdup(yytext);
return TOKEN;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 558 "lexer.l"
+#line 564 "lexer.l"
{
yylval.id = g_strdup(yytext);
return SINGLE_CHAR;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 563 "lexer.l"
+#line 569 "lexer.l"
{
yylval.id = g_strdup(yytext);
return ARRAY_DIM;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 568 "lexer.l"
+#line 574 "lexer.l"
{
BEGIN(CLASS_CODE_I);
return '{';
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 572 "lexer.l"
+#line 578 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth=1;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 581 "lexer.l"
+#line 587 "lexer.l"
{
BEGIN(INITIAL);
return '}';
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 586 "lexer.l"
+#line 592 "lexer.l"
; /*ignore*/
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 588 "lexer.l"
+#line 594 "lexer.l"
{
yylval.line = line_no;
return yytext[0];
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 593 "lexer.l"
+#line 599 "lexer.l"
; /*ignore*/
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 595 "lexer.l"
+#line 601 "lexer.l"
ECHO;
YY_BREAK
-#line 2202 "lexer.c"
+#line 2208 "lexer.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(C_CODE):
#endif /* ifndef YY_NO_UNPUT */
+#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput()
#else
return c;
}
-
+#endif /* YY_NO_INPUT */
#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
return 0;
}
#endif
-#line 595 "lexer.l"
-
-
-/* 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
+#line 601 "lexer.l"