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