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