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