00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
#define YYBISON 1
00038
00039
00040
#define YYSKELETON_NAME "yacc.c"
00041
00042
00043
#define YYPURE 0
00044
00045
00046
#define YYLSP_NEEDED 0
00047
00048
00049
00050
00051
#ifndef YYTOKENTYPE
00052
# define YYTOKENTYPE
00053
00054
00055
enum yytokentype {
00056 T_UNIMPORTANT = 258,
00057 T_CHARACTER_LITERAL = 259,
00058 T_DOUBLE_LITERAL = 260,
00059 T_IDENTIFIER = 261,
00060 T_INTEGER_LITERAL = 262,
00061 T_STRING_LITERAL = 263,
00062 T_INCLUDE = 264,
00063 T_CLASS = 265,
00064 T_STRUCT = 266,
00065 T_LEFT_CURLY_BRACKET = 267,
00066 T_LEFT_PARANTHESIS = 268,
00067 T_RIGHT_CURLY_BRACKET = 269,
00068 T_RIGHT_PARANTHESIS = 270,
00069 T_COLON = 271,
00070 T_SEMICOLON = 272,
00071 T_PUBLIC = 273,
00072 T_PROTECTED = 274,
00073 T_TRIPE_DOT = 275,
00074 T_PRIVATE = 276,
00075 T_VIRTUAL = 277,
00076 T_CONST = 278,
00077 T_INLINE = 279,
00078 T_FRIEND = 280,
00079 T_RETURN = 281,
00080 T_SIGNAL = 282,
00081 T_SLOT = 283,
00082 T_TYPEDEF = 284,
00083 T_PLUS = 285,
00084 T_MINUS = 286,
00085 T_COMMA = 287,
00086 T_ASTERISK = 288,
00087 T_TILDE = 289,
00088 T_LESS = 290,
00089 T_GREATER = 291,
00090 T_AMPERSAND = 292,
00091 T_EXTERN = 293,
00092 T_EXTERN_C = 294,
00093 T_ACCESS = 295,
00094 T_ENUM = 296,
00095 T_NAMESPACE = 297,
00096 T_USING = 298,
00097 T_UNKNOWN = 299,
00098 T_TRIPLE_DOT = 300,
00099 T_TRUE = 301,
00100 T_FALSE = 302,
00101 T_STATIC = 303,
00102 T_MUTABLE = 304,
00103 T_EQUAL = 305,
00104 T_SCOPE = 306,
00105 T_NULL = 307,
00106 T_INT = 308,
00107 T_ARRAY_OPEN = 309,
00108 T_ARRAY_CLOSE = 310,
00109 T_CHAR = 311,
00110 T_DCOP = 312,
00111 T_DCOP_AREA = 313,
00112 T_DCOP_SIGNAL_AREA = 314,
00113 T_SIGNED = 315,
00114 T_UNSIGNED = 316,
00115 T_LONG = 317,
00116 T_SHORT = 318,
00117 T_FUNOPERATOR = 319,
00118 T_MISCOPERATOR = 320,
00119 T_SHIFT = 321
00120 };
00121
#endif
00122
#define T_UNIMPORTANT 258
00123
#define T_CHARACTER_LITERAL 259
00124
#define T_DOUBLE_LITERAL 260
00125
#define T_IDENTIFIER 261
00126
#define T_INTEGER_LITERAL 262
00127
#define T_STRING_LITERAL 263
00128
#define T_INCLUDE 264
00129
#define T_CLASS 265
00130
#define T_STRUCT 266
00131
#define T_LEFT_CURLY_BRACKET 267
00132
#define T_LEFT_PARANTHESIS 268
00133
#define T_RIGHT_CURLY_BRACKET 269
00134
#define T_RIGHT_PARANTHESIS 270
00135
#define T_COLON 271
00136
#define T_SEMICOLON 272
00137
#define T_PUBLIC 273
00138
#define T_PROTECTED 274
00139
#define T_TRIPE_DOT 275
00140
#define T_PRIVATE 276
00141
#define T_VIRTUAL 277
00142
#define T_CONST 278
00143
#define T_INLINE 279
00144
#define T_FRIEND 280
00145
#define T_RETURN 281
00146
#define T_SIGNAL 282
00147
#define T_SLOT 283
00148
#define T_TYPEDEF 284
00149
#define T_PLUS 285
00150
#define T_MINUS 286
00151
#define T_COMMA 287
00152
#define T_ASTERISK 288
00153
#define T_TILDE 289
00154
#define T_LESS 290
00155
#define T_GREATER 291
00156
#define T_AMPERSAND 292
00157
#define T_EXTERN 293
00158
#define T_EXTERN_C 294
00159
#define T_ACCESS 295
00160
#define T_ENUM 296
00161
#define T_NAMESPACE 297
00162
#define T_USING 298
00163
#define T_UNKNOWN 299
00164
#define T_TRIPLE_DOT 300
00165
#define T_TRUE 301
00166
#define T_FALSE 302
00167
#define T_STATIC 303
00168
#define T_MUTABLE 304
00169
#define T_EQUAL 305
00170
#define T_SCOPE 306
00171
#define T_NULL 307
00172
#define T_INT 308
00173
#define T_ARRAY_OPEN 309
00174
#define T_ARRAY_CLOSE 310
00175
#define T_CHAR 311
00176
#define T_DCOP 312
00177
#define T_DCOP_AREA 313
00178
#define T_DCOP_SIGNAL_AREA 314
00179
#define T_SIGNED 315
00180
#define T_UNSIGNED 316
00181
#define T_LONG 317
00182
#define T_SHORT 318
00183
#define T_FUNOPERATOR 319
00184
#define T_MISCOPERATOR 320
00185
#define T_SHIFT 321
00186
00187
00188
00189
00190
00191
#line 1 "yacc.yy"
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
#include <config.h>
00217
00218
00219
00220
00221
#ifdef _GNU_SOURCE
00222
#define __USE_GNU 1
00223
#endif
00224
00225
#include <stdlib.h>
00226
#include <stdio.h>
00227
#include <assert.h>
00228
00229
#include <qstring.h>
00230
00231
#define AMP_ENTITY "&"
00232
#define YYERROR_VERBOSE
00233
00234
extern int yylex();
00235
00236
00237
extern int idl_line_no;
00238
extern int function_mode;
00239
00240
static int dcop_area = 0;
00241
static int dcop_signal_area = 0;
00242
00243
static QString in_namespace(
"" );
00244
00245
void dcopidlInitFlex(
const char *_code );
00246
00247
void yyerror(
const char *s )
00248 {
00249 qDebug(
"In line %i : %s", idl_line_no, s );
00250 exit(1);
00251
00252 }
00253
00254
00255
00256
00257
#ifndef YYDEBUG
00258
# define YYDEBUG 1
00259
#endif
00260
00261
00262
#ifdef YYERROR_VERBOSE
00263
# undef YYERROR_VERBOSE
00264
# define YYERROR_VERBOSE 1
00265
#else
00266
# define YYERROR_VERBOSE 0
00267
#endif
00268
00269
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
00270
#line 67 "yacc.yy"
00271
typedef union YYSTYPE {
00272
long _int;
00273
QString *_str;
00274
unsigned short _char;
00275
double _float;
00276 } YYSTYPE;
00277
00278
#line 279 "yacc.cc"
00279
# define yystype YYSTYPE
00280
# define YYSTYPE_IS_DECLARED 1
00281
# define YYSTYPE_IS_TRIVIAL 1
00282
#endif
00283
00284
00285
00286
00287
00288
00289
00290
#line 291 "yacc.cc"
00291
00292
#if ! defined (yyoverflow) || YYERROR_VERBOSE
00293
00294
# ifndef YYFREE
00295
# define YYFREE free
00296
# endif
00297
# ifndef YYMALLOC
00298
# define YYMALLOC malloc
00299
# endif
00300
00301
00302
00303
# ifdef YYSTACK_USE_ALLOCA
00304
# if YYSTACK_USE_ALLOCA
00305
# define YYSTACK_ALLOC alloca
00306
# endif
00307
# else
00308
# if defined (alloca) || defined (_ALLOCA_H)
00309
# define YYSTACK_ALLOC alloca
00310
# else
00311
# ifdef __GNUC__
00312
# define YYSTACK_ALLOC __builtin_alloca
00313
# endif
00314
# endif
00315
# endif
00316
00317
# ifdef YYSTACK_ALLOC
00318
00319
# define YYSTACK_FREE(Ptr) do { ; } while (0)
00320
# else
00321
# if defined (__STDC__) || defined (__cplusplus)
00322
# include <stdlib.h>
00323
# define YYSIZE_T size_t
00324
# endif
00325
# define YYSTACK_ALLOC YYMALLOC
00326
# define YYSTACK_FREE YYFREE
00327
# endif
00328
#endif
00329
00330
00331
#if (! defined (yyoverflow) \
00332
&& (! defined (__cplusplus) \
00333
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
00334
00335
00336
union yyalloc
00337 {
00338
short int yyss;
00339 YYSTYPE yyvs;
00340 };
00341
00342
00343
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00344
00345
00346
00347
# define YYSTACK_BYTES(N) \
00348
((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
00349
+ YYSTACK_GAP_MAXIMUM)
00350
00351
00352
00353
# ifndef YYCOPY
00354
# if defined (__GNUC__) && 1 < __GNUC__
00355
# define YYCOPY(To, From, Count) \
00356
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00357
# else
00358
# define YYCOPY(To, From, Count) \
00359
do \
00360
{ \
00361
register YYSIZE_T yyi; \
00362
for (yyi = 0; yyi < (Count); yyi++) \
00363
(To)[yyi] = (From)[yyi]; \
00364
} \
00365
while (0)
00366
# endif
00367
# endif
00368
00369
00370
00371
00372
00373
00374
# define YYSTACK_RELOCATE(Stack) \
00375
do \
00376
{ \
00377
YYSIZE_T yynewbytes; \
00378
YYCOPY (&yyptr->Stack, Stack, yysize); \
00379
Stack = &yyptr->Stack; \
00380
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00381
yyptr += yynewbytes / sizeof (*yyptr); \
00382
} \
00383
while (0)
00384
00385
#endif
00386
00387
#if defined (__STDC__) || defined (__cplusplus)
00388
typedef signed char yysigned_char;
00389
#else
00390
typedef short int yysigned_char;
00391
#endif
00392
00393
00394
#define YYFINAL 5
00395
00396
#define YYLAST 528
00397
00398
00399
#define YYNTOKENS 67
00400
00401
#define YYNNTS 53
00402
00403
#define YYNRULES 184
00404
00405
#define YYNSTATES 370
00406
00407
00408
#define YYUNDEFTOK 2
00409
#define YYMAXUTOK 321
00410
00411
#define YYTRANSLATE(YYX) \
00412
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00413
00414
00415
static const unsigned char yytranslate[] =
00416 {
00417 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00435 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00436 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00437 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00438 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00439 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00440 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00441 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00442 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
00443 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
00444 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
00445 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
00446 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
00447 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
00448 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
00449 65, 66
00450 };
00451
00452
#if YYDEBUG
00453
00454
00455
static const unsigned short int yyprhs[] =
00456 {
00457 0, 0, 3, 7, 8, 11, 16, 17, 19, 20,
00458 27, 35, 39, 43, 49, 50, 58, 63, 69, 72,
00459 77, 85, 94, 97, 99, 101, 103, 106, 107, 109,
00460 111, 113, 115, 117, 119, 121, 122, 126, 129, 132,
00461 135, 137, 141, 143, 148, 152, 154, 157, 161, 164,
00462 166, 167, 169, 171, 174, 178, 181, 184, 187, 190,
00463 193, 196, 202, 207, 212, 217, 224, 229, 236, 243,
00464 251, 258, 265, 271, 275, 277, 281, 283, 285, 287,
00465 290, 292, 294, 296, 300, 304, 312, 322, 323, 325,
00466 327, 330, 332, 335, 338, 342, 345, 349, 352, 356,
00467 359, 363, 365, 367, 370, 372, 375, 377, 380, 383,
00468 386, 388, 389, 391, 395, 397, 399, 402, 405, 410,
00469 417, 421, 423, 426, 428, 432, 436, 439, 442, 446,
00470 449, 451, 454, 458, 460, 464, 467, 469, 470, 473,
00471 479, 481, 483, 485, 487, 492, 493, 495, 497, 499,
00472 501, 503, 505, 512, 520, 522, 526, 527, 532, 534,
00473 538, 541, 547, 551, 557, 565, 572, 576, 578, 580,
00474 584, 589, 592, 593, 595, 598, 599, 601, 605, 608,
00475 611, 615, 621, 627, 633
00476 };
00477
00478
00479
static const yysigned_char yyrhs[] =
00480 {
00481 68, 0, -1, 69, 71, 68, -1, -1, 69, 9,
00482 -1, 39, 12, 68, 14, -1, -1, 57, -1, -1,
00483 10, 80, 84, 70, 86, 17, -1, 10, 6, 80,
00484 84, 70, 86, 17, -1, 10, 80, 17, -1, 11,
00485 80, 17, -1, 11, 80, 84, 86, 17, -1, -1,
00486 42, 6, 12, 72, 68, 14, 85, -1, 43, 42,
00487 6, 17, -1, 43, 6, 51, 6, 17, -1, 38,
00488 17, -1, 29, 100, 80, 17, -1, 29, 11, 12,
00489 73, 14, 80, 17, -1, 29, 11, 80, 12, 73,
00490 14, 80, 17, -1, 24, 111, -1, 111, -1, 119,
00491 -1, 87, -1, 119, 73, -1, -1, 46, -1, 47,
00492 -1, 21, -1, 19, -1, 18, -1, 27, -1, 28,
00493 -1, -1, 75, 76, 16, -1, 76, 16, -1, 58,
00494 16, -1, 59, 16, -1, 6, -1, 6, 51, 80,
00495 -1, 80, -1, 80, 35, 101, 36, -1, 105, 18,
00496 81, -1, 81, -1, 82, 12, -1, 82, 32, 83,
00497 -1, 16, 83, -1, 12, -1, -1, 17, -1, 14,
00498 -1, 92, 86, -1, 24, 111, 86, -1, 111, 86,
00499 -1, 79, 86, -1, 87, 86, -1, 78, 86, -1,
00500 77, 86, -1, 119, 86, -1, 25, 10, 80, 17,
00501 86, -1, 25, 80, 17, 86, -1, 25, 107, 17,
00502 86, -1, 10, 80, 17, 86, -1, 10, 80, 84,
00503 86, 17, 86, -1, 11, 80, 17, 86, -1, 11,
00504 80, 84, 86, 17, 86, -1, 43, 6, 51, 6,
00505 17, 86, -1, 41, 6, 12, 88, 14, 6, 17,
00506 -1, 41, 6, 12, 88, 14, 17, -1, 41, 12,
00507 88, 14, 6, 17, -1, 41, 12, 88, 14, 17,
00508 -1, 89, 32, 88, -1, 89, -1, 6, 50, 91,
00509 -1, 6, -1, 4, -1, 7, -1, 31, 7, -1,
00510 52, -1, 80, -1, 90, -1, 90, 30, 90, -1,
00511 90, 66, 90, -1, 29, 80, 35, 101, 36, 80,
00512 17, -1, 29, 80, 35, 101, 36, 51, 6, 80,
00513 17, -1, -1, 23, -1, 60, -1, 60, 53, -1,
00514 61, -1, 61, 53, -1, 60, 63, -1, 60, 63,
00515 53, -1, 60, 62, -1, 60, 62, 53, -1, 61,
00516 63, -1, 61, 63, 53, -1, 61, 62, -1, 61,
00517 62, 53, -1, 53, -1, 62, -1, 62, 53, -1,
00518 63, -1, 63, 53, -1, 56, -1, 60, 56, -1,
00519 61, 56, -1, 33, 95, -1, 33, -1, -1, 102,
00520 -1, 96, 32, 102, -1, 94, -1, 80, -1, 11,
00521 80, -1, 10, 80, -1, 80, 35, 98, 36, -1,
00522 80, 35, 98, 36, 51, 80, -1, 99, 32, 98,
00523 -1, 99, -1, 97, 95, -1, 97, -1, 23, 97,
00524 95, -1, 23, 97, 37, -1, 23, 97, -1, 97,
00525 23, -1, 97, 23, 37, -1, 97, 37, -1, 97,
00526 -1, 97, 95, -1, 100, 32, 101, -1, 100, -1,
00527 100, 80, 103, -1, 100, 103, -1, 45, -1, -1,
00528 50, 104, -1, 50, 13, 100, 15, 104, -1, 8,
00529 -1, 91, -1, 5, -1, 74, -1, 80, 13, 96,
00530 15, -1, -1, 22, -1, 65, -1, 66, -1, 36,
00531 -1, 35, -1, 50, -1, 100, 80, 13, 96, 15,
00532 93, -1, 100, 64, 106, 13, 96, 15, 93, -1,
00533 104, -1, 104, 32, 108, -1, -1, 6, 13, 108,
00534 15, -1, 109, -1, 109, 32, 110, -1, 107, 113,
00535 -1, 22, 107, 50, 52, 113, -1, 22, 107, 113,
00536 -1, 80, 13, 96, 15, 113, -1, 80, 13, 96,
00537 15, 16, 110, 113, -1, 105, 34, 80, 13, 15,
00538 113, -1, 48, 107, 113, -1, 12, -1, 17, -1,
00539 112, 114, 14, -1, 112, 114, 14, 17, -1, 115,
00540 114, -1, -1, 17, -1, 32, 118, -1, -1, 6,
00541 -1, 6, 50, 104, -1, 95, 6, -1, 117, 116,
00542 -1, 100, 118, 17, -1, 100, 80, 16, 7, 17,
00543 -1, 48, 100, 6, 103, 17, -1, 49, 100, 6,
00544 103, 17, -1, 100, 6, 54, 91, 55, 17, -1
00545 };
00546
00547
00548
static const unsigned short int yyrline[] =
00549 {
00550 0, 164, 164, 167, 171, 175, 179, 184, 185, 189,
00551 198, 207, 210, 213, 217, 216, 228, 231, 234, 237,
00552 240, 243, 246, 249, 252, 255, 261, 262, 265, 265,
00553 267, 267, 267, 269, 269, 269, 272, 277, 285, 293,
00554 305, 308, 316, 322, 331, 335, 342, 346, 354, 358,
00555 366, 368, 372, 376, 380, 384, 388, 392, 396, 400,
00556 404, 408, 412, 416, 420, 424, 428, 432, 436, 443,
00557 444, 445, 446, 450, 451, 455, 456, 460, 461, 462,
00558 463, 464, 468, 469, 470, 474, 484, 493, 496, 503,
00559 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
00560 514, 515, 516, 517, 518, 519, 520, 521, 522, 526,
00561 527, 532, 535, 536, 544, 545, 546, 547, 548, 554,
00562 565, 569, 577, 582, 591, 596, 603, 608, 613, 620,
00563 625, 630, 638, 642, 649, 658, 666, 676, 678, 681,
00564 688, 691, 694, 697, 700, 706, 707, 711, 711, 711,
00565 711, 711, 715, 737, 748, 749, 750, 755, 760, 761,
00566 765, 769, 773, 777, 783, 789, 795, 808, 815, 816,
00567 817, 821, 822, 826, 830, 831, 834, 835, 836, 839,
00568 843, 844, 845, 846, 847
00569 };
00570
#endif
00571
00572
#if YYDEBUG || YYERROR_VERBOSE
00573
00574
00575
static const char *
const yytname[] =
00576 {
00577
"$end",
"error",
"$undefined",
"T_UNIMPORTANT",
"T_CHARACTER_LITERAL",
00578
"T_DOUBLE_LITERAL",
"T_IDENTIFIER",
"T_INTEGER_LITERAL",
00579
"T_STRING_LITERAL",
"T_INCLUDE",
"T_CLASS",
"T_STRUCT",
00580
"T_LEFT_CURLY_BRACKET",
"T_LEFT_PARANTHESIS",
"T_RIGHT_CURLY_BRACKET",
00581
"T_RIGHT_PARANTHESIS",
"T_COLON",
"T_SEMICOLON",
"T_PUBLIC",
00582
"T_PROTECTED",
"T_TRIPE_DOT",
"T_PRIVATE",
"T_VIRTUAL",
"T_CONST",
00583
"T_INLINE",
"T_FRIEND",
"T_RETURN",
"T_SIGNAL",
"T_SLOT",
"T_TYPEDEF",
00584
"T_PLUS",
"T_MINUS",
"T_COMMA",
"T_ASTERISK",
"T_TILDE",
"T_LESS",
00585
"T_GREATER",
"T_AMPERSAND",
"T_EXTERN",
"T_EXTERN_C",
"T_ACCESS",
00586
"T_ENUM",
"T_NAMESPACE",
"T_USING",
"T_UNKNOWN",
"T_TRIPLE_DOT",
00587
"T_TRUE",
"T_FALSE",
"T_STATIC",
"T_MUTABLE",
"T_EQUAL",
"T_SCOPE",
00588
"T_NULL",
"T_INT",
"T_ARRAY_OPEN",
"T_ARRAY_CLOSE",
"T_CHAR",
"T_DCOP",
00589
"T_DCOP_AREA",
"T_DCOP_SIGNAL_AREA",
"T_SIGNED",
"T_UNSIGNED",
"T_LONG",
00590
"T_SHORT",
"T_FUNOPERATOR",
"T_MISCOPERATOR",
"T_SHIFT",
"$accept",
00591
"main",
"includes",
"dcoptag",
"declaration",
"@1",
"member_list",
00592
"bool_value",
"nodcop_area",
"sigslot",
"nodcop_area_begin",
00593
"dcop_area_begin",
"dcop_signal_area_begin",
"Identifier",
00594
"super_class_name",
"super_class",
"super_classes",
"class_header",
00595
"opt_semicolon",
"body",
"enum",
"enum_list",
"enum_item",
"number",
00596
"int_expression",
"typedef",
"const_qualifier",
"int_type",
"asterisks",
00597
"params",
"type_name",
"templ_type_list",
"templ_type",
"type",
00598
"type_list",
"param",
"default",
"value",
"virtual_qualifier",
00599
"operator",
"function_header",
"values",
"init_item",
"init_list",
00600
"function",
"function_begin",
"function_body",
"function_lines",
00601
"function_line",
"Identifier_list_rest",
"Identifier_list_entry",
00602
"Identifier_list",
"member", 0
00603 };
00604
#endif
00605
00606
# ifdef YYPRINT
00607
00608
00609
static const unsigned short int yytoknum[] =
00610 {
00611 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
00612 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
00613 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
00614 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
00615 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
00616 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
00617 315, 316, 317, 318, 319, 320, 321
00618 };
00619
# endif
00620
00621
00622
static const unsigned char yyr1[] =
00623 {
00624 0, 67, 68, 68, 69, 69, 69, 70, 70, 71,
00625 71, 71, 71, 71, 72, 71, 71, 71, 71, 71,
00626 71, 71, 71, 71, 71, 71, 73, 73, 74, 74,
00627 75, 75, 75, 76, 76, 76, 77, 77, 78, 79,
00628 80, 80, 81, 81, 82, 82, 83, 83, 84, 84,
00629 85, 85, 86, 86, 86, 86, 86, 86, 86, 86,
00630 86, 86, 86, 86, 86, 86, 86, 86, 86, 87,
00631 87, 87, 87, 88, 88, 89, 89, 90, 90, 90,
00632 90, 90, 91, 91, 91, 92, 92, 93, 93, 94,
00633 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
00634 94, 94, 94, 94, 94, 94, 94, 94, 94, 95,
00635 95, 96, 96, 96, 97, 97, 97, 97, 97, 97,
00636 98, 98, 99, 99, 100, 100, 100, 100, 100, 100,
00637 100, 100, 101, 101, 102, 102, 102, 103, 103, 103,
00638 104, 104, 104, 104, 104, 105, 105, 106, 106, 106,
00639 106, 106, 107, 107, 108, 108, 108, 109, 110, 110,
00640 111, 111, 111, 111, 111, 111, 111, 112, 113, 113,
00641 113, 114, 114, 115, 116, 116, 117, 117, 117, 118,
00642 119, 119, 119, 119, 119
00643 };
00644
00645
00646
static const unsigned char yyr2[] =
00647 {
00648 0, 2, 3, 0, 2, 4, 0, 1, 0, 6,
00649 7, 3, 3, 5, 0, 7, 4, 5, 2, 4,
00650 7, 8, 2, 1, 1, 1, 2, 0, 1, 1,
00651 1, 1, 1, 1, 1, 0, 3, 2, 2, 2,
00652 1, 3, 1, 4, 3, 1, 2, 3, 2, 1,
00653 0, 1, 1, 2, 3, 2, 2, 2, 2, 2,
00654 2, 5, 4, 4, 4, 6, 4, 6, 6, 7,
00655 6, 6, 5, 3, 1, 3, 1, 1, 1, 2,
00656 1, 1, 1, 3, 3, 7, 9, 0, 1, 1,
00657 2, 1, 2, 2, 3, 2, 3, 2, 3, 2,
00658 3, 1, 1, 2, 1, 2, 1, 2, 2, 2,
00659 1, 0, 1, 3, 1, 1, 2, 2, 4, 6,
00660 3, 1, 2, 1, 3, 3, 2, 2, 3, 2,
00661 1, 2, 3, 1, 3, 2, 1, 0, 2, 5,
00662 1, 1, 1, 1, 4, 0, 1, 1, 1, 1,
00663 1, 1, 6, 7, 1, 3, 0, 4, 1, 3,
00664 2, 5, 3, 5, 7, 6, 3, 1, 1, 3,
00665 4, 2, 0, 1, 2, 0, 1, 3, 2, 2,
00666 3, 5, 5, 5, 6
00667 };
00668
00669
00670
00671
00672
static const unsigned char yydefact[] =
00673 {
00674 6, 0, 0, 145, 6, 1, 40, 4, 0, 0,
00675 146, 0, 145, 0, 0, 0, 0, 0, 0, 0,
00676 101, 106, 89, 91, 102, 104, 6, 115, 25, 114,
00677 130, 0, 0, 0, 23, 24, 0, 0, 40, 117,
00678 116, 0, 0, 115, 0, 0, 126, 0, 22, 0,
00679 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
00680 90, 107, 95, 93, 92, 108, 99, 97, 103, 105,
00681 2, 111, 0, 127, 110, 129, 131, 40, 0, 0,
00682 0, 175, 0, 0, 167, 168, 172, 160, 5, 41,
00683 0, 49, 145, 11, 8, 12, 35, 117, 116, 0,
00684 0, 162, 125, 124, 27, 116, 0, 0, 76, 0,
00685 74, 14, 0, 0, 40, 166, 137, 96, 94, 100,
00686 98, 136, 0, 137, 112, 123, 0, 121, 128, 109,
00687 0, 0, 150, 149, 151, 147, 148, 0, 111, 0,
00688 178, 0, 179, 180, 0, 173, 0, 172, 8, 146,
00689 42, 45, 0, 48, 0, 7, 35, 0, 0, 52,
00690 32, 31, 30, 145, 0, 33, 34, 0, 0, 0,
00691 0, 35, 0, 35, 35, 35, 0, 35, 35, 35,
00692 35, 0, 0, 0, 0, 27, 27, 19, 0, 0,
00693 0, 0, 6, 0, 16, 0, 0, 0, 0, 0,
00694 137, 135, 122, 118, 0, 77, 142, 78, 140, 0,
00695 28, 29, 80, 143, 81, 82, 141, 177, 81, 0,
00696 111, 0, 0, 176, 174, 0, 169, 171, 35, 0,
00697 46, 145, 0, 0, 117, 116, 35, 0, 115, 0,
00698 0, 0, 38, 39, 0, 37, 59, 58, 56, 13,
00699 57, 53, 55, 60, 161, 0, 0, 0, 26, 0,
00700 0, 75, 0, 72, 73, 0, 17, 0, 138, 182,
00701 183, 0, 163, 113, 134, 0, 120, 79, 111, 0,
00702 0, 0, 0, 87, 181, 0, 170, 0, 133, 0,
00703 47, 44, 9, 35, 35, 35, 35, 54, 117, 35,
00704 35, 0, 0, 36, 137, 0, 0, 0, 70, 71,
00705 50, 0, 0, 158, 0, 119, 0, 83, 84, 184,
00706 87, 88, 152, 165, 10, 0, 43, 64, 0, 66,
00707 0, 35, 62, 63, 0, 0, 20, 0, 69, 51,
00708 15, 0, 156, 0, 164, 144, 153, 132, 35, 35,
00709 61, 0, 35, 21, 139, 154, 0, 159, 65, 67,
00710 0, 0, 68, 156, 157, 0, 85, 155, 0, 86
00711 };
00712
00713
00714
static const short int yydefgoto[] =
00715 {
00716 -1, 2, 3, 156, 26, 192, 183, 213, 171, 172,
00717 173, 174, 175, 27, 151, 152, 153, 94, 340, 176,
00718 177, 109, 110, 215, 216, 178, 322, 29, 80, 122,
00719 30, 126, 127, 31, 289, 124, 196, 355, 32, 137,
00720 33, 356, 313, 314, 179, 86, 87, 146, 147, 142,
00721 81, 82, 180
00722 };
00723
00724
00725
00726
#define YYPACT_NINF -229
00727
static const short int yypact[] =
00728 {
00729 48, 10, 99, 375, 69, -229, 50, -229, 107, 114,
00730 239, 455, 220, 416, 110, 59, 128, 39, 239, 239,
00731 -229, -229, 184, 234, 100, 108, 68, 18, -229, -229,
00732 185, 26, 129, 208, -229, -229, 159, 114, 40, 244,
00733 297, 114, 114, 155, 29, 60, 127, 239, -229, 226,
00734 114, -229, 223, 259, 254, 218, 269, 31, 208, 271,
00735 -229, -229, 225, 233, -229, -229, 235, 238, -229, -229,
00736 -229, 396, 455, 242, 261, -229, -229, 163, 119, 228,
00737 298, 273, 286, 114, -229, -229, 295, -229, -229, -229,
00738 195, -229, 197, -229, 262, -229, 317, -229, -229, 305,
00739 270, -229, -229, -229, 56, 309, 312, 259, 276, 316,
00740 315, -229, 331, 332, 75, -229, 300, -229, -229, -229,
00741 -229, -229, 42, 38, -229, 261, 318, 324, -229, -229,
00742 136, 54, -229, -229, -229, -229, -229, 346, 396, 354,
00743 -229, 88, -229, -229, 349, -229, 350, 295, 262, -229,
00744 328, -229, 134, -229, 351, -229, 317, 114, 114, -229,
00745 -229, -229, -229, 220, 437, -229, -229, 114, 361, 352,
00746 355, 171, 356, 317, 317, 317, 357, 317, 317, 317,
00747 317, 208, 239, 368, 96, 56, 56, -229, 369, 54,
00748 199, 259, 69, 370, -229, 476, 371, 372, 299, 396,
00749 300, -229, -229, 339, 455, -229, -229, -229, -229, 384,
00750 -229, -229, -229, -229, 379, 20, -229, -229, -229, 338,
00751 396, 133, 377, 345, -229, 381, 383, -229, 317, 239,
00752 -229, 197, 114, 386, 308, 336, 317, 114, 122, 388,
00753 366, 358, -229, -229, 392, -229, -229, -229, -229, -229,
00754 -229, -229, -229, -229, -229, 404, 114, 395, -229, 398,
00755 222, -229, 397, -229, -229, 401, -229, 239, -229, -229,
00756 -229, 414, -229, -229, -229, 114, -229, -229, 396, 54,
00757 54, 408, 143, 406, -229, 208, -229, 413, 389, 409,
00758 -229, -229, -229, 317, 317, 317, 317, -229, 415, 317,
00759 317, 239, 427, -229, 300, 417, 114, 423, -229, -229,
00760 425, 429, 433, 418, 208, -229, 147, -229, -229, -229,
00761 406, -229, -229, -229, -229, 239, -229, -229, 434, -229,
00762 436, 317, -229, -229, 419, 445, -229, 446, -229, -229,
00763 -229, 136, 136, 414, -229, -229, -229, -229, 317, 317,
00764 -229, 49, 317, -229, -229, 422, 449, -229, -229, -229,
00765 461, 451, -229, 136, -229, 114, -229, -229, 453, -229
00766 };
00767
00768
00769
static const short int yypgoto[] =
00770 {
00771 -229, 12, -229, 323, -229, -229, 78, -229, -229, 302,
00772 -229, -229, -229, -8, 243, -229, 255, -34, -229, -42,
00773 471, -93, -229, -46, -113, -229, 165, -229, -22, -131,
00774 -2, 283, -229, 7, -228, 289, -76, -126, -79, -229,
00775 33, 131, -229, 148, 9, -229, -30, 348, -229, -229,
00776 -229, 360, 24
00777 };
00778
00779
00780
00781
00782
00783
#define YYTABLE_NINF -177
00784
static const short int yytable[] =
00785 {
00786 39, 40, 43, 43, 217, 43, 96, 221, 76, 46,
00787 43, 43, 34, 154, 188, 101, 36, 44, 219, 44,
00788 50, 48, 4, 79, 103, 57, 59, 35, 115, 89,
00789 90, 71, 77, 97, 98, 6, 99, 114, 70, 43,
00790 197, 105, 106, 45, 6, 55, 6, 201, -3, 99,
00791 279, 58, 129, 72, 44, 6, 148, 198, 205, 74,
00792 6, 207, 6, 43, 43, 52, 41, 42, -3, 268,
00793 125, 53, 84, 334, 199, 144, 261, 85, 123, 11,
00794 58, 56, -3, -3, 150, 209, 280, 1, 195, 282,
00795 78, 37, -137, 78, 223, 78, 43, 347, 264, 5,
00796 360, 37, 77, 202, 182, 19, 212, 1, 1, 20,
00797 100, 184, 21, 38, 233, 200, 22, 23, 24, 25,
00798 6, 74, 214, 218, 274, 195, 37, 51, 185, 74,
00799 43, 246, 247, 248, 54, 250, 251, 252, 253, 299,
00800 205, 206, 6, 207, 208, 123, 230, 316, 283, 234,
00801 235, 254, 154, 68, 132, 133, 238, 72, 320, 240,
00802 74, 69, 345, 83, 102, 199, 231, 209, 272, 134,
00803 44, 44, 236, 88, 43, 199, 257, 43, 43, 199,
00804 -176, 218, 210, 211, 135, 136, 287, 214, 212, 255,
00805 72, 43, 184, 184, 297, -176, 43, 239, 165, 166,
00806 294, 296, 125, 6, 265, 262, 123, 91, 73, 185,
00807 185, 92, 43, 130, 37, 354, 263, 131, 74, 149,
00808 84, 43, 75, 150, 150, 85, 6, 123, 307, 298,
00809 41, 42, 6, 317, 318, 107, 288, 60, 104, 308,
00810 61, 138, 10, 11, 139, 6, 62, 63, 305, 41,
00811 42, 327, 328, 329, 330, 323, 91, 332, 333, 43,
00812 92, 93, 11, 258, 259, 108, 111, 315, 47, 112,
00813 43, 218, 218, 20, 311, 113, 21, 116, 117, 128,
00814 22, 23, 24, 25, 344, 123, 118, 64, 119, 350,
00815 65, 120, 20, 43, 74, 21, 66, 67, 337, 22,
00816 23, 24, 25, 143, 140, 141, 358, 359, 288, 91,
00817 362, 84, 145, 92, 95, 271, 85, 43, 138, 155,
00818 91, 186, 181, 6, 92, 293, 189, 157, 158, 187,
00819 190, 159, 288, 214, 214, 160, 161, 193, 162, 10,
00820 11, 163, 164, 361, 165, 166, 167, 191, 91, 194,
00821 195, -145, 92, 295, 203, 214, 204, 368, 15, 220,
00822 168, 222, 225, 229, 226, 18, 19, 241, 242, 232,
00823 20, 243, 245, 21, 249, 169, 170, 22, 23, 24,
00824 25, 6, 256, 260, 7, 8, 9, 266, 269, 270,
00825 275, 277, 278, 281, 284, 130, 285, 10, 11, 12,
00826 286, 301, 6, 292, 13, 300, 41, 42, 303, 302,
00827 304, 139, 306, 14, 309, 310, 15, 16, 17, 11,
00828 312, 325, 6, 18, 19, 319, 41, 49, 20, 321,
00829 324, 21, 331, 335, 336, 22, 23, 24, 25, 11,
00830 338, 121, 339, 6, 341, 326, 342, 237, 42, 20,
00831 343, 348, 21, 349, 363, 351, 22, 23, 24, 25,
00832 11, 6, 352, 353, 364, 41, 42, 365, 366, 20,
00833 369, 228, 21, 244, 28, 291, 22, 23, 24, 25,
00834 205, 206, 6, 207, 208, 346, 290, 276, 273, 267,
00835 20, 357, 0, 21, 367, 227, 0, 22, 23, 24,
00836 25, 224, 0, 0, 0, 0, 0, 209, 20, 0,
00837 0, 21, 0, 0, 0, 22, 23, 24, 25, 0,
00838 0, 0, 210, 211, 0, 0, 0, 0, 212
00839 };
00840
00841
static const short int yycheck[] =
00842 {
00843 8, 9, 10, 11, 130, 13, 40, 138, 30, 11,
00844 18, 19, 3, 92, 107, 45, 4, 10, 131, 12,
00845 13, 12, 12, 31, 46, 18, 19, 3, 58, 37,
00846 38, 13, 6, 41, 42, 6, 44, 6, 26, 47,
00847 116, 49, 50, 10, 6, 6, 6, 123, 0, 57,
00848 30, 18, 74, 35, 47, 6, 90, 15, 4, 33,
00849 6, 7, 6, 71, 72, 6, 10, 11, 0, 195,
00850 72, 12, 12, 301, 32, 83, 189, 17, 71, 23,
00851 47, 42, 14, 14, 92, 31, 66, 39, 50, 220,
00852 64, 51, 17, 64, 6, 64, 104, 325, 191, 0,
00853 51, 51, 6, 125, 48, 49, 52, 39, 39, 53,
00854 50, 104, 56, 6, 156, 123, 60, 61, 62, 63,
00855 6, 33, 130, 131, 200, 50, 51, 17, 104, 33,
00856 138, 173, 174, 175, 6, 177, 178, 179, 180, 17,
00857 4, 5, 6, 7, 8, 138, 12, 278, 15, 157,
00858 158, 181, 231, 53, 35, 36, 164, 35, 15, 167,
00859 33, 53, 15, 34, 37, 32, 32, 31, 198, 50,
00860 163, 164, 163, 14, 182, 32, 184, 185, 186, 32,
00861 17, 189, 46, 47, 65, 66, 228, 195, 52, 182,
00862 35, 199, 185, 186, 236, 32, 204, 164, 27, 28,
00863 234, 235, 204, 6, 192, 6, 199, 12, 23, 185,
00864 186, 16, 220, 50, 51, 341, 17, 54, 33, 22,
00865 12, 229, 37, 231, 232, 17, 6, 220, 6, 237,
00866 10, 11, 6, 279, 280, 12, 229, 53, 12, 17,
00867 56, 13, 22, 23, 16, 6, 62, 63, 256, 10,
00868 11, 293, 294, 295, 296, 285, 12, 299, 300, 267,
00869 16, 17, 23, 185, 186, 6, 12, 275, 48, 51,
00870 278, 279, 280, 53, 267, 6, 56, 6, 53, 37,
00871 60, 61, 62, 63, 314, 278, 53, 53, 53, 331,
00872 56, 53, 53, 301, 33, 56, 62, 63, 306, 60,
00873 61, 62, 63, 17, 6, 32, 348, 349, 301, 12,
00874 352, 12, 17, 16, 17, 16, 17, 325, 13, 57,
00875 12, 12, 52, 6, 16, 17, 50, 10, 11, 17,
00876 14, 14, 325, 341, 342, 18, 19, 6, 21, 22,
00877 23, 24, 25, 351, 27, 28, 29, 32, 12, 17,
00878 50, 34, 16, 17, 36, 363, 32, 365, 41, 13,
00879 43, 7, 13, 35, 14, 48, 49, 6, 16, 18,
00880 53, 16, 16, 56, 17, 58, 59, 60, 61, 62,
00881 63, 6, 14, 14, 9, 10, 11, 17, 17, 17,
00882 51, 7, 13, 55, 17, 50, 15, 22, 23, 24,
00883 17, 35, 6, 17, 29, 17, 10, 11, 16, 51,
00884 6, 16, 14, 38, 17, 14, 41, 42, 43, 23,
00885 6, 32, 6, 48, 49, 17, 10, 11, 53, 23,
00886 17, 56, 17, 6, 17, 60, 61, 62, 63, 23,
00887 17, 45, 17, 6, 15, 36, 13, 10, 11, 53,
00888 32, 17, 56, 17, 32, 36, 60, 61, 62, 63,
00889 23, 6, 17, 17, 15, 10, 11, 6, 17, 53,
00890 17, 148, 56, 171, 3, 232, 60, 61, 62, 63,
00891 4, 5, 6, 7, 8, 320, 231, 204, 199, 13,
00892 53, 343, -1, 56, 363, 147, -1, 60, 61, 62,
00893 63, 141, -1, -1, -1, -1, -1, 31, 53, -1,
00894 -1, 56, -1, -1, -1, 60, 61, 62, 63, -1,
00895 -1, -1, 46, 47, -1, -1, -1, -1, 52
00896 };
00897
00898
00899
00900
static const unsigned char yystos[] =
00901 {
00902 0, 39, 68, 69, 12, 0, 6, 9, 10, 11,
00903 22, 23, 24, 29, 38, 41, 42, 43, 48, 49,
00904 53, 56, 60, 61, 62, 63, 71, 80, 87, 94,
00905 97, 100, 105, 107, 111, 119, 68, 51, 6, 80,
00906 80, 10, 11, 80, 100, 107, 97, 48, 111, 11,
00907 100, 17, 6, 12, 6, 6, 42, 100, 107, 100,
00908 53, 56, 62, 63, 53, 56, 62, 63, 53, 53,
00909 68, 13, 35, 23, 33, 37, 95, 6, 64, 80,
00910 95, 117, 118, 34, 12, 17, 112, 113, 14, 80,
00911 80, 12, 16, 17, 84, 17, 84, 80, 80, 80,
00912 50, 113, 37, 95, 12, 80, 80, 12, 6, 88,
00913 89, 12, 51, 6, 6, 113, 6, 53, 53, 53,
00914 53, 45, 96, 100, 102, 97, 98, 99, 37, 95,
00915 50, 54, 35, 36, 50, 65, 66, 106, 13, 16,
00916 6, 32, 116, 17, 80, 17, 114, 115, 84, 22,
00917 80, 81, 82, 83, 105, 57, 70, 10, 11, 14,
00918 18, 19, 21, 24, 25, 27, 28, 29, 43, 58,
00919 59, 75, 76, 77, 78, 79, 86, 87, 92, 111,
00920 119, 52, 48, 73, 100, 119, 12, 17, 88, 50,
00921 14, 32, 72, 6, 17, 50, 103, 103, 15, 32,
00922 80, 103, 95, 36, 32, 4, 5, 7, 8, 31,
00923 46, 47, 52, 74, 80, 90, 91, 104, 80, 91,
00924 13, 96, 7, 6, 118, 13, 14, 114, 70, 35,
00925 12, 32, 18, 86, 80, 80, 111, 10, 80, 107,
00926 80, 6, 16, 16, 76, 16, 86, 86, 86, 17,
00927 86, 86, 86, 86, 113, 100, 14, 80, 73, 73,
00928 14, 91, 6, 17, 88, 68, 17, 13, 104, 17,
00929 17, 16, 113, 102, 103, 51, 98, 7, 13, 30,
00930 66, 55, 96, 15, 17, 15, 17, 86, 100, 101,
00931 83, 81, 17, 17, 84, 17, 84, 86, 80, 17,
00932 17, 35, 51, 16, 6, 80, 14, 6, 17, 17,
00933 14, 100, 6, 109, 110, 80, 96, 90, 90, 17,
00934 15, 23, 93, 113, 17, 32, 36, 86, 86, 86,
00935 86, 17, 86, 86, 101, 6, 17, 80, 17, 17,
00936 85, 15, 13, 32, 113, 15, 93, 101, 17, 17,
00937 86, 36, 17, 17, 104, 104, 108, 110, 86, 86,
00938 51, 80, 86, 32, 15, 6, 17, 108, 80, 17
00939 };
00940
00941
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
00942
# define YYSIZE_T __SIZE_TYPE__
00943
#endif
00944
#if ! defined (YYSIZE_T) && defined (size_t)
00945
# define YYSIZE_T size_t
00946
#endif
00947
#if ! defined (YYSIZE_T)
00948
# if defined (__STDC__) || defined (__cplusplus)
00949
# include <stddef.h>
00950
# define YYSIZE_T size_t
00951
# endif
00952
#endif
00953
#if ! defined (YYSIZE_T)
00954
# define YYSIZE_T unsigned int
00955
#endif
00956
00957
#define yyerrok (yyerrstatus = 0)
00958
#define yyclearin (yychar = YYEMPTY)
00959
#define YYEMPTY (-2)
00960
#define YYEOF 0
00961
00962
#define YYACCEPT goto yyacceptlab
00963
#define YYABORT goto yyabortlab
00964
#define YYERROR goto yyerrorlab
00965
00966
00967
00968
00969
00970
00971
#define YYFAIL goto yyerrlab
00972
00973
#define YYRECOVERING() (!!yyerrstatus)
00974
00975
#define YYBACKUP(Token, Value) \
00976
do \
00977
if (yychar == YYEMPTY && yylen == 1) \
00978
{ \
00979
yychar = (Token); \
00980
yylval = (Value); \
00981
yytoken = YYTRANSLATE (yychar); \
00982
YYPOPSTACK; \
00983
goto yybackup; \
00984
} \
00985
else \
00986
{ \
00987
yyerror ("syntax error: cannot back up");\
00988
YYERROR; \
00989
} \
00990
while (0)
00991
00992
#define YYTERROR 1
00993
#define YYERRCODE 256
00994
00995
00996
00997
00998
#ifndef YYLLOC_DEFAULT
00999
# define YYLLOC_DEFAULT(Current, Rhs, N) \
01000
((Current).first_line = (Rhs)[1].first_line, \
01001
(Current).first_column = (Rhs)[1].first_column, \
01002
(Current).last_line = (Rhs)[N].last_line, \
01003
(Current).last_column = (Rhs)[N].last_column)
01004
#endif
01005
01006
01007
01008
#ifdef YYLEX_PARAM
01009
# define YYLEX yylex (YYLEX_PARAM)
01010
#else
01011
# define YYLEX yylex ()
01012
#endif
01013
01014
01015
#if YYDEBUG
01016
01017
# ifndef YYFPRINTF
01018
# include <stdio.h>
01019
# define YYFPRINTF fprintf
01020
# endif
01021
01022
# define YYDPRINTF(Args) \
01023
do { \
01024
if (yydebug) \
01025
YYFPRINTF Args; \
01026
} while (0)
01027
01028
# define YYDSYMPRINT(Args) \
01029
do { \
01030
if (yydebug) \
01031
yysymprint Args; \
01032
} while (0)
01033
01034
# define YYDSYMPRINTF(Title, Token, Value, Location) \
01035
do { \
01036
if (yydebug) \
01037
{ \
01038
YYFPRINTF (stderr, "%s ", Title); \
01039
yysymprint (stderr, \
01040
Token, Value); \
01041
YYFPRINTF (stderr, "\n"); \
01042
} \
01043
} while (0)
01044
01045
01046
01047
01048
01049
01050
#if defined (__STDC__) || defined (__cplusplus)
01051
static void
01052 yy_stack_print (
short int *bottom,
short int *top)
01053 #
else
01054
static void
01055 yy_stack_print (bottom, top)
01056 short
int *bottom;
01057
short int *top;
01058 #endif
01059 {
01060 YYFPRINTF (stderr,
"Stack now");
01061
for (; bottom <= top; ++bottom)
01062 YYFPRINTF (stderr,
" %d", *bottom);
01063 YYFPRINTF (stderr,
"\n");
01064 }
01065
01066
# define YY_STACK_PRINT(Bottom, Top) \
01067
do { \
01068
if (yydebug) \
01069
yy_stack_print ((Bottom), (Top)); \
01070
} while (0)
01071
01072
01073
01074
01075
01076
01077
#if defined (__STDC__) || defined (__cplusplus)
01078
static void
01079 yy_reduce_print (
int yyrule)
01080 #
else
01081
static void
01082 yy_reduce_print (yyrule)
01083 int yyrule;
01084 #endif
01085 {
01086
int yyi;
01087
unsigned int yylno = yyrline[yyrule];
01088 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %u), ",
01089 yyrule - 1, yylno);
01090
01091
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
01092 YYFPRINTF (stderr,
"%s ", yytname [yyrhs[yyi]]);
01093 YYFPRINTF (stderr,
"-> %s\n", yytname [yyr1[yyrule]]);
01094 }
01095
01096
# define YY_REDUCE_PRINT(Rule) \
01097
do { \
01098
if (yydebug) \
01099
yy_reduce_print (Rule); \
01100
} while (0)
01101
01102
01103
01104
int yydebug;
01105
#else
01106
# define YYDPRINTF(Args)
01107
# define YYDSYMPRINT(Args)
01108
# define YYDSYMPRINTF(Title, Token, Value, Location)
01109
# define YY_STACK_PRINT(Bottom, Top)
01110
# define YY_REDUCE_PRINT(Rule)
01111
#endif
01112
01113
01114
01115
#ifndef YYINITDEPTH
01116
# define YYINITDEPTH 200
01117
#endif
01118
01119
01120
01121
01122
01123
01124
01125
01126
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
01127
# undef YYMAXDEPTH
01128
#endif
01129
01130
#ifndef YYMAXDEPTH
01131
# define YYMAXDEPTH 10000
01132
#endif
01133
01134
01135
01136
#if YYERROR_VERBOSE
01137
01138
# ifndef yystrlen
01139
# if defined (__GLIBC__) && defined (_STRING_H)
01140
# define yystrlen strlen
01141
# else
01142
01143
static YYSIZE_T
01144
# if defined (__STDC__) || defined (__cplusplus)
01145
yystrlen (
const char *yystr)
01146 #
else
01147 yystrlen (yystr)
01148 const
char *yystr;
01149 # endif
01150 {
01151
register const char *yys = yystr;
01152
01153
while (*yys++ !=
'\0')
01154
continue;
01155
01156
return yys - yystr - 1;
01157 }
01158
# endif
01159
# endif
01160
01161
# ifndef yystpcpy
01162
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
01163
# define yystpcpy stpcpy
01164
# else
01165
01166
01167
static char *
01168
# if defined (__STDC__) || defined (__cplusplus)
01169
yystpcpy (
char *yydest,
const char *yysrc)
01170 #
else
01171 yystpcpy (yydest, yysrc)
01172 char *yydest;
01173 const
char *yysrc;
01174 # endif
01175 {
01176
register char *yyd = yydest;
01177
register const char *yys = yysrc;
01178
01179
while ((*yyd++ = *yys++) !=
'\0')
01180
continue;
01181
01182
return yyd - 1;
01183 }
01184
# endif
01185
# endif
01186
01187
#endif
01188
01189
01190
01191
#if YYDEBUG
01192
01193
01194
01195
01196
#if defined (__STDC__) || defined (__cplusplus)
01197
static void
01198 yysymprint (FILE *yyoutput,
int yytype, YYSTYPE *yyvaluep)
01199 #
else
01200
static void
01201 yysymprint (yyoutput, yytype, yyvaluep)
01202 FILE *yyoutput;
01203
int yytype;
01204 YYSTYPE *yyvaluep;
01205 #endif
01206 {
01207
01208 (
void) yyvaluep;
01209
01210
if (yytype < YYNTOKENS)
01211 {
01212 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
01213
# ifdef YYPRINT
01214
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
01215
# endif
01216
}
01217
else
01218 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
01219
01220
switch (yytype)
01221 {
01222
default:
01223
break;
01224 }
01225 YYFPRINTF (yyoutput,
")");
01226 }
01227
01228
#endif
01229
01230
01231
01232
01233
#if defined (__STDC__) || defined (__cplusplus)
01234
static void
01235 yydestruct (
int yytype, YYSTYPE *yyvaluep)
01236 #
else
01237
static void
01238 yydestruct (yytype, yyvaluep)
01239 int yytype;
01240 YYSTYPE *yyvaluep;
01241 #endif
01242 {
01243
01244 (
void) yyvaluep;
01245
01246
switch (yytype)
01247 {
01248
01249
default:
01250
break;
01251 }
01252 }
01253
01254
01255
01256
01257
#ifdef YYPARSE_PARAM
01258
# if defined (__STDC__) || defined (__cplusplus)
01259
int yyparse (
void *YYPARSE_PARAM);
01260
# else
01261
int yyparse ();
01262
# endif
01263
#else
01264
#if defined (__STDC__) || defined (__cplusplus)
01265
int yyparse (
void);
01266
#else
01267
int yyparse ();
01268
#endif
01269
#endif
01270
01271
01272
01273
01274
int yychar;
01275
01276
01277 YYSTYPE yylval;
01278
01279
01280
int yynerrs;
01281
01282
01283
01284
01285
01286
01287
01288
#ifdef YYPARSE_PARAM
01289
# if defined (__STDC__) || defined (__cplusplus)
01290
int yyparse (
void *YYPARSE_PARAM)
01291 #
else
01292
int yyparse (YYPARSE_PARAM)
01293 void *YYPARSE_PARAM;
01294 # endif
01295 #else
01296 #if defined (__STDC__) || defined (__cplusplus)
01297
int
01298 yyparse (
void)
01299 #else
01300
int
01301 yyparse ()
01302
01303 #endif
01304 #endif
01305 {
01306
01307
register int yystate;
01308
register int yyn;
01309
int yyresult;
01310
01311
int yyerrstatus;
01312
01313
int yytoken = 0;
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
short int yyssa[YYINITDEPTH];
01325
short int *yyss = yyssa;
01326
register short int *yyssp;
01327
01328
01329 YYSTYPE yyvsa[YYINITDEPTH];
01330 YYSTYPE *yyvs = yyvsa;
01331
register YYSTYPE *yyvsp;
01332
01333
01334
01335
#define YYPOPSTACK (yyvsp--, yyssp--)
01336
01337 YYSIZE_T yystacksize = YYINITDEPTH;
01338
01339
01340
01341 YYSTYPE yyval;
01342
01343
01344
01345
01346
int yylen;
01347
01348 YYDPRINTF ((stderr,
"Starting parse\n"));
01349
01350 yystate = 0;
01351 yyerrstatus = 0;
01352 yynerrs = 0;
01353 yychar = YYEMPTY;
01354
01355
01356
01357
01358
01359
01360 yyssp = yyss;
01361 yyvsp = yyvs;
01362
01363
01364
goto yysetstate;
01365
01366
01367
01368
01369 yynewstate:
01370
01371
01372
01373 yyssp++;
01374
01375 yysetstate:
01376 *yyssp = yystate;
01377
01378
if (yyss + yystacksize - 1 <= yyssp)
01379 {
01380
01381 YYSIZE_T yysize = yyssp - yyss + 1;
01382
01383
#ifdef yyoverflow
01384
{
01385
01386
01387
01388 YYSTYPE *yyvs1 = yyvs;
01389
short int *yyss1 = yyss;
01390
01391
01392
01393
01394
01395
01396 yyoverflow (
"parser stack overflow",
01397 &yyss1, yysize *
sizeof (*yyssp),
01398 &yyvs1, yysize *
sizeof (*yyvsp),
01399
01400 &yystacksize);
01401
01402 yyss = yyss1;
01403 yyvs = yyvs1;
01404 }
01405
#else
01406
# ifndef YYSTACK_RELOCATE
01407
goto yyoverflowlab;
01408
# else
01409
01410
if (YYMAXDEPTH <= yystacksize)
01411
goto yyoverflowlab;
01412 yystacksize *= 2;
01413
if (YYMAXDEPTH < yystacksize)
01414 yystacksize = YYMAXDEPTH;
01415
01416 {
01417
short int *yyss1 = yyss;
01418
union yyalloc *yyptr =
01419 (
union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
01420
if (! yyptr)
01421
goto yyoverflowlab;
01422 YYSTACK_RELOCATE (yyss);
01423 YYSTACK_RELOCATE (yyvs);
01424
01425
# undef YYSTACK_RELOCATE
01426
if (yyss1 != yyssa)
01427 YYSTACK_FREE (yyss1);
01428 }
01429
# endif
01430
#endif
01431
01432 yyssp = yyss + yysize - 1;
01433 yyvsp = yyvs + yysize - 1;
01434
01435
01436 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
01437 (
unsigned long int) yystacksize));
01438
01439
if (yyss + yystacksize - 1 <= yyssp)
01440 YYABORT;
01441 }
01442
01443 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
01444
01445
goto yybackup;
01446
01447
01448
01449
01450 yybackup:
01451
01452
01453
01454
01455
01456
01457
01458 yyn = yypact[yystate];
01459
if (yyn == YYPACT_NINF)
01460
goto yydefault;
01461
01462
01463
01464
01465
if (yychar == YYEMPTY)
01466 {
01467 YYDPRINTF ((stderr,
"Reading a token: "));
01468 yychar = YYLEX;
01469 }
01470
01471
if (yychar <= YYEOF)
01472 {
01473 yychar = yytoken = YYEOF;
01474 YYDPRINTF ((stderr,
"Now at end of input.\n"));
01475 }
01476
else
01477 {
01478 yytoken = YYTRANSLATE (yychar);
01479 YYDSYMPRINTF (
"Next token is", yytoken, &yylval, &yylloc);
01480 }
01481
01482
01483
01484 yyn += yytoken;
01485
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
01486
goto yydefault;
01487 yyn = yytable[yyn];
01488
if (yyn <= 0)
01489 {
01490
if (yyn == 0 || yyn == YYTABLE_NINF)
01491
goto yyerrlab;
01492 yyn = -yyn;
01493
goto yyreduce;
01494 }
01495
01496
if (yyn == YYFINAL)
01497 YYACCEPT;
01498
01499
01500 YYDPRINTF ((stderr,
"Shifting token %s, ", yytname[yytoken]));
01501
01502
01503
if (yychar != YYEOF)
01504 yychar = YYEMPTY;
01505
01506 *++yyvsp = yylval;
01507
01508
01509
01510
01511
if (yyerrstatus)
01512 yyerrstatus--;
01513
01514 yystate = yyn;
01515
goto yynewstate;
01516
01517
01518
01519
01520
01521 yydefault:
01522 yyn = yydefact[yystate];
01523
if (yyn == 0)
01524
goto yyerrlab;
01525
goto yyreduce;
01526
01527
01528
01529
01530
01531 yyreduce:
01532
01533 yylen = yyr2[yyn];
01534
01535
01536
01537
01538
01539
01540
01541
01542
01543 yyval = yyvsp[1-yylen];
01544
01545
01546 YY_REDUCE_PRINT (yyn);
01547
switch (yyn)
01548 {
01549
case 2:
01550
#line 165 "yacc.yy"
01551
{
01552 ;}
01553
break;
01554
01555
case 4:
01556
#line 172 "yacc.yy"
01557
{
01558 printf(
"<INCLUDE>%s</INCLUDE>\n", yyvsp[0]._str->latin1() );
01559 ;}
01560
break;
01561
01562
case 5:
01563
#line 176 "yacc.yy"
01564
{
01565 ;}
01566
break;
01567
01568
case 6:
01569
#line 179 "yacc.yy"
01570
{
01571 ;}
01572
break;
01573
01574
case 7:
01575
#line 184 "yacc.yy"
01576
{ yyval._int = 1; ;}
01577
break;
01578
01579
case 8:
01580
#line 185 "yacc.yy"
01581
{ yyval._int = 0; ;}
01582
break;
01583
01584
case 9:
01585
#line 190 "yacc.yy"
01586
{
01587
if (yyvsp[-2]._int)
01588 printf(
"<CLASS>\n <NAME>%s</NAME>\n%s%s</CLASS>\n", ( in_namespace + *yyvsp[-4]._str ).latin1(), yyvsp[-3]._str->latin1(), yyvsp[-1]._str->latin1() );
01589
01590 dcop_area = 0;
01591 dcop_signal_area = 0;
01592
01593 ;}
01594
break;
01595
01596
case 10:
01597
#line 199 "yacc.yy"
01598
{
01599
if (yyvsp[-2]._int)
01600 printf(
"<CLASS>\n <NAME>%s</NAME>\n <LINK_SCOPE>%s</LINK_SCOPE>\n%s%s</CLASS>\n", ( in_namespace + *yyvsp[-4]._str ).latin1(),yyvsp[-5]._str->latin1(), yyvsp[-3]._str->latin1(), yyvsp[-1]._str->latin1() );
01601
01602 dcop_area = 0;
01603 dcop_signal_area = 0;
01604
01605 ;}
01606
break;
01607
01608
case 11:
01609
#line 208 "yacc.yy"
01610
{
01611 ;}
01612
break;
01613
01614
case 12:
01615
#line 211 "yacc.yy"
01616
{
01617 ;}
01618
break;
01619
01620
case 13:
01621
#line 214 "yacc.yy"
01622
{
01623 ;}
01624
break;
01625
01626
case 14:
01627
#line 217 "yacc.yy"
01628
{
01629 in_namespace += *yyvsp[-1]._str; in_namespace +=
"::";
01630 ;}
01631
break;
01632
01633
case 15:
01634
#line 221 "yacc.yy"
01635
{
01636
int pos = in_namespace.findRev(
"::", -3 );
01637
if( pos >= 0 )
01638 in_namespace = in_namespace.left( pos + 2 );
01639
else
01640 in_namespace =
"";
01641 ;}
01642
break;
01643
01644
case 16:
01645
#line 229 "yacc.yy"
01646
{
01647 ;}
01648
break;
01649
01650
case 17:
01651
#line 232 "yacc.yy"
01652
{
01653 ;}
01654
break;
01655
01656
case 18:
01657
#line 235 "yacc.yy"
01658
{
01659 ;}
01660
break;
01661
01662
case 19:
01663
#line 238 "yacc.yy"
01664
{
01665 ;}
01666
break;
01667
01668
case 20:
01669
#line 241 "yacc.yy"
01670
{
01671 ;}
01672
break;
01673
01674
case 21:
01675
#line 244 "yacc.yy"
01676
{
01677 ;}
01678
break;
01679
01680
case 22:
01681
#line 247 "yacc.yy"
01682
{
01683 ;}
01684
break;
01685
01686
case 23:
01687
#line 250 "yacc.yy"
01688
{
01689 ;}
01690
break;
01691
01692
case 24:
01693
#line 253 "yacc.yy"
01694
{
01695 ;}
01696
break;
01697
01698
case 25:
01699
#line 256 "yacc.yy"
01700
{
01701 ;}
01702
break;
01703
01704
case 36:
01705
#line 273 "yacc.yy"
01706
{
01707 dcop_area = 0;
01708 dcop_signal_area = 0;
01709 ;}
01710
break;
01711
01712
case 37:
01713
#line 278 "yacc.yy"
01714
{
01715 dcop_area = 0;
01716 dcop_signal_area = 0;
01717 ;}
01718
break;
01719
01720
case 38:
01721
#line 286 "yacc.yy"
01722
{
01723 dcop_area = 1;
01724 dcop_signal_area = 0;
01725 ;}
01726
break;
01727
01728
case 39:
01729
#line 294 "yacc.yy"
01730
{
01731
01732
01733
01734
01735 dcop_area = 1;
01736 dcop_signal_area = 1;
01737 ;}
01738
break;
01739
01740
case 40:
01741
#line 305 "yacc.yy"
01742
{
01743 yyval._str = yyvsp[0]._str;
01744 ;}
01745
break;
01746
01747
case 41:
01748
#line 308 "yacc.yy"
01749
{
01750
QString* tmp =
new QString(
"%1::%2" );
01751 *tmp = tmp->arg(*(yyvsp[-2]._str)).arg(*(yyvsp[0]._str));
01752 yyval._str = tmp;
01753 ;}
01754
break;
01755
01756
case 42:
01757
#line 317 "yacc.yy"
01758
{
01759 QString* tmp =
new QString(
" <SUPER>%1</SUPER>\n" );
01760 *tmp = tmp->arg( *(yyvsp[0]._str) );
01761 yyval._str = tmp;
01762 ;}
01763
break;
01764
01765
case 43:
01766
#line 323 "yacc.yy"
01767
{
01768 QString* tmp =
new QString(
" <SUPER>%1</SUPER>\n" );
01769 *tmp = tmp->arg( *(yyvsp[-3]._str) +
"<" + *(yyvsp[-1]._str) +
">" );
01770 yyval._str = tmp;
01771 ;}
01772
break;
01773
01774
case 44:
01775
#line 332 "yacc.yy"
01776
{
01777 yyval._str = yyvsp[0]._str;
01778 ;}
01779
break;
01780
01781
case 45:
01782
#line 336 "yacc.yy"
01783
{
01784 yyval._str = yyvsp[0]._str;
01785 ;}
01786
break;
01787
01788
case 46:
01789
#line 343 "yacc.yy"
01790
{
01791 yyval._str = yyvsp[-1]._str;
01792 ;}
01793
break;
01794
01795
case 47:
01796
#line 347 "yacc.yy"
01797
{
01798
01799 yyval._str =
new QString( *(yyvsp[-2]._str) + *(yyvsp[0]._str) );
01800 ;}
01801
break;
01802
01803
case 48:
01804
#line 355 "yacc.yy"
01805
{
01806 yyval._str = yyvsp[0]._str;
01807 ;}
01808
break;
01809
01810
case 49:
01811
#line 359 "yacc.yy"
01812
{
01813 yyval._str =
new QString(
"" );
01814 ;}
01815
break;
01816
01817
case 50:
01818
#line 366 "yacc.yy"
01819
{
01820 ;}
01821
break;
01822
01823
case 52:
01824
#line 373 "yacc.yy"
01825
{
01826 yyval._str =
new QString(
"" );
01827 ;}
01828
break;
01829
01830
case 53:
01831
#line 377 "yacc.yy"
01832
{
01833 yyval._str =
new QString( *(yyvsp[-1]._str) + *(yyvsp[0]._str) );
01834 ;}
01835
break;
01836
01837
case 54:
01838
#line 381 "yacc.yy"
01839
{
01840 yyval._str =
new QString( *(yyvsp[-1]._str) + *(yyvsp[0]._str) );
01841 ;}
01842
break;
01843
01844
case 55:
01845
#line 385 "yacc.yy"
01846
{
01847 yyval._str =
new QString( *(yyvsp[-1]._str) + *(yyvsp[0]._str) );
01848 ;}
01849
break;
01850
01851
case 56:
01852
#line 389 "yacc.yy"
01853
{
01854 yyval._str = yyvsp[0]._str;
01855 ;}
01856
break;
01857
01858
case 57:
01859
#line 393 "yacc.yy"
01860
{
01861 yyval._str = yyvsp[0]._str;
01862 ;}
01863
break;
01864
01865
case 58:
01866
#line 397 "yacc.yy"
01867
{
01868 yyval._str = yyvsp[0]._str;
01869 ;}
01870
break;
01871
01872
case 59:
01873
#line 401 "yacc.yy"
01874
{
01875 yyval._str = yyvsp[0]._str;
01876 ;}
01877
break;
01878
01879
case 60:
01880
#line 405 "yacc.yy"
01881
{
01882 yyval._str = yyvsp[0]._str;
01883 ;}
01884
break;
01885
01886
case 61:
01887
#line 409 "yacc.yy"
01888
{
01889 yyval._str = yyvsp[0]._str;
01890 ;}
01891
break;
01892
01893
case 62:
01894
#line 413 "yacc.yy"
01895
{
01896 yyval._str = yyvsp[0]._str;
01897 ;}
01898
break;
01899
01900
case 63:
01901
#line 417 "yacc.yy"
01902
{
01903 yyval._str = yyvsp[0]._str;
01904 ;}
01905
break;
01906
01907
case 64:
01908
#line 421 "yacc.yy"
01909
{
01910 yyval._str = yyvsp[0]._str;
01911 ;}
01912
break;
01913
01914
case 65:
01915
#line 425 "yacc.yy"
01916
{
01917 yyval._str = yyvsp[0]._str;
01918 ;}
01919
break;
01920
01921
case 66:
01922
#line 429 "yacc.yy"
01923
{
01924 yyval._str = yyvsp[0]._str;
01925 ;}
01926
break;
01927
01928
case 67:
01929
#line 433 "yacc.yy"
01930
{
01931 yyval._str = yyvsp[0]._str;
01932 ;}
01933
break;
01934
01935
case 68:
01936
#line 437 "yacc.yy"
01937
{
01938 yyval._str = yyvsp[0]._str;
01939 ;}
01940
break;
01941
01942
case 75:
01943
#line 455 "yacc.yy"
01944
{;}
01945
break;
01946
01947
case 76:
01948
#line 456 "yacc.yy"
01949
{;}
01950
break;
01951
01952
case 77:
01953
#line 460 "yacc.yy"
01954
{;}
01955
break;
01956
01957
case 78:
01958
#line 461 "yacc.yy"
01959
{;}
01960
break;
01961
01962
case 79:
01963
#line 462 "yacc.yy"
01964
{;}
01965
break;
01966
01967
case 80:
01968
#line 463 "yacc.yy"
01969
{;}
01970
break;
01971
01972
case 81:
01973
#line 464 "yacc.yy"
01974
{;}
01975
break;
01976
01977
case 82:
01978
#line 468 "yacc.yy"
01979
{;}
01980
break;
01981
01982
case 83:
01983
#line 469 "yacc.yy"
01984
{;}
01985
break;
01986
01987
case 84:
01988
#line 470 "yacc.yy"
01989
{;}
01990
break;
01991
01992
case 85:
01993
#line 475 "yacc.yy"
01994
{
01995
if (dcop_area) {
01996 QString* tmp =
new QString(
"<TYPEDEF name=\"%1\" template=\"%2\"><PARAM %3</TYPEDEF>\n");
01997 *tmp = tmp->arg( *(yyvsp[-1]._str) ).arg( *(yyvsp[-5]._str) ).arg( *(yyvsp[-3]._str) );
01998 yyval._str = tmp;
01999 }
else {
02000 yyval._str =
new QString(
"");
02001 }
02002 ;}
02003
break;
02004
02005
case 86:
02006
#line 485 "yacc.yy"
02007
{
02008
if (dcop_area)
02009 yyerror(
"scoped template typedefs are not supported in dcop areas!");
02010 ;}
02011
break;
02012
02013
case 87:
02014
#line 493 "yacc.yy"
02015
{
02016 yyval._int = 0;
02017 ;}
02018
break;
02019
02020
case 88:
02021
#line 497 "yacc.yy"
02022
{
02023 yyval._int = 1;
02024 ;}
02025
break;
02026
02027
case 89:
02028
#line 503 "yacc.yy"
02029
{ yyval._str =
new QString(
"signed int"); ;}
02030
break;
02031
02032
case 90:
02033
#line 504 "yacc.yy"
02034
{ yyval._str =
new QString(
"signed int"); ;}
02035
break;
02036
02037
case 91:
02038
#line 505 "yacc.yy"
02039
{ yyval._str =
new QString(
"unsigned int"); ;}
02040
break;
02041
02042
case 92:
02043
#line 506 "yacc.yy"
02044
{ yyval._str =
new QString(
"unsigned int"); ;}
02045
break;
02046
02047
case 93:
02048
#line 507 "yacc.yy"
02049
{ yyval._str =
new QString(
"signed short int"); ;}
02050
break;
02051
02052
case 94:
02053
#line 508 "yacc.yy"
02054
{ yyval._str =
new QString(
"signed short int"); ;}
02055
break;
02056
02057
case 95:
02058
#line 509 "yacc.yy"
02059
{ yyval._str =
new QString(
"signed long int"); ;}
02060
break;
02061
02062
case 96:
02063
#line 510 "yacc.yy"
02064
{ yyval._str =
new QString(
"signed long int"); ;}
02065
break;
02066
02067
case 97:
02068
#line 511 "yacc.yy"
02069
{ yyval._str =
new QString(
"unsigned short int"); ;}
02070
break;
02071
02072
case 98:
02073
#line 512 "yacc.yy"
02074
{ yyval._str =
new QString(
"unsigned short int"); ;}
02075
break;
02076
02077
case 99:
02078
#line 513 "yacc.yy"
02079
{ yyval._str =
new QString(
"unsigned long int"); ;}
02080
break;
02081
02082
case 100:
02083
#line 514 "yacc.yy"
02084
{ yyval._str =
new QString(
"unsigned long int"); ;}
02085
break;
02086
02087
case 101:
02088
#line 515 "yacc.yy"
02089
{ yyval._str =
new QString(
"int"); ;}
02090
break;
02091
02092
case 102:
02093
#line 516 "yacc.yy"
02094
{ yyval._str =
new QString(
"long int"); ;}
02095
break;
02096
02097
case 103:
02098
#line 517 "yacc.yy"
02099
{ yyval._str =
new QString(
"long int"); ;}
02100
break;
02101
02102
case 104:
02103
#line 518 "yacc.yy"
02104
{ yyval._str =
new QString(
"short int"); ;}
02105
break;
02106
02107
case 105:
02108
#line 519 "yacc.yy"
02109
{ yyval._str =
new QString(
"short int"); ;}
02110
break;
02111
02112
case 106:
02113
#line 520 "yacc.yy"
02114
{ yyval._str =
new QString(
"char"); ;}
02115
break;
02116
02117
case 107:
02118
#line 521 "yacc.yy"
02119
{ yyval._str =
new QString(
"signed char"); ;}
02120
break;
02121
02122
case 108:
02123
#line 522 "yacc.yy"
02124
{ yyval._str =
new QString(
"unsigned char"); ;}
02125
break;
02126
02127
case 111:
02128
#line 532 "yacc.yy"
02129
{
02130 yyval._str =
new QString(
"" );
02131 ;}
02132
break;
02133
02134
case 113:
02135
#line 537 "yacc.yy"
02136
{
02137 yyval._str =
new QString( *(yyvsp[-2]._str) + *(yyvsp[0]._str) );
02138 ;}
02139
break;
02140
02141
case 115:
02142
#line 545 "yacc.yy"
02143
{ yyval._str = yyvsp[0]._str; ;}
02144
break;
02145
02146
case 116:
02147
#line 546 "yacc.yy"
02148
{ yyval._str = yyvsp[0]._str; ;}
02149
break;
02150
02151
case 117:
02152
#line 547 "yacc.yy"
02153
{ yyval._str = yyvsp[0]._str; ;}
02154
break;
02155
02156
case 118:
02157
#line 548 "yacc.yy"
02158
{
02159 QString *tmp =
new QString(
"%1<%2>");
02160 *tmp = tmp->arg(*(yyvsp[-3]._str));
02161 *tmp = tmp->arg(*(yyvsp[-1]._str));
02162 yyval._str = tmp;
02163 ;}
02164
break;
02165
02166
case 119:
02167
#line 554 "yacc.yy"
02168
{
02169 QString *tmp =
new QString(
"%1<%2>::%3");
02170 *tmp = tmp->arg(*(yyvsp[-5]._str));
02171 *tmp = tmp->arg(*(yyvsp[-3]._str));
02172 *tmp = tmp->arg(*(yyvsp[0]._str));
02173 yyval._str = tmp;
02174 ;}
02175
break;
02176
02177
case 120:
02178
#line 566 "yacc.yy"
02179
{
02180 yyval._str =
new QString(*(yyvsp[-2]._str) +
"," + *(yyvsp[0]._str));
02181 ;}
02182
break;
02183
02184
case 121:
02185
#line 570 "yacc.yy"
02186
{
02187 yyval._str = yyvsp[0]._str;
02188 ;}
02189
break;
02190
02191
case 122:
02192
#line 578 "yacc.yy"
02193
{
02194
if (dcop_area)
02195 yyerror(
"in dcop areas are no pointers allowed");
02196 ;}
02197
break;
02198
02199
case 123:
02200
#line 583 "yacc.yy"
02201
{
02202 yyval._str = yyvsp[0]._str;
02203 ;}
02204
break;
02205
02206
case 124:
02207
#line 592 "yacc.yy"
02208
{
02209
if (dcop_area)
02210 yyerror(
"in dcop areas are no pointers allowed");
02211 ;}
02212
break;
02213
02214
case 125:
02215
#line 596 "yacc.yy"
02216
{
02217
if (dcop_area) {
02218 QString* tmp =
new QString(
"<TYPE qleft=\"const\" qright=\"" AMP_ENTITY
"\">%1</TYPE>");
02219 *tmp = tmp->arg( *(yyvsp[-1]._str) );
02220 yyval._str = tmp;
02221 }
02222 ;}
02223
break;
02224
02225
case 126:
02226
#line 603 "yacc.yy"
02227
{
02228 QString* tmp =
new QString(
"<TYPE>%1</TYPE>");
02229 *tmp = tmp->arg( *(yyvsp[0]._str) );
02230 yyval._str = tmp;
02231 ;}
02232
break;
02233
02234
case 127:
02235
#line 608 "yacc.yy"
02236
{
02237 QString* tmp =
new QString(
"<TYPE>%1</TYPE>");
02238 *tmp = tmp->arg( *(yyvsp[-1]._str) );
02239 yyval._str = tmp;
02240 ;}
02241
break;
02242
02243
case 128:
02244
#line 613 "yacc.yy"
02245
{
02246
if (dcop_area) {
02247 QString* tmp =
new QString(
"<TYPE qleft=\"const\" qright=\"" AMP_ENTITY
"\">%1</TYPE>");
02248 *tmp = tmp->arg( *(yyvsp[-2]._str) );
02249 yyval._str = tmp;
02250 }
02251 ;}
02252
break;
02253
02254
case 129:
02255
#line 620 "yacc.yy"
02256
{
02257
if (dcop_area)
02258 yyerror(
"in dcop areas are only const references allowed!");
02259 ;}
02260
break;
02261
02262
case 130:
02263
#line 625 "yacc.yy"
02264
{
02265 QString* tmp =
new QString(
"<TYPE>%1</TYPE>");
02266 *tmp = tmp->arg( *(yyvsp[0]._str) );
02267 yyval._str = tmp;
02268 ;}
02269
break;
02270
02271
case 131:
02272
#line 631 "yacc.yy"
02273
{
02274
if (dcop_area)
02275 yyerror(
"in dcop areas are no pointers allowed");
02276 ;}
02277
break;
02278
02279
case 132:
02280
#line 639 "yacc.yy"
02281
{
02282 yyval._str =
new QString(*(yyvsp[-2]._str) +
"," + *(yyvsp[0]._str));
02283 ;}
02284
break;
02285
02286
case 133:
02287
#line 643 "yacc.yy"
02288
{
02289 yyval._str = yyvsp[0]._str;
02290 ;}
02291
break;
02292
02293
case 134:
02294
#line 650 "yacc.yy"
02295
{
02296
if (dcop_area) {
02297 QString* tmp =
new QString(
"\n <ARG>%1<NAME>%2</NAME></ARG>");
02298 *tmp = tmp->arg( *(yyvsp[-2]._str) );
02299 *tmp = tmp->arg( *(yyvsp[-1]._str) );
02300 yyval._str = tmp;
02301 }
else yyval._str =
new QString();
02302 ;}
02303
break;
02304
02305
case 135:
02306
#line 659 "yacc.yy"
02307
{
02308
if (dcop_area) {
02309 QString* tmp =
new QString(
"\n <ARG>%1</ARG>");
02310 *tmp = tmp->arg( *(yyvsp[-1]._str) );
02311 yyval._str = tmp;
02312 }
else yyval._str =
new QString();
02313 ;}
02314
break;
02315
02316
case 136:
02317
#line 667 "yacc.yy"
02318
{
02319
if (dcop_area)
02320 yyerror(
"variable arguments not supported in dcop area.");
02321 yyval._str =
new QString(
"");
02322 ;}
02323
break;
02324
02325
case 137:
02326
#line 676 "yacc.yy"
02327
{
02328 ;}
02329
break;
02330
02331
case 138:
02332
#line 679 "yacc.yy"
02333
{
02334 ;}
02335
break;
02336
02337
case 139:
02338
#line 682 "yacc.yy"
02339
{
02340 ;}
02341
break;
02342
02343
case 140:
02344
#line 689 "yacc.yy"
02345
{
02346 ;}
02347
break;
02348
02349
case 141:
02350
#line 692 "yacc.yy"
02351
{
02352 ;}
02353
break;
02354
02355
case 142:
02356
#line 695 "yacc.yy"
02357
{
02358 ;}
02359
break;
02360
02361
case 143:
02362
#line 698 "yacc.yy"
02363
{
02364 ;}
02365
break;
02366
02367
case 144:
02368
#line 701 "yacc.yy"
02369
{
02370 ;}
02371
break;
02372
02373
case 145:
02374
#line 706 "yacc.yy"
02375
{ yyval._int = 0; ;}
02376
break;
02377
02378
case 146:
02379
#line 707 "yacc.yy"
02380
{ yyval._int = 1; ;}
02381
break;
02382
02383
case 152:
02384
#line 716 "yacc.yy"
02385
{
02386
if (dcop_area || dcop_signal_area) {
02387 QString* tmp = 0;
02388 tmp =
new QString(
02389
" <%4>\n"
02390
" %2\n"
02391
" <NAME>%1</NAME>"
02392
"%3\n"
02393
" </%5>\n");
02394 *tmp = tmp->arg( *(yyvsp[-4]._str) );
02395 *tmp = tmp->arg( *(yyvsp[-5]._str) );
02396 *tmp = tmp->arg( *(yyvsp[-2]._str) );
02397
02398 QString tagname = (dcop_signal_area) ?
"SIGNAL" :
"FUNC";
02399 QString attr = (yyvsp[0]._int) ?
" qual=\"const\"" :
"";
02400 *tmp = tmp->arg( QString(
"%1%2").arg(tagname).arg(attr) );
02401 *tmp = tmp->arg( QString(
"%1").arg(tagname) );
02402 yyval._str = tmp;
02403 }
else
02404 yyval._str =
new QString(
"");
02405 ;}
02406
break;
02407
02408
case 153:
02409
#line 738 "yacc.yy"
02410
{
02411
if (dcop_area)
02412 yyerror(
"operators aren't allowed in dcop areas!");
02413 yyval._str =
new QString(
"");
02414 ;}
02415
break;
02416
02417
case 154:
02418
#line 748 "yacc.yy"
02419
{;}
02420
break;
02421
02422
case 155:
02423
#line 749 "yacc.yy"
02424
{;}
02425
break;
02426
02427
case 156:
02428
#line 750 "yacc.yy"
02429
{;}
02430
break;
02431
02432
case 157:
02433
#line 755 "yacc.yy"
02434
{;}
02435
break;
02436
02437
case 158:
02438
#line 760 "yacc.yy"
02439
{;}
02440
break;
02441
02442
case 159:
02443
#line 761 "yacc.yy"
02444
{;}
02445
break;
02446
02447
case 160:
02448
#line 766 "yacc.yy"
02449
{
02450 yyval._str = yyvsp[-1]._str;
02451 ;}
02452
break;
02453
02454
case 161:
02455
#line 770 "yacc.yy"
02456
{
02457 yyval._str = yyvsp[-3]._str;
02458 ;}
02459
break;
02460
02461
case 162:
02462
#line 774 "yacc.yy"
02463
{
02464 yyval._str = yyvsp[-1]._str;
02465 ;}
02466
break;
02467
02468
case 163:
02469
#line 778 "yacc.yy"
02470
{
02471
02472 assert(!dcop_area);
02473 yyval._str =
new QString(
"");
02474 ;}
02475
break;
02476
02477
case 164:
02478
#line 784 "yacc.yy"
02479
{
02480
02481 assert(!dcop_area);
02482 yyval._str =
new QString(
"");
02483 ;}
02484
break;
02485
02486
case 165:
02487
#line 790 "yacc.yy"
02488
{
02489
02490 assert(!dcop_area);
02491 yyval._str =
new QString(
"");
02492 ;}
02493
break;
02494
02495
case 166:
02496
#line 796 "yacc.yy"
02497
{
02498
if (dcop_area) {
02499
if (dcop_signal_area)
02500 yyerror(
"DCOP signals cannot be static");
02501
else
02502 yyerror(
"DCOP functions cannot be static");
02503 }
else {
02504 yyval._str =
new QString();
02505 }
02506 ;}
02507
break;
02508
02509
case 167:
02510
#line 809 "yacc.yy"
02511
{
02512 function_mode = 1;
02513 ;}
02514
break;
02515
02516
case 171:
02517
#line 821 "yacc.yy"
02518
{;}
02519
break;
02520
02521
case 172:
02522
#line 822 "yacc.yy"
02523
{;}
02524
break;
02525
02526
case 176:
02527
#line 834 "yacc.yy"
02528
{;}
02529
break;
02530
02531
case 177:
02532
#line 835 "yacc.yy"
02533
{;}
02534
break;
02535
02536
case 178:
02537
#line 836 "yacc.yy"
02538
{;}
02539
break;
02540
02541
case 179:
02542
#line 839 "yacc.yy"
02543
{;}
02544
break;
02545
02546
case 180:
02547
#line 843 "yacc.yy"
02548
{;}
02549
break;
02550
02551
case 181:
02552
#line 844 "yacc.yy"
02553
{;}
02554
break;
02555
02556
case 182:
02557
#line 845 "yacc.yy"
02558
{;}
02559
break;
02560
02561
case 183:
02562
#line 846 "yacc.yy"
02563
{;}
02564
break;
02565
02566
case 184:
02567
#line 847 "yacc.yy"
02568
{;}
02569
break;
02570
02571
02572 }
02573
02574
02575
#line 2576 "yacc.cc"
02576
02577 yyvsp -= yylen;
02578 yyssp -= yylen;
02579
02580
02581 YY_STACK_PRINT (yyss, yyssp);
02582
02583 *++yyvsp = yyval;
02584
02585
02586
02587
02588
02589
02590 yyn = yyr1[yyn];
02591
02592 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
02593
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
02594 yystate = yytable[yystate];
02595
else
02596 yystate = yydefgoto[yyn - YYNTOKENS];
02597
02598
goto yynewstate;
02599
02600
02601
02602
02603
02604 yyerrlab:
02605
02606
if (!yyerrstatus)
02607 {
02608 ++yynerrs;
02609
#if YYERROR_VERBOSE
02610
yyn = yypact[yystate];
02611
02612
if (YYPACT_NINF < yyn && yyn < YYLAST)
02613 {
02614 YYSIZE_T yysize = 0;
02615
int yytype = YYTRANSLATE (yychar);
02616
const char* yyprefix;
02617
char *yymsg;
02618
int yyx;
02619
02620
02621
02622
int yyxbegin = yyn < 0 ? -yyn : 0;
02623
02624
02625
int yychecklim = YYLAST - yyn;
02626
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
02627
int yycount = 0;
02628
02629 yyprefix =
", expecting ";
02630
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
02631
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
02632 {
02633 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
02634 yycount += 1;
02635
if (yycount == 5)
02636 {
02637 yysize = 0;
02638
break;
02639 }
02640 }
02641 yysize += (
sizeof (
"syntax error, unexpected ")
02642 + yystrlen (yytname[yytype]));
02643 yymsg = (
char *) YYSTACK_ALLOC (yysize);
02644
if (yymsg != 0)
02645 {
02646
char *yyp = yystpcpy (yymsg,
"syntax error, unexpected ");
02647 yyp = yystpcpy (yyp, yytname[yytype]);
02648
02649
if (yycount < 5)
02650 {
02651 yyprefix =
", expecting ";
02652
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
02653
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
02654 {
02655 yyp = yystpcpy (yyp, yyprefix);
02656 yyp = yystpcpy (yyp, yytname[yyx]);
02657 yyprefix =
" or ";
02658 }
02659 }
02660 yyerror (yymsg);
02661 YYSTACK_FREE (yymsg);
02662 }
02663
else
02664 yyerror (
"syntax error; also virtual memory exhausted");
02665 }
02666
else
02667
#endif
02668 yyerror (
"syntax error");
02669 }
02670
02671
02672
02673
if (yyerrstatus == 3)
02674 {
02675
02676
02677
02678
if (yychar <= YYEOF)
02679 {
02680
02681
02682
if (yychar == YYEOF)
02683
for (;;)
02684 {
02685 YYPOPSTACK;
02686
if (yyssp == yyss)
02687 YYABORT;
02688 YYDSYMPRINTF (
"Error: popping", yystos[*yyssp], yyvsp, yylsp);
02689 yydestruct (yystos[*yyssp], yyvsp);
02690 }
02691 }
02692
else
02693 {
02694 YYDSYMPRINTF (
"Error: discarding", yytoken, &yylval, &yylloc);
02695 yydestruct (yytoken, &yylval);
02696 yychar = YYEMPTY;
02697
02698 }
02699 }
02700
02701
02702
02703
goto yyerrlab1;
02704
02705
02706
02707
02708
02709 yyerrorlab:
02710
02711
#ifdef __GNUC__
02712
02713
02714
if (0)
02715
goto yyerrorlab;
02716
#endif
02717
02718 yyvsp -= yylen;
02719 yyssp -= yylen;
02720 yystate = *yyssp;
02721
goto yyerrlab1;
02722
02723
02724
02725
02726
02727 yyerrlab1:
02728 yyerrstatus = 3;
02729
02730
for (;;)
02731 {
02732 yyn = yypact[yystate];
02733
if (yyn != YYPACT_NINF)
02734 {
02735 yyn += YYTERROR;
02736
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
02737 {
02738 yyn = yytable[yyn];
02739
if (0 < yyn)
02740
break;
02741 }
02742 }
02743
02744
02745
if (yyssp == yyss)
02746 YYABORT;
02747
02748 YYDSYMPRINTF (
"Error: popping", yystos[*yyssp], yyvsp, yylsp);
02749 yydestruct (yystos[yystate], yyvsp);
02750 YYPOPSTACK;
02751 yystate = *yyssp;
02752 YY_STACK_PRINT (yyss, yyssp);
02753 }
02754
02755
if (yyn == YYFINAL)
02756 YYACCEPT;
02757
02758 YYDPRINTF ((stderr,
"Shifting error token, "));
02759
02760 *++yyvsp = yylval;
02761
02762
02763 yystate = yyn;
02764
goto yynewstate;
02765
02766
02767
02768
02769
02770 yyacceptlab:
02771 yyresult = 0;
02772
goto yyreturn;
02773
02774
02775
02776
02777 yyabortlab:
02778 yyresult = 1;
02779
goto yyreturn;
02780
02781
#ifndef yyoverflow
02782
02783
02784
02785 yyoverflowlab:
02786 yyerror (
"parser stack overflow");
02787 yyresult = 2;
02788
02789
#endif
02790
02791 yyreturn:
02792
#ifndef yyoverflow
02793
if (yyss != yyssa)
02794 YYSTACK_FREE (yyss);
02795
#endif
02796
return yyresult;
02797 }
02798
02799
02800
#line 850 "yacc.yy"
02801
02802
02803
void dcopidlParse(
const char *_code )
02804 {
02805 dcopidlInitFlex( _code );
02806 yyparse();
02807 }
02808