• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • dcop
 

dcop

  • dcop
  • dcopidl
yacc.cc
1 
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3 
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 
6  Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7  Free Software Foundation, Inc.
8 
9  This program is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program. If not, see <http://www.gnu.org/licenses/>. */
21 
22 /* As a special exception, you may create a larger work that contains
23  part or all of the Bison parser skeleton and distribute that work
24  under terms of your choice, so long as that work isn't itself a
25  parser generator using the skeleton or a modified version thereof
26  as a parser skeleton. Alternatively, if you modify or redistribute
27  the parser skeleton itself, you may (at your option) remove this
28  special exception, which will cause the skeleton and the resulting
29  Bison output files to be licensed under the GNU General Public
30  License without this special exception.
31 
32  This special exception was added by the Free Software Foundation in
33  version 2.2 of Bison. */
34 
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36  simplifying the original so-called "semantic" parser. */
37 
38 /* All symbols defined below should begin with yy or YY, to avoid
39  infringing on user name space. This should be done even for local
40  variables, as they might otherwise be expanded by user macros.
41  There are some unavoidable exceptions within include files to
42  define necessary library symbols; they are noted "INFRINGES ON
43  USER NAME SPACE" below. */
44 
45 /* Identify Bison output. */
46 #define YYBISON 1
47 
48 /* Bison version. */
49 #define YYBISON_VERSION "2.4.1"
50 
51 /* Skeleton name. */
52 #define YYSKELETON_NAME "yacc.c"
53 
54 /* Pure parsers. */
55 #define YYPURE 0
56 
57 /* Push parsers. */
58 #define YYPUSH 0
59 
60 /* Pull parsers. */
61 #define YYPULL 1
62 
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
65 
66 
67 
68 /* Copy the first part of user declarations. */
69 
70 /* Line 189 of yacc.c */
71 #line 1 "yacc.yy"
72 
73 /*****************************************************************
74 Copyright (c) 1999 Torben Weis <weis@kde.org>
75 Copyright (c) 2000 Matthias Ettrich <ettrich@kde.org>
76 
77 Permission is hereby granted, free of charge, to any person obtaining a copy
78 of this software and associated documentation files (the "Software"), to deal
79 in the Software without restriction, including without limitation the rights
80 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
81 copies of the Software, and to permit persons to whom the Software is
82 furnished to do so, subject to the following conditions:
83 
84 The above copyright notice and this permission notice shall be included in
85 all copies or substantial portions of the Software.
86 
87 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
89 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
90 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
91 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
92 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
93 
94 ******************************************************************/
95 
96 #include <config.h>
97 
98 // Workaround for a bison issue:
99 // bison.simple concludes from _GNU_SOURCE that stpcpy is available,
100 // while GNU string.h only exposes it if __USE_GNU is set.
101 #ifdef _GNU_SOURCE
102 #define __USE_GNU 1
103 #endif
104 
105 #include <stdlib.h>
106 #include <stdio.h>
107 #include <assert.h>
108 
109 #include <tqstring.h>
110 
111 #define AMP_ENTITY "&amp;"
112 #define YYERROR_VERBOSE
113 
114 extern int yylex();
115 
116 // extern QString idl_lexFile;
117 extern int idl_line_no;
118 extern int function_mode;
119 
120 static int dcop_area = 0;
121 static int dcop_signal_area = 0;
122 
123 static QString in_namespace( "" );
124 
125 void dcopidlInitFlex( const char *_code );
126 
127 void yyerror( const char *s )
128 {
129  tqDebug( "In line %i : %s", idl_line_no, s );
130  exit(1);
131  // theParser->parse_error( idl_lexFile, s, idl_line_no );
132 }
133 
134 
135 
136 /* Line 189 of yacc.c */
137 #line 138 "yacc.cc"
138 
139 /* Enabling traces. */
140 #ifndef YYDEBUG
141 # define YYDEBUG 1
142 #endif
143 
144 /* Enabling verbose error messages. */
145 #ifdef YYERROR_VERBOSE
146 # undef YYERROR_VERBOSE
147 # define YYERROR_VERBOSE 1
148 #else
149 # define YYERROR_VERBOSE 0
150 #endif
151 
152 /* Enabling the token table. */
153 #ifndef YYTOKEN_TABLE
154 # define YYTOKEN_TABLE 0
155 #endif
156 
157 
158 /* Tokens. */
159 #ifndef YYTOKENTYPE
160 # define YYTOKENTYPE
161  /* Put the tokens into the symbol table, so that GDB and other debuggers
162  know about them. */
163  enum yytokentype {
164  T_UNIMPORTANT = 258,
165  T_CHARACTER_LITERAL = 259,
166  T_DOUBLE_LITERAL = 260,
167  T_IDENTIFIER = 261,
168  T_INTEGER_LITERAL = 262,
169  T_STRING_LITERAL = 263,
170  T_INCLUDE = 264,
171  T_CLASS = 265,
172  T_STRUCT = 266,
173  T_LEFT_CURLY_BRACKET = 267,
174  T_LEFT_PARANTHESIS = 268,
175  T_RIGHT_CURLY_BRACKET = 269,
176  T_RIGHT_PARANTHESIS = 270,
177  T_COLON = 271,
178  T_SEMICOLON = 272,
179  T_PUBLIC = 273,
180  T_PROTECTED = 274,
181  T_TRIPE_DOT = 275,
182  T_PRIVATE = 276,
183  T_VIRTUAL = 277,
184  T_CONST = 278,
185  T_INLINE = 279,
186  T_FRIEND = 280,
187  T_RETURN = 281,
188  T_SIGNAL = 282,
189  T_SLOT = 283,
190  T_TYPEDEF = 284,
191  T_PLUS = 285,
192  T_MINUS = 286,
193  T_COMMA = 287,
194  T_ASTERISK = 288,
195  T_TILDE = 289,
196  T_LESS = 290,
197  T_GREATER = 291,
198  T_AMPERSAND = 292,
199  T_EXTERN = 293,
200  T_EXTERN_C = 294,
201  T_ACCESS = 295,
202  T_ENUM = 296,
203  T_NAMESPACE = 297,
204  T_USING = 298,
205  T_UNKNOWN = 299,
206  T_TRIPLE_DOT = 300,
207  T_TRUE = 301,
208  T_FALSE = 302,
209  T_STATIC = 303,
210  T_MUTABLE = 304,
211  T_EQUAL = 305,
212  T_SCOPE = 306,
213  T_NULL = 307,
214  T_INT = 308,
215  T_ARRAY_OPEN = 309,
216  T_ARRAY_CLOSE = 310,
217  T_CHAR = 311,
218  T_DCOP = 312,
219  T_DCOP_AREA = 313,
220  T_DCOP_SIGNAL_AREA = 314,
221  T_SIGNED = 315,
222  T_UNSIGNED = 316,
223  T_LONG = 317,
224  T_SHORT = 318,
225  T_FUNOPERATOR = 319,
226  T_MISCOPERATOR = 320,
227  T_SHIFT = 321
228  };
229 #endif
230 
231 
232 
233 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
234 typedef union YYSTYPE
235 {
236 
237 /* Line 214 of yacc.c */
238 #line 67 "yacc.yy"
239 
240  long _int;
241  QString *_str;
242  unsigned short _char;
243  double _float;
244 
245 
246 
247 /* Line 214 of yacc.c */
248 #line 249 "yacc.cc"
249 } YYSTYPE;
250 # define YYSTYPE_IS_TRIVIAL 1
251 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
252 # define YYSTYPE_IS_DECLARED 1
253 #endif
254 
255 
256 /* Copy the second part of user declarations. */
257 
258 
259 /* Line 264 of yacc.c */
260 #line 261 "yacc.cc"
261 
262 #ifdef short
263 # undef short
264 #endif
265 
266 #ifdef YYTYPE_UINT8
267 typedef YYTYPE_UINT8 yytype_uint8;
268 #else
269 typedef unsigned char yytype_uint8;
270 #endif
271 
272 #ifdef YYTYPE_INT8
273 typedef YYTYPE_INT8 yytype_int8;
274 #elif (defined __STDC__ || defined __C99__FUNC__ \
275  || defined __cplusplus || defined _MSC_VER)
276 typedef signed char yytype_int8;
277 #else
278 typedef short int yytype_int8;
279 #endif
280 
281 #ifdef YYTYPE_UINT16
282 typedef YYTYPE_UINT16 yytype_uint16;
283 #else
284 typedef unsigned short int yytype_uint16;
285 #endif
286 
287 #ifdef YYTYPE_INT16
288 typedef YYTYPE_INT16 yytype_int16;
289 #else
290 typedef short int yytype_int16;
291 #endif
292 
293 #ifndef YYSIZE_T
294 # ifdef __SIZE_TYPE__
295 # define YYSIZE_T __SIZE_TYPE__
296 # elif defined size_t
297 # define YYSIZE_T size_t
298 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
299  || defined __cplusplus || defined _MSC_VER)
300 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
301 # define YYSIZE_T size_t
302 # else
303 # define YYSIZE_T unsigned int
304 # endif
305 #endif
306 
307 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
308 
309 #ifndef YY_
310 # if YYENABLE_NLS
311 # if ENABLE_NLS
312 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
313 # define YY_(msgid) dgettext ("bison-runtime", msgid)
314 # endif
315 # endif
316 # ifndef YY_
317 # define YY_(msgid) msgid
318 # endif
319 #endif
320 
321 /* Suppress unused-variable warnings by "using" E. */
322 #if ! defined lint || defined __GNUC__
323 # define YYUSE(e) ((void) (e))
324 #else
325 # define YYUSE(e) /* empty */
326 #endif
327 
328 /* Identity function, used to suppress warnings about constant conditions. */
329 #ifndef lint
330 # define YYID(n) (n)
331 #else
332 #if (defined __STDC__ || defined __C99__FUNC__ \
333  || defined __cplusplus || defined _MSC_VER)
334 static int
335 YYID (int yyi)
336 #else
337 static int
338 YYID (yyi)
339  int yyi;
340 #endif
341 {
342  return yyi;
343 }
344 #endif
345 
346 #if ! defined yyoverflow || YYERROR_VERBOSE
347 
348 /* The parser invokes alloca or malloc; define the necessary symbols. */
349 
350 # ifdef YYSTACK_USE_ALLOCA
351 # if YYSTACK_USE_ALLOCA
352 # ifdef __GNUC__
353 # define YYSTACK_ALLOC __builtin_alloca
354 # elif defined __BUILTIN_VA_ARG_INCR
355 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
356 # elif defined _AIX
357 # define YYSTACK_ALLOC __alloca
358 # elif defined _MSC_VER
359 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
360 # define alloca _alloca
361 # else
362 # define YYSTACK_ALLOC alloca
363 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
364  || defined __cplusplus || defined _MSC_VER)
365 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
366 # ifndef _STDLIB_H
367 # define _STDLIB_H 1
368 # endif
369 # endif
370 # endif
371 # endif
372 # endif
373 
374 # ifdef YYSTACK_ALLOC
375  /* Pacify GCC's `empty if-body' warning. */
376 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
377 # ifndef YYSTACK_ALLOC_MAXIMUM
378  /* The OS might guarantee only one guard page at the bottom of the stack,
379  and a page size can be as small as 4096 bytes. So we cannot safely
380  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
381  to allow for a few compiler-allocated temporary stack slots. */
382 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
383 # endif
384 # else
385 # define YYSTACK_ALLOC YYMALLOC
386 # define YYSTACK_FREE YYFREE
387 # ifndef YYSTACK_ALLOC_MAXIMUM
388 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
389 # endif
390 # if (defined __cplusplus && ! defined _STDLIB_H \
391  && ! ((defined YYMALLOC || defined malloc) \
392  && (defined YYFREE || defined free)))
393 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
394 # ifndef _STDLIB_H
395 # define _STDLIB_H 1
396 # endif
397 # endif
398 # ifndef YYMALLOC
399 # define YYMALLOC malloc
400 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
401  || defined __cplusplus || defined _MSC_VER)
402 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
403 # endif
404 # endif
405 # ifndef YYFREE
406 # define YYFREE free
407 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
408  || defined __cplusplus || defined _MSC_VER)
409 void free (void *); /* INFRINGES ON USER NAME SPACE */
410 # endif
411 # endif
412 # endif
413 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
414 
415 
416 #if (! defined yyoverflow \
417  && (! defined __cplusplus \
418  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
419 
420 /* A type that is properly aligned for any stack member. */
421 union yyalloc
422 {
423  yytype_int16 yyss_alloc;
424  YYSTYPE yyvs_alloc;
425 };
426 
427 /* The size of the maximum gap between one aligned stack and the next. */
428 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
429 
430 /* The size of an array large to enough to hold all stacks, each with
431  N elements. */
432 # define YYSTACK_BYTES(N) \
433  ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
434  + YYSTACK_GAP_MAXIMUM)
435 
436 /* Copy COUNT objects from FROM to TO. The source and destination do
437  not overlap. */
438 # ifndef YYCOPY
439 # if defined __GNUC__ && 1 < __GNUC__
440 # define YYCOPY(To, From, Count) \
441  __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
442 # else
443 # define YYCOPY(To, From, Count) \
444  do \
445  { \
446  YYSIZE_T yyi; \
447  for (yyi = 0; yyi < (Count); yyi++) \
448  (To)[yyi] = (From)[yyi]; \
449  } \
450  while (YYID (0))
451 # endif
452 # endif
453 
454 /* Relocate STACK from its old location to the new one. The
455  local variables YYSIZE and YYSTACKSIZE give the old and new number of
456  elements in the stack, and YYPTR gives the new location of the
457  stack. Advance YYPTR to a properly aligned location for the next
458  stack. */
459 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
460  do \
461  { \
462  YYSIZE_T yynewbytes; \
463  YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
464  Stack = &yyptr->Stack_alloc; \
465  yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
466  yyptr += yynewbytes / sizeof (*yyptr); \
467  } \
468  while (YYID (0))
469 
470 #endif
471 
472 /* YYFINAL -- State number of the termination state. */
473 #define YYFINAL 5
474 /* YYLAST -- Last index in YYTABLE. */
475 #define YYLAST 559
476 
477 /* YYNTOKENS -- Number of terminals. */
478 #define YYNTOKENS 67
479 /* YYNNTS -- Number of nonterminals. */
480 #define YYNNTS 53
481 /* YYNRULES -- Number of rules. */
482 #define YYNRULES 185
483 /* YYNRULES -- Number of states. */
484 #define YYNSTATES 374
485 
486 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
487 #define YYUNDEFTOK 2
488 #define YYMAXUTOK 321
489 
490 #define YYTRANSLATE(YYX) \
491  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
492 
493 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
494 static const yytype_uint8 yytranslate[] =
495 {
496  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
497  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
498  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
499  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
500  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
501  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
502  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
503  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
504  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
505  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
506  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
507  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
508  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
509  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
510  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
511  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
512  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
513  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
514  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
515  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
516  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
517  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
518  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
519  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
520  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
521  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
522  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
523  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
524  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
525  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
526  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
527  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
528  65, 66
529 };
530 
531 #if YYDEBUG
532 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
533  YYRHS. */
534 static const yytype_uint16 yyprhs[] =
535 {
536  0, 0, 3, 7, 8, 11, 16, 17, 19, 20,
537  27, 35, 39, 43, 49, 50, 58, 63, 69, 72,
538  77, 85, 94, 97, 99, 101, 103, 106, 107, 109,
539  111, 113, 115, 117, 119, 121, 122, 126, 129, 132,
540  135, 137, 141, 143, 148, 152, 154, 157, 161, 164,
541  166, 167, 169, 171, 174, 178, 181, 184, 187, 190,
542  193, 196, 202, 207, 212, 217, 224, 229, 236, 243,
543  251, 258, 265, 271, 275, 277, 281, 283, 285, 287,
544  290, 292, 294, 296, 300, 304, 312, 322, 323, 325,
545  327, 330, 332, 335, 338, 342, 345, 349, 352, 356,
546  359, 363, 365, 367, 370, 372, 375, 377, 380, 383,
547  386, 388, 389, 391, 395, 397, 399, 402, 405, 410,
548  417, 421, 423, 426, 428, 432, 436, 439, 442, 446,
549  449, 451, 454, 458, 460, 464, 467, 469, 470, 473,
550  479, 481, 483, 485, 487, 492, 493, 495, 497, 499,
551  501, 503, 505, 512, 520, 522, 526, 527, 532, 534,
552  538, 541, 547, 551, 557, 565, 572, 576, 578, 580,
553  584, 589, 592, 593, 595, 598, 599, 601, 605, 608,
554  611, 615, 621, 627, 633, 640
555 };
556 
557 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
558 static const yytype_int8 yyrhs[] =
559 {
560  68, 0, -1, 69, 71, 68, -1, -1, 69, 9,
561  -1, 39, 12, 68, 14, -1, -1, 57, -1, -1,
562  10, 80, 84, 70, 86, 17, -1, 10, 6, 80,
563  84, 70, 86, 17, -1, 10, 80, 17, -1, 11,
564  80, 17, -1, 11, 80, 84, 86, 17, -1, -1,
565  42, 6, 12, 72, 68, 14, 85, -1, 43, 42,
566  6, 17, -1, 43, 6, 51, 6, 17, -1, 38,
567  17, -1, 29, 100, 80, 17, -1, 29, 11, 12,
568  73, 14, 80, 17, -1, 29, 11, 80, 12, 73,
569  14, 80, 17, -1, 24, 111, -1, 111, -1, 119,
570  -1, 87, -1, 119, 73, -1, -1, 46, -1, 47,
571  -1, 21, -1, 19, -1, 18, -1, 27, -1, 28,
572  -1, -1, 75, 76, 16, -1, 76, 16, -1, 58,
573  16, -1, 59, 16, -1, 6, -1, 6, 51, 80,
574  -1, 80, -1, 80, 35, 101, 36, -1, 105, 18,
575  81, -1, 81, -1, 82, 12, -1, 82, 32, 83,
576  -1, 16, 83, -1, 12, -1, -1, 17, -1, 14,
577  -1, 92, 86, -1, 24, 111, 86, -1, 111, 86,
578  -1, 79, 86, -1, 87, 86, -1, 78, 86, -1,
579  77, 86, -1, 119, 86, -1, 25, 10, 80, 17,
580  86, -1, 25, 80, 17, 86, -1, 25, 107, 17,
581  86, -1, 10, 80, 17, 86, -1, 10, 80, 84,
582  86, 17, 86, -1, 11, 80, 17, 86, -1, 11,
583  80, 84, 86, 17, 86, -1, 43, 6, 51, 6,
584  17, 86, -1, 41, 6, 12, 88, 14, 6, 17,
585  -1, 41, 6, 12, 88, 14, 17, -1, 41, 12,
586  88, 14, 6, 17, -1, 41, 12, 88, 14, 17,
587  -1, 89, 32, 88, -1, 89, -1, 6, 50, 91,
588  -1, 6, -1, 4, -1, 7, -1, 31, 7, -1,
589  52, -1, 80, -1, 90, -1, 90, 30, 90, -1,
590  90, 66, 90, -1, 29, 80, 35, 101, 36, 80,
591  17, -1, 29, 80, 35, 101, 36, 51, 6, 80,
592  17, -1, -1, 23, -1, 60, -1, 60, 53, -1,
593  61, -1, 61, 53, -1, 60, 63, -1, 60, 63,
594  53, -1, 60, 62, -1, 60, 62, 53, -1, 61,
595  63, -1, 61, 63, 53, -1, 61, 62, -1, 61,
596  62, 53, -1, 53, -1, 62, -1, 62, 53, -1,
597  63, -1, 63, 53, -1, 56, -1, 60, 56, -1,
598  61, 56, -1, 33, 95, -1, 33, -1, -1, 102,
599  -1, 96, 32, 102, -1, 94, -1, 80, -1, 11,
600  80, -1, 10, 80, -1, 80, 35, 98, 36, -1,
601  80, 35, 98, 36, 51, 80, -1, 99, 32, 98,
602  -1, 99, -1, 97, 95, -1, 97, -1, 23, 97,
603  95, -1, 23, 97, 37, -1, 23, 97, -1, 97,
604  23, -1, 97, 23, 37, -1, 97, 37, -1, 97,
605  -1, 97, 95, -1, 100, 32, 101, -1, 100, -1,
606  100, 80, 103, -1, 100, 103, -1, 45, -1, -1,
607  50, 104, -1, 50, 13, 100, 15, 104, -1, 8,
608  -1, 91, -1, 5, -1, 74, -1, 80, 13, 96,
609  15, -1, -1, 22, -1, 65, -1, 66, -1, 36,
610  -1, 35, -1, 50, -1, 100, 80, 13, 96, 15,
611  93, -1, 100, 64, 106, 13, 96, 15, 93, -1,
612  104, -1, 104, 32, 108, -1, -1, 6, 13, 108,
613  15, -1, 109, -1, 109, 32, 110, -1, 107, 113,
614  -1, 22, 107, 50, 52, 113, -1, 22, 107, 113,
615  -1, 80, 13, 96, 15, 113, -1, 80, 13, 96,
616  15, 16, 110, 113, -1, 105, 34, 80, 13, 15,
617  113, -1, 48, 107, 113, -1, 12, -1, 17, -1,
618  112, 114, 14, -1, 112, 114, 14, 17, -1, 115,
619  114, -1, -1, 17, -1, 32, 118, -1, -1, 6,
620  -1, 6, 50, 104, -1, 95, 6, -1, 117, 116,
621  -1, 100, 118, 17, -1, 100, 80, 16, 7, 17,
622  -1, 48, 100, 6, 103, 17, -1, 49, 100, 6,
623  103, 17, -1, 100, 6, 54, 91, 55, 17, -1,
624  48, 100, 6, 54, 91, 55, 17, -1
625 };
626 
627 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
628 static const yytype_uint16 yyrline[] =
629 {
630  0, 164, 164, 167, 171, 175, 179, 184, 185, 189,
631  198, 207, 210, 213, 217, 216, 228, 231, 234, 237,
632  240, 243, 246, 249, 252, 255, 261, 262, 265, 265,
633  267, 267, 267, 269, 269, 269, 272, 277, 285, 293,
634  305, 308, 316, 322, 331, 335, 342, 346, 354, 358,
635  366, 368, 372, 376, 380, 384, 388, 392, 396, 400,
636  404, 408, 412, 416, 420, 424, 428, 432, 436, 443,
637  444, 445, 446, 450, 451, 455, 456, 460, 461, 462,
638  463, 464, 468, 469, 470, 474, 484, 493, 496, 503,
639  504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
640  514, 515, 516, 517, 518, 519, 520, 521, 522, 526,
641  527, 532, 535, 536, 544, 545, 546, 547, 548, 554,
642  565, 569, 577, 582, 591, 596, 603, 608, 613, 620,
643  625, 630, 638, 642, 649, 658, 666, 676, 678, 681,
644  688, 691, 694, 697, 700, 706, 707, 711, 711, 711,
645  711, 711, 715, 737, 748, 749, 750, 755, 760, 761,
646  765, 769, 773, 777, 783, 789, 795, 808, 815, 816,
647  817, 821, 822, 826, 830, 831, 834, 835, 836, 839,
648  843, 844, 845, 846, 847, 848
649 };
650 #endif
651 
652 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
653 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
654  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
655 static const char *const yytname[] =
656 {
657  "$end", "error", "$undefined", "T_UNIMPORTANT", "T_CHARACTER_LITERAL",
658  "T_DOUBLE_LITERAL", "T_IDENTIFIER", "T_INTEGER_LITERAL",
659  "T_STRING_LITERAL", "T_INCLUDE", "T_CLASS", "T_STRUCT",
660  "T_LEFT_CURLY_BRACKET", "T_LEFT_PARANTHESIS", "T_RIGHT_CURLY_BRACKET",
661  "T_RIGHT_PARANTHESIS", "T_COLON", "T_SEMICOLON", "T_PUBLIC",
662  "T_PROTECTED", "T_TRIPE_DOT", "T_PRIVATE", "T_VIRTUAL", "T_CONST",
663  "T_INLINE", "T_FRIEND", "T_RETURN", "T_SIGNAL", "T_SLOT", "T_TYPEDEF",
664  "T_PLUS", "T_MINUS", "T_COMMA", "T_ASTERISK", "T_TILDE", "T_LESS",
665  "T_GREATER", "T_AMPERSAND", "T_EXTERN", "T_EXTERN_C", "T_ACCESS",
666  "T_ENUM", "T_NAMESPACE", "T_USING", "T_UNKNOWN", "T_TRIPLE_DOT",
667  "T_TRUE", "T_FALSE", "T_STATIC", "T_MUTABLE", "T_EQUAL", "T_SCOPE",
668  "T_NULL", "T_INT", "T_ARRAY_OPEN", "T_ARRAY_CLOSE", "T_CHAR", "T_DCOP",
669  "T_DCOP_AREA", "T_DCOP_SIGNAL_AREA", "T_SIGNED", "T_UNSIGNED", "T_LONG",
670  "T_SHORT", "T_FUNOPERATOR", "T_MISCOPERATOR", "T_SHIFT", "$accept",
671  "main", "includes", "dcoptag", "declaration", "$@1", "member_list",
672  "bool_value", "nodcop_area", "sigslot", "nodcop_area_begin",
673  "dcop_area_begin", "dcop_signal_area_begin", "Identifier",
674  "super_class_name", "super_class", "super_classes", "class_header",
675  "opt_semicolon", "body", "enum", "enum_list", "enum_item", "number",
676  "int_expression", "typedef", "const_qualifier", "int_type", "asterisks",
677  "params", "type_name", "templ_type_list", "templ_type", "type",
678  "type_list", "param", "default", "value", "virtual_qualifier",
679  "operator", "function_header", "values", "init_item", "init_list",
680  "function", "function_begin", "function_body", "function_lines",
681  "function_line", "Identifier_list_rest", "Identifier_list_entry",
682  "Identifier_list", "member", 0
683 };
684 #endif
685 
686 # ifdef YYPRINT
687 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
688  token YYLEX-NUM. */
689 static const yytype_uint16 yytoknum[] =
690 {
691  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
692  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
693  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
694  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
695  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
696  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
697  315, 316, 317, 318, 319, 320, 321
698 };
699 # endif
700 
701 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
702 static const yytype_uint8 yyr1[] =
703 {
704  0, 67, 68, 68, 69, 69, 69, 70, 70, 71,
705  71, 71, 71, 71, 72, 71, 71, 71, 71, 71,
706  71, 71, 71, 71, 71, 71, 73, 73, 74, 74,
707  75, 75, 75, 76, 76, 76, 77, 77, 78, 79,
708  80, 80, 81, 81, 82, 82, 83, 83, 84, 84,
709  85, 85, 86, 86, 86, 86, 86, 86, 86, 86,
710  86, 86, 86, 86, 86, 86, 86, 86, 86, 87,
711  87, 87, 87, 88, 88, 89, 89, 90, 90, 90,
712  90, 90, 91, 91, 91, 92, 92, 93, 93, 94,
713  94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
714  94, 94, 94, 94, 94, 94, 94, 94, 94, 95,
715  95, 96, 96, 96, 97, 97, 97, 97, 97, 97,
716  98, 98, 99, 99, 100, 100, 100, 100, 100, 100,
717  100, 100, 101, 101, 102, 102, 102, 103, 103, 103,
718  104, 104, 104, 104, 104, 105, 105, 106, 106, 106,
719  106, 106, 107, 107, 108, 108, 108, 109, 110, 110,
720  111, 111, 111, 111, 111, 111, 111, 112, 113, 113,
721  113, 114, 114, 115, 116, 116, 117, 117, 117, 118,
722  119, 119, 119, 119, 119, 119
723 };
724 
725 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
726 static const yytype_uint8 yyr2[] =
727 {
728  0, 2, 3, 0, 2, 4, 0, 1, 0, 6,
729  7, 3, 3, 5, 0, 7, 4, 5, 2, 4,
730  7, 8, 2, 1, 1, 1, 2, 0, 1, 1,
731  1, 1, 1, 1, 1, 0, 3, 2, 2, 2,
732  1, 3, 1, 4, 3, 1, 2, 3, 2, 1,
733  0, 1, 1, 2, 3, 2, 2, 2, 2, 2,
734  2, 5, 4, 4, 4, 6, 4, 6, 6, 7,
735  6, 6, 5, 3, 1, 3, 1, 1, 1, 2,
736  1, 1, 1, 3, 3, 7, 9, 0, 1, 1,
737  2, 1, 2, 2, 3, 2, 3, 2, 3, 2,
738  3, 1, 1, 2, 1, 2, 1, 2, 2, 2,
739  1, 0, 1, 3, 1, 1, 2, 2, 4, 6,
740  3, 1, 2, 1, 3, 3, 2, 2, 3, 2,
741  1, 2, 3, 1, 3, 2, 1, 0, 2, 5,
742  1, 1, 1, 1, 4, 0, 1, 1, 1, 1,
743  1, 1, 6, 7, 1, 3, 0, 4, 1, 3,
744  2, 5, 3, 5, 7, 6, 3, 1, 1, 3,
745  4, 2, 0, 1, 2, 0, 1, 3, 2, 2,
746  3, 5, 5, 5, 6, 7
747 };
748 
749 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
750  STATE-NUM when YYTABLE doesn't specify something else to do. Zero
751  means the default is an error. */
752 static const yytype_uint8 yydefact[] =
753 {
754  6, 0, 0, 145, 6, 1, 40, 4, 0, 0,
755  146, 0, 145, 0, 0, 0, 0, 0, 0, 0,
756  101, 106, 89, 91, 102, 104, 6, 115, 25, 114,
757  130, 0, 0, 0, 23, 24, 0, 0, 40, 117,
758  116, 0, 0, 115, 0, 0, 126, 0, 22, 0,
759  0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
760  90, 107, 95, 93, 92, 108, 99, 97, 103, 105,
761  2, 111, 0, 127, 110, 129, 131, 40, 0, 0,
762  0, 175, 0, 0, 167, 168, 172, 160, 5, 41,
763  0, 49, 145, 11, 8, 12, 35, 117, 116, 0,
764  0, 162, 125, 124, 27, 116, 0, 0, 76, 0,
765  74, 14, 0, 0, 40, 166, 137, 96, 94, 100,
766  98, 136, 0, 137, 112, 123, 0, 121, 128, 109,
767  0, 0, 150, 149, 151, 147, 148, 0, 111, 0,
768  178, 0, 179, 180, 0, 173, 0, 172, 8, 146,
769  42, 45, 0, 48, 0, 7, 35, 0, 0, 52,
770  32, 31, 30, 145, 0, 33, 34, 0, 0, 0,
771  0, 35, 0, 35, 35, 35, 0, 35, 35, 35,
772  35, 0, 0, 0, 0, 27, 27, 19, 0, 0,
773  0, 0, 6, 0, 16, 0, 0, 0, 0, 0,
774  0, 137, 135, 122, 118, 0, 77, 142, 78, 140,
775  0, 28, 29, 80, 143, 81, 82, 141, 177, 81,
776  0, 111, 0, 0, 176, 174, 0, 169, 171, 35,
777  0, 46, 145, 0, 0, 117, 116, 35, 0, 115,
778  0, 0, 0, 38, 39, 0, 37, 59, 58, 56,
779  13, 57, 53, 55, 60, 161, 0, 0, 0, 26,
780  0, 0, 75, 0, 72, 73, 0, 17, 0, 138,
781  0, 182, 183, 0, 163, 113, 134, 0, 120, 79,
782  111, 0, 0, 0, 0, 87, 181, 0, 170, 0,
783  133, 0, 47, 44, 9, 35, 35, 35, 35, 54,
784  117, 35, 35, 0, 0, 36, 137, 0, 0, 0,
785  70, 71, 50, 0, 0, 0, 158, 0, 119, 0,
786  83, 84, 184, 87, 88, 152, 165, 10, 0, 43,
787  64, 0, 66, 0, 35, 62, 63, 0, 0, 20,
788  0, 69, 51, 15, 0, 185, 156, 0, 164, 144,
789  153, 132, 35, 35, 61, 0, 35, 21, 139, 154,
790  0, 159, 65, 67, 0, 0, 68, 156, 157, 0,
791  85, 155, 0, 86
792 };
793 
794 /* YYDEFGOTO[NTERM-NUM]. */
795 static const yytype_int16 yydefgoto[] =
796 {
797  -1, 2, 3, 156, 26, 192, 183, 214, 171, 172,
798  173, 174, 175, 27, 151, 152, 153, 94, 343, 176,
799  177, 109, 110, 216, 217, 178, 325, 29, 80, 122,
800  30, 126, 127, 31, 291, 124, 197, 359, 32, 137,
801  33, 360, 316, 317, 179, 86, 87, 146, 147, 142,
802  81, 82, 180
803 };
804 
805 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
806  STATE-NUM. */
807 #define YYPACT_NINF -191
808 static const yytype_int16 yypact[] =
809 {
810  28, 78, 99, 342, 80, -191, 67, -191, 115, 159,
811  205, 81, 386, 463, 153, 44, 190, 32, 205, 205,
812  -191, -191, 181, 287, 154, 161, 47, 66, -191, -191,
813  138, 19, 185, 143, -191, -191, 207, 159, 21, 183,
814  219, 159, 159, 194, 16, 31, 152, 205, -191, 91,
815  159, -191, 228, 236, 233, 202, 264, 18, 143, 272,
816  -191, -191, 231, 232, -191, -191, 246, 248, -191, -191,
817  -191, 445, 81, 249, 256, -191, -191, 85, 182, 42,
818  296, 273, 290, 159, -191, -191, 291, -191, -191, -191,
819  196, -191, 146, -191, 262, -191, 269, -191, -191, 300,
820  252, -191, -191, -191, 404, 311, 307, 236, 276, 319,
821  302, -191, 329, 320, 60, -191, 289, -191, -191, -191,
822  -191, -191, 114, 39, -191, 256, 305, 310, -191, -191,
823  507, 101, -191, -191, -191, -191, -191, 332, 445, 339,
824  -191, 62, -191, -191, 341, -191, 343, 291, 262, -191,
825  321, -191, 34, -191, 337, -191, 269, 159, 159, -191,
826  -191, -191, -191, 386, 474, -191, -191, 159, 352, 344,
827  346, 211, 347, 269, 269, 269, 350, 269, 269, 269,
828  269, 143, 205, 354, 87, 404, 404, -191, 356, 101,
829  156, 236, 80, 359, -191, 120, 101, 360, 364, 247,
830  445, 289, -191, -191, 331, 81, -191, -191, -191, -191,
831  379, -191, -191, -191, -191, 374, 40, -191, -191, -191,
832  333, 445, 116, 372, 349, -191, 378, 377, -191, 269,
833  205, -191, 146, 159, 383, 265, 299, 269, 159, 27,
834  384, 371, 361, -191, -191, 391, -191, -191, -191, -191,
835  -191, -191, -191, -191, -191, -191, 407, 159, 400, -191,
836  403, 176, -191, 401, -191, -191, 405, -191, 205, -191,
837  365, -191, -191, 415, -191, -191, -191, 159, -191, -191,
838  445, 101, 101, 406, 132, 399, -191, 143, -191, 408,
839  392, 390, -191, -191, -191, 269, 269, 269, 269, -191,
840  411, 269, 269, 205, 425, -191, 144, 418, 159, 419,
841  -191, -191, 420, 417, 421, 427, 409, 143, -191, 148,
842  -191, -191, -191, 399, -191, -191, -191, -191, 205, -191,
843  -191, 426, -191, 428, 269, -191, -191, 414, 437, -191,
844  441, -191, -191, -191, 507, -191, 507, 415, -191, -191,
845  -191, -191, 269, 269, -191, 25, 269, -191, -191, 412,
846  444, -191, -191, -191, 455, 446, -191, 507, -191, 159,
847  -191, -191, 453, -191
848 };
849 
850 /* YYPGOTO[NTERM-NUM]. */
851 static const yytype_int16 yypgoto[] =
852 {
853  -191, 9, -191, 314, -191, -191, -2, -191, -191, 301,
854  -191, -191, -191, -8, 238, -191, 243, -33, -191, 77,
855  473, -91, -191, -72, -111, -191, 155, -191, -9, -123,
856  1, 274, -191, 41, -190, 277, -97, -124, -78, -191,
857  22, 121, -191, 134, 6, -191, -41, 335, -191, -191,
858  -191, 348, 5
859 };
860 
861 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
862  positive, shift that token. If negative, reduce the rule which
863  number is the opposite. If zero, do what YYDEFACT says.
864  If YYTABLE_NINF, syntax error. */
865 #define YYTABLE_NINF -177
866 static const yytype_int16 yytable[] =
867 {
868  39, 40, 43, 43, 101, 43, 218, 96, 35, 34,
869  43, 43, 46, 36, 154, 222, 188, 115, 48, 198,
870  220, 76, 6, 79, 114, 77, 202, 6, -3, 89,
871  90, 6, 45, 97, 98, 70, 99, 103, 55, 43,
872  58, 105, 106, 84, 301, 6, 231, -3, 85, 99,
873  52, 44, 74, 44, 50, 138, 53, 148, 139, 57,
874  59, -3, 72, 43, 43, 129, 232, 1, 224, 58,
875  281, 269, 37, 125, 56, 144, 364, -137, 262, 71,
876  78, 100, 78, 78, 150, 270, 1, 6, 44, 195,
877  4, 41, 42, 77, -3, 74, 43, 6, 284, 5,
878  265, 72, -176, 104, 276, 206, 282, 6, 208, 185,
879  195, 37, 123, 337, 196, 201, 203, -176, 37, 1,
880  74, 38, 215, 219, 206, 207, 6, 208, 209, 199,
881  43, 285, 210, 268, 20, 130, 37, 21, 351, 131,
882  255, 22, 23, 24, 25, 184, 200, 323, 200, 235,
883  236, 210, 6, 213, 154, 84, 239, 319, 274, 241,
884  85, 73, 263, 349, 200, 6, 211, 212, 149, 237,
885  51, 74, 213, 264, 43, 75, 258, 43, 43, 123,
886  200, 219, 309, 259, 260, 74, 240, 215, 219, 102,
887  185, 185, 43, 310, 195, 91, 54, 43, 196, 92,
888  93, 266, 296, 298, 44, 44, 125, 68, 91, 320,
889  321, 6, 92, 43, 69, 41, 42, 132, 133, 83,
890  358, 88, 43, 256, 150, 150, 184, 184, 11, 72,
891  300, 91, 134, 234, 60, 92, 95, 61, 165, 166,
892  107, 123, 108, 62, 63, 111, 326, 135, 136, 307,
893  247, 248, 249, 112, 251, 252, 253, 254, 20, 84,
894  43, 21, 123, 273, 85, 22, 23, 24, 25, 318,
895  113, 290, 43, 219, 219, 6, 348, 91, 116, 157,
896  158, 92, 295, 159, 117, 118, 128, 160, 161, 74,
897  162, 10, 11, 163, 164, 43, 165, 166, 167, 119,
898  340, 120, 140, -145, 181, 141, 289, 143, 145, 313,
899  15, 91, 168, 138, 299, 92, 297, 18, 19, 155,
900  43, 123, 20, 186, 187, 21, 189, 169, 170, 22,
901  23, 24, 25, 190, 191, 193, 215, 194, 215, 195,
902  64, 204, 205, 65, 290, 221, 223, 365, 6, 66,
903  67, 7, 8, 9, 226, 233, 230, 227, 242, 215,
904  243, 372, 244, 246, 10, 11, 12, 250, 257, 290,
905  261, 13, 330, 331, 332, 333, 267, 271, 335, 336,
906  14, 272, 277, 15, 16, 17, 279, 280, 283, 286,
907  18, 19, 6, 287, 288, 20, 41, 42, 21, 130,
908  294, 302, 22, 23, 24, 25, 303, 305, 10, 11,
909  6, 354, 304, 306, 41, 42, 139, 308, 311, 312,
910  314, 315, 324, 322, 328, 327, 329, 11, 334, 362,
911  363, 338, 344, 366, 47, 339, 341, 342, 345, 20,
912  346, 347, 21, 352, 367, 353, 22, 23, 24, 25,
913  355, 6, 182, 19, 356, 41, 42, 20, 357, 368,
914  21, 369, 229, 370, 22, 23, 24, 25, 11, 6,
915  373, 293, 245, 41, 49, 292, 28, 275, 350, 278,
916  6, 361, 228, 0, 238, 42, 11, 0, 371, 225,
917  121, 0, 0, 0, 0, 0, 0, 11, 20, 0,
918  0, 21, 0, 0, 0, 22, 23, 24, 25, 0,
919  0, 206, 207, 6, 208, 209, 20, 0, 0, 21,
920  0, 0, 0, 22, 23, 24, 25, 20, 0, 0,
921  21, 0, 0, 0, 22, 23, 24, 25, 210, 0,
922  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
923  0, 0, 0, 211, 212, 0, 0, 0, 0, 213
924 };
925 
926 static const yytype_int16 yycheck[] =
927 {
928  8, 9, 10, 11, 45, 13, 130, 40, 3, 3,
929  18, 19, 11, 4, 92, 138, 107, 58, 12, 116,
930  131, 30, 6, 31, 6, 6, 123, 6, 0, 37,
931  38, 6, 10, 41, 42, 26, 44, 46, 6, 47,
932  18, 49, 50, 12, 17, 6, 12, 0, 17, 57,
933  6, 10, 33, 12, 13, 13, 12, 90, 16, 18,
934  19, 14, 35, 71, 72, 74, 32, 39, 6, 47,
935  30, 195, 51, 72, 42, 83, 51, 17, 189, 13,
936  64, 50, 64, 64, 92, 196, 39, 6, 47, 50,
937  12, 10, 11, 6, 14, 33, 104, 6, 221, 0,
938  191, 35, 17, 12, 201, 4, 66, 6, 7, 104,
939  50, 51, 71, 303, 54, 123, 125, 32, 51, 39,
940  33, 6, 130, 131, 4, 5, 6, 7, 8, 15,
941  138, 15, 31, 13, 53, 50, 51, 56, 328, 54,
942  181, 60, 61, 62, 63, 104, 32, 15, 32, 157,
943  158, 31, 6, 52, 232, 12, 164, 280, 199, 167,
944  17, 23, 6, 15, 32, 6, 46, 47, 22, 163,
945  17, 33, 52, 17, 182, 37, 184, 185, 186, 138,
946  32, 189, 6, 185, 186, 33, 164, 195, 196, 37,
947  185, 186, 200, 17, 50, 12, 6, 205, 54, 16,
948  17, 192, 235, 236, 163, 164, 205, 53, 12, 281,
949  282, 6, 16, 221, 53, 10, 11, 35, 36, 34,
950  344, 14, 230, 182, 232, 233, 185, 186, 23, 35,
951  238, 12, 50, 156, 53, 16, 17, 56, 27, 28,
952  12, 200, 6, 62, 63, 12, 287, 65, 66, 257,
953  173, 174, 175, 51, 177, 178, 179, 180, 53, 12,
954  268, 56, 221, 16, 17, 60, 61, 62, 63, 277,
955  6, 230, 280, 281, 282, 6, 317, 12, 6, 10,
956  11, 16, 17, 14, 53, 53, 37, 18, 19, 33,
957  21, 22, 23, 24, 25, 303, 27, 28, 29, 53,
958  308, 53, 6, 34, 52, 32, 229, 17, 17, 268,
959  41, 12, 43, 13, 237, 16, 17, 48, 49, 57,
960  328, 280, 53, 12, 17, 56, 50, 58, 59, 60,
961  61, 62, 63, 14, 32, 6, 344, 17, 346, 50,
962  53, 36, 32, 56, 303, 13, 7, 355, 6, 62,
963  63, 9, 10, 11, 13, 18, 35, 14, 6, 367,
964  16, 369, 16, 16, 22, 23, 24, 17, 14, 328,
965  14, 29, 295, 296, 297, 298, 17, 17, 301, 302,
966  38, 17, 51, 41, 42, 43, 7, 13, 55, 17,
967  48, 49, 6, 15, 17, 53, 10, 11, 56, 50,
968  17, 17, 60, 61, 62, 63, 35, 16, 22, 23,
969  6, 334, 51, 6, 10, 11, 16, 14, 17, 14,
970  55, 6, 23, 17, 32, 17, 36, 23, 17, 352,
971  353, 6, 15, 356, 48, 17, 17, 17, 17, 53,
972  13, 32, 56, 17, 32, 17, 60, 61, 62, 63,
973  36, 6, 48, 49, 17, 10, 11, 53, 17, 15,
974  56, 6, 148, 17, 60, 61, 62, 63, 23, 6,
975  17, 233, 171, 10, 11, 232, 3, 200, 323, 205,
976  6, 347, 147, -1, 10, 11, 23, -1, 367, 141,
977  45, -1, -1, -1, -1, -1, -1, 23, 53, -1,
978  -1, 56, -1, -1, -1, 60, 61, 62, 63, -1,
979  -1, 4, 5, 6, 7, 8, 53, -1, -1, 56,
980  -1, -1, -1, 60, 61, 62, 63, 53, -1, -1,
981  56, -1, -1, -1, 60, 61, 62, 63, 31, -1,
982  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
983  -1, -1, -1, 46, 47, -1, -1, -1, -1, 52
984 };
985 
986 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
987  symbol of state STATE-NUM. */
988 static const yytype_uint8 yystos[] =
989 {
990  0, 39, 68, 69, 12, 0, 6, 9, 10, 11,
991  22, 23, 24, 29, 38, 41, 42, 43, 48, 49,
992  53, 56, 60, 61, 62, 63, 71, 80, 87, 94,
993  97, 100, 105, 107, 111, 119, 68, 51, 6, 80,
994  80, 10, 11, 80, 100, 107, 97, 48, 111, 11,
995  100, 17, 6, 12, 6, 6, 42, 100, 107, 100,
996  53, 56, 62, 63, 53, 56, 62, 63, 53, 53,
997  68, 13, 35, 23, 33, 37, 95, 6, 64, 80,
998  95, 117, 118, 34, 12, 17, 112, 113, 14, 80,
999  80, 12, 16, 17, 84, 17, 84, 80, 80, 80,
1000  50, 113, 37, 95, 12, 80, 80, 12, 6, 88,
1001  89, 12, 51, 6, 6, 113, 6, 53, 53, 53,
1002  53, 45, 96, 100, 102, 97, 98, 99, 37, 95,
1003  50, 54, 35, 36, 50, 65, 66, 106, 13, 16,
1004  6, 32, 116, 17, 80, 17, 114, 115, 84, 22,
1005  80, 81, 82, 83, 105, 57, 70, 10, 11, 14,
1006  18, 19, 21, 24, 25, 27, 28, 29, 43, 58,
1007  59, 75, 76, 77, 78, 79, 86, 87, 92, 111,
1008  119, 52, 48, 73, 100, 119, 12, 17, 88, 50,
1009  14, 32, 72, 6, 17, 50, 54, 103, 103, 15,
1010  32, 80, 103, 95, 36, 32, 4, 5, 7, 8,
1011  31, 46, 47, 52, 74, 80, 90, 91, 104, 80,
1012  91, 13, 96, 7, 6, 118, 13, 14, 114, 70,
1013  35, 12, 32, 18, 86, 80, 80, 111, 10, 80,
1014  107, 80, 6, 16, 16, 76, 16, 86, 86, 86,
1015  17, 86, 86, 86, 86, 113, 100, 14, 80, 73,
1016  73, 14, 91, 6, 17, 88, 68, 17, 13, 104,
1017  91, 17, 17, 16, 113, 102, 103, 51, 98, 7,
1018  13, 30, 66, 55, 96, 15, 17, 15, 17, 86,
1019  100, 101, 83, 81, 17, 17, 84, 17, 84, 86,
1020  80, 17, 17, 35, 51, 16, 6, 80, 14, 6,
1021  17, 17, 14, 100, 55, 6, 109, 110, 80, 96,
1022  90, 90, 17, 15, 23, 93, 113, 17, 32, 36,
1023  86, 86, 86, 86, 17, 86, 86, 101, 6, 17,
1024  80, 17, 17, 85, 15, 17, 13, 32, 113, 15,
1025  93, 101, 17, 17, 86, 36, 17, 17, 104, 104,
1026  108, 110, 86, 86, 51, 80, 86, 32, 15, 6,
1027  17, 108, 80, 17
1028 };
1029 
1030 #define yyerrok (yyerrstatus = 0)
1031 #define yyclearin (yychar = YYEMPTY)
1032 #define YYEMPTY (-2)
1033 #define YYEOF 0
1034 
1035 #define YYACCEPT goto yyacceptlab
1036 #define YYABORT goto yyabortlab
1037 #define YYERROR goto yyerrorlab
1038 
1039 
1040 /* Like YYERROR except do call yyerror. This remains here temporarily
1041  to ease the transition to the new meaning of YYERROR, for GCC.
1042  Once GCC version 2 has supplanted version 1, this can go. */
1043 
1044 #define YYFAIL goto yyerrlab
1045 
1046 #define YYRECOVERING() (!!yyerrstatus)
1047 
1048 #define YYBACKUP(Token, Value) \
1049 do \
1050  if (yychar == YYEMPTY && yylen == 1) \
1051  { \
1052  yychar = (Token); \
1053  yylval = (Value); \
1054  yytoken = YYTRANSLATE (yychar); \
1055  YYPOPSTACK (1); \
1056  goto yybackup; \
1057  } \
1058  else \
1059  { \
1060  yyerror (YY_("syntax error: cannot back up")); \
1061  YYERROR; \
1062  } \
1063 while (YYID (0))
1064 
1065 
1066 #define YYTERROR 1
1067 #define YYERRCODE 256
1068 
1069 
1070 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1071  If N is 0, then set CURRENT to the empty location which ends
1072  the previous symbol: RHS[0] (always defined). */
1073 
1074 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1075 #ifndef YYLLOC_DEFAULT
1076 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1077  do \
1078  if (YYID (N)) \
1079  { \
1080  (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1081  (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1082  (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1083  (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1084  } \
1085  else \
1086  { \
1087  (Current).first_line = (Current).last_line = \
1088  YYRHSLOC (Rhs, 0).last_line; \
1089  (Current).first_column = (Current).last_column = \
1090  YYRHSLOC (Rhs, 0).last_column; \
1091  } \
1092  while (YYID (0))
1093 #endif
1094 
1095 
1096 /* YY_LOCATION_PRINT -- Print the location on the stream.
1097  This macro was not mandated originally: define only if we know
1098  we won't break user code: when these are the locations we know. */
1099 
1100 #ifndef YY_LOCATION_PRINT
1101 # if YYLTYPE_IS_TRIVIAL
1102 # define YY_LOCATION_PRINT(File, Loc) \
1103  fprintf (File, "%d.%d-%d.%d", \
1104  (Loc).first_line, (Loc).first_column, \
1105  (Loc).last_line, (Loc).last_column)
1106 # else
1107 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1108 # endif
1109 #endif
1110 
1111 
1112 /* YYLEX -- calling `yylex' with the right arguments. */
1113 
1114 #ifdef YYLEX_PARAM
1115 # define YYLEX yylex (YYLEX_PARAM)
1116 #else
1117 # define YYLEX yylex ()
1118 #endif
1119 
1120 /* Enable debugging if requested. */
1121 #if YYDEBUG
1122 
1123 # ifndef YYFPRINTF
1124 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1125 # define YYFPRINTF fprintf
1126 # endif
1127 
1128 # define YYDPRINTF(Args) \
1129 do { \
1130  if (yydebug) \
1131  YYFPRINTF Args; \
1132 } while (YYID (0))
1133 
1134 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1135 do { \
1136  if (yydebug) \
1137  { \
1138  YYFPRINTF (stderr, "%s ", Title); \
1139  yy_symbol_print (stderr, \
1140  Type, Value); \
1141  YYFPRINTF (stderr, "\n"); \
1142  } \
1143 } while (YYID (0))
1144 
1145 
1146 /*--------------------------------.
1147 | Print this symbol on YYOUTPUT. |
1148 `--------------------------------*/
1149 
1150 /*ARGSUSED*/
1151 #if (defined __STDC__ || defined __C99__FUNC__ \
1152  || defined __cplusplus || defined _MSC_VER)
1153 static void
1154 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1155 #else
1156 static void
1157 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1158  FILE *yyoutput;
1159  int yytype;
1160  YYSTYPE const * const yyvaluep;
1161 #endif
1162 {
1163  if (!yyvaluep)
1164  return;
1165 # ifdef YYPRINT
1166  if (yytype < YYNTOKENS)
1167  YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1168 # else
1169  YYUSE (yyoutput);
1170 # endif
1171  switch (yytype)
1172  {
1173  default:
1174  break;
1175  }
1176 }
1177 
1178 
1179 /*--------------------------------.
1180 | Print this symbol on YYOUTPUT. |
1181 `--------------------------------*/
1182 
1183 #if (defined __STDC__ || defined __C99__FUNC__ \
1184  || defined __cplusplus || defined _MSC_VER)
1185 static void
1186 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1187 #else
1188 static void
1189 yy_symbol_print (yyoutput, yytype, yyvaluep)
1190  FILE *yyoutput;
1191  int yytype;
1192  YYSTYPE const * const yyvaluep;
1193 #endif
1194 {
1195  if (yytype < YYNTOKENS)
1196  YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1197  else
1198  YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1199 
1200  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1201  YYFPRINTF (yyoutput, ")");
1202 }
1203 
1204 /*------------------------------------------------------------------.
1205 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1206 | TOP (included). |
1207 `------------------------------------------------------------------*/
1208 
1209 #if (defined __STDC__ || defined __C99__FUNC__ \
1210  || defined __cplusplus || defined _MSC_VER)
1211 static void
1212 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1213 #else
1214 static void
1215 yy_stack_print (yybottom, yytop)
1216  yytype_int16 *yybottom;
1217  yytype_int16 *yytop;
1218 #endif
1219 {
1220  YYFPRINTF (stderr, "Stack now");
1221  for (; yybottom <= yytop; yybottom++)
1222  {
1223  int yybot = *yybottom;
1224  YYFPRINTF (stderr, " %d", yybot);
1225  }
1226  YYFPRINTF (stderr, "\n");
1227 }
1228 
1229 # define YY_STACK_PRINT(Bottom, Top) \
1230 do { \
1231  if (yydebug) \
1232  yy_stack_print ((Bottom), (Top)); \
1233 } while (YYID (0))
1234 
1235 
1236 /*------------------------------------------------.
1237 | Report that the YYRULE is going to be reduced. |
1238 `------------------------------------------------*/
1239 
1240 #if (defined __STDC__ || defined __C99__FUNC__ \
1241  || defined __cplusplus || defined _MSC_VER)
1242 static void
1243 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1244 #else
1245 static void
1246 yy_reduce_print (yyvsp, yyrule)
1247  YYSTYPE *yyvsp;
1248  int yyrule;
1249 #endif
1250 {
1251  int yynrhs = yyr2[yyrule];
1252  int yyi;
1253  unsigned long int yylno = yyrline[yyrule];
1254  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1255  yyrule - 1, yylno);
1256  /* The symbols being reduced. */
1257  for (yyi = 0; yyi < yynrhs; yyi++)
1258  {
1259  YYFPRINTF (stderr, " $%d = ", yyi + 1);
1260  yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1261  &(yyvsp[(yyi + 1) - (yynrhs)])
1262  );
1263  YYFPRINTF (stderr, "\n");
1264  }
1265 }
1266 
1267 # define YY_REDUCE_PRINT(Rule) \
1268 do { \
1269  if (yydebug) \
1270  yy_reduce_print (yyvsp, Rule); \
1271 } while (YYID (0))
1272 
1273 /* Nonzero means print parse trace. It is left uninitialized so that
1274  multiple parsers can coexist. */
1275 int yydebug;
1276 #else /* !YYDEBUG */
1277 # define YYDPRINTF(Args)
1278 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1279 # define YY_STACK_PRINT(Bottom, Top)
1280 # define YY_REDUCE_PRINT(Rule)
1281 #endif /* !YYDEBUG */
1282 
1283 
1284 /* YYINITDEPTH -- initial size of the parser's stacks. */
1285 #ifndef YYINITDEPTH
1286 # define YYINITDEPTH 200
1287 #endif
1288 
1289 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1290  if the built-in stack extension method is used).
1291 
1292  Do not make this value too large; the results are undefined if
1293  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1294  evaluated with infinite-precision integer arithmetic. */
1295 
1296 #ifndef YYMAXDEPTH
1297 # define YYMAXDEPTH 10000
1298 #endif
1299 
1300 
1301 
1302 #if YYERROR_VERBOSE
1303 
1304 # ifndef yystrlen
1305 # if defined __GLIBC__ && defined _STRING_H
1306 # define yystrlen strlen
1307 # else
1308 /* Return the length of YYSTR. */
1309 #if (defined __STDC__ || defined __C99__FUNC__ \
1310  || defined __cplusplus || defined _MSC_VER)
1311 static YYSIZE_T
1312 yystrlen (const char *yystr)
1313 #else
1314 static YYSIZE_T
1315 yystrlen (yystr)
1316  const char *yystr;
1317 #endif
1318 {
1319  YYSIZE_T yylen;
1320  for (yylen = 0; yystr[yylen]; yylen++)
1321  continue;
1322  return yylen;
1323 }
1324 # endif
1325 # endif
1326 
1327 # ifndef yystpcpy
1328 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1329 # define yystpcpy stpcpy
1330 # else
1331 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1332  YYDEST. */
1333 #if (defined __STDC__ || defined __C99__FUNC__ \
1334  || defined __cplusplus || defined _MSC_VER)
1335 static char *
1336 yystpcpy (char *yydest, const char *yysrc)
1337 #else
1338 static char *
1339 yystpcpy (yydest, yysrc)
1340  char *yydest;
1341  const char *yysrc;
1342 #endif
1343 {
1344  char *yyd = yydest;
1345  const char *yys = yysrc;
1346 
1347  while ((*yyd++ = *yys++) != '\0')
1348  continue;
1349 
1350  return yyd - 1;
1351 }
1352 # endif
1353 # endif
1354 
1355 # ifndef yytnamerr
1356 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1357  quotes and backslashes, so that it's suitable for yyerror. The
1358  heuristic is that double-quoting is unnecessary unless the string
1359  contains an apostrophe, a comma, or backslash (other than
1360  backslash-backslash). YYSTR is taken from yytname. If YYRES is
1361  null, do not copy; instead, return the length of what the result
1362  would have been. */
1363 static YYSIZE_T
1364 yytnamerr (char *yyres, const char *yystr)
1365 {
1366  if (*yystr == '"')
1367  {
1368  YYSIZE_T yyn = 0;
1369  char const *yyp = yystr;
1370 
1371  for (;;)
1372  switch (*++yyp)
1373  {
1374  case '\'':
1375  case ',':
1376  goto do_not_strip_quotes;
1377 
1378  case '\\':
1379  if (*++yyp != '\\')
1380  goto do_not_strip_quotes;
1381  /* Fall through. */
1382  default:
1383  if (yyres)
1384  yyres[yyn] = *yyp;
1385  yyn++;
1386  break;
1387 
1388  case '"':
1389  if (yyres)
1390  yyres[yyn] = '\0';
1391  return yyn;
1392  }
1393  do_not_strip_quotes: ;
1394  }
1395 
1396  if (! yyres)
1397  return yystrlen (yystr);
1398 
1399  return yystpcpy (yyres, yystr) - yyres;
1400 }
1401 # endif
1402 
1403 /* Copy into YYRESULT an error message about the unexpected token
1404  YYCHAR while in state YYSTATE. Return the number of bytes copied,
1405  including the terminating null byte. If YYRESULT is null, do not
1406  copy anything; just return the number of bytes that would be
1407  copied. As a special case, return 0 if an ordinary "syntax error"
1408  message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1409  size calculation. */
1410 static YYSIZE_T
1411 yysyntax_error (char *yyresult, int yystate, int yychar)
1412 {
1413  int yyn = yypact[yystate];
1414 
1415  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1416  return 0;
1417  else
1418  {
1419  int yytype = YYTRANSLATE (yychar);
1420  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1421  YYSIZE_T yysize = yysize0;
1422  YYSIZE_T yysize1;
1423  int yysize_overflow = 0;
1424  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1425  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1426  int yyx;
1427 
1428 # if 0
1429  /* This is so xgettext sees the translatable formats that are
1430  constructed on the fly. */
1431  YY_("syntax error, unexpected %s");
1432  YY_("syntax error, unexpected %s, expecting %s");
1433  YY_("syntax error, unexpected %s, expecting %s or %s");
1434  YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1435  YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1436 # endif
1437  char *yyfmt;
1438  char const *yyf;
1439  static char const yyunexpected[] = "syntax error, unexpected %s";
1440  static char const yyexpecting[] = ", expecting %s";
1441  static char const yyor[] = " or %s";
1442  char yyformat[sizeof yyunexpected
1443  + sizeof yyexpecting - 1
1444  + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1445  * (sizeof yyor - 1))];
1446  char const *yyprefix = yyexpecting;
1447 
1448  /* Start YYX at -YYN if negative to avoid negative indexes in
1449  YYCHECK. */
1450  int yyxbegin = yyn < 0 ? -yyn : 0;
1451 
1452  /* Stay within bounds of both yycheck and yytname. */
1453  int yychecklim = YYLAST - yyn + 1;
1454  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1455  int yycount = 1;
1456 
1457  yyarg[0] = yytname[yytype];
1458  yyfmt = yystpcpy (yyformat, yyunexpected);
1459 
1460  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1461  if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1462  {
1463  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1464  {
1465  yycount = 1;
1466  yysize = yysize0;
1467  yyformat[sizeof yyunexpected - 1] = '\0';
1468  break;
1469  }
1470  yyarg[yycount++] = yytname[yyx];
1471  yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1472  yysize_overflow |= (yysize1 < yysize);
1473  yysize = yysize1;
1474  yyfmt = yystpcpy (yyfmt, yyprefix);
1475  yyprefix = yyor;
1476  }
1477 
1478  yyf = YY_(yyformat);
1479  yysize1 = yysize + yystrlen (yyf);
1480  yysize_overflow |= (yysize1 < yysize);
1481  yysize = yysize1;
1482 
1483  if (yysize_overflow)
1484  return YYSIZE_MAXIMUM;
1485 
1486  if (yyresult)
1487  {
1488  /* Avoid sprintf, as that infringes on the user's name space.
1489  Don't have undefined behavior even if the translation
1490  produced a string with the wrong number of "%s"s. */
1491  char *yyp = yyresult;
1492  int yyi = 0;
1493  while ((*yyp = *yyf) != '\0')
1494  {
1495  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1496  {
1497  yyp += yytnamerr (yyp, yyarg[yyi++]);
1498  yyf += 2;
1499  }
1500  else
1501  {
1502  yyp++;
1503  yyf++;
1504  }
1505  }
1506  }
1507  return yysize;
1508  }
1509 }
1510 #endif /* YYERROR_VERBOSE */
1511 
1512 
1513 /*-----------------------------------------------.
1514 | Release the memory associated to this symbol. |
1515 `-----------------------------------------------*/
1516 
1517 /*ARGSUSED*/
1518 #if (defined __STDC__ || defined __C99__FUNC__ \
1519  || defined __cplusplus || defined _MSC_VER)
1520 static void
1521 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1522 #else
1523 static void
1524 yydestruct (yymsg, yytype, yyvaluep)
1525  const char *yymsg;
1526  int yytype;
1527  YYSTYPE *yyvaluep;
1528 #endif
1529 {
1530  YYUSE (yyvaluep);
1531 
1532  if (!yymsg)
1533  yymsg = "Deleting";
1534  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1535 
1536  switch (yytype)
1537  {
1538 
1539  default:
1540  break;
1541  }
1542 }
1543 
1544 /* Prevent warnings from -Wmissing-prototypes. */
1545 #ifdef YYPARSE_PARAM
1546 #if defined __STDC__ || defined __cplusplus
1547 int yyparse (void *YYPARSE_PARAM);
1548 #else
1549 int yyparse ();
1550 #endif
1551 #else /* ! YYPARSE_PARAM */
1552 #if defined __STDC__ || defined __cplusplus
1553 int yyparse (void);
1554 #else
1555 int yyparse ();
1556 #endif
1557 #endif /* ! YYPARSE_PARAM */
1558 
1559 
1560 /* The lookahead symbol. */
1561 int yychar;
1562 
1563 /* The semantic value of the lookahead symbol. */
1564 YYSTYPE yylval;
1565 
1566 /* Number of syntax errors so far. */
1567 int yynerrs;
1568 
1569 
1570 
1571 /*-------------------------.
1572 | yyparse or yypush_parse. |
1573 `-------------------------*/
1574 
1575 #ifdef YYPARSE_PARAM
1576 #if (defined __STDC__ || defined __C99__FUNC__ \
1577  || defined __cplusplus || defined _MSC_VER)
1578 int
1579 yyparse (void *YYPARSE_PARAM)
1580 #else
1581 int
1582 yyparse (YYPARSE_PARAM)
1583  void *YYPARSE_PARAM;
1584 #endif
1585 #else /* ! YYPARSE_PARAM */
1586 #if (defined __STDC__ || defined __C99__FUNC__ \
1587  || defined __cplusplus || defined _MSC_VER)
1588 int
1589 yyparse (void)
1590 #else
1591 int
1592 yyparse ()
1593 
1594 #endif
1595 #endif
1596 {
1597 
1598 
1599  int yystate;
1600  /* Number of tokens to shift before error messages enabled. */
1601  int yyerrstatus;
1602 
1603  /* The stacks and their tools:
1604  `yyss': related to states.
1605  `yyvs': related to semantic values.
1606 
1607  Refer to the stacks thru separate pointers, to allow yyoverflow
1608  to reallocate them elsewhere. */
1609 
1610  /* The state stack. */
1611  yytype_int16 yyssa[YYINITDEPTH];
1612  yytype_int16 *yyss;
1613  yytype_int16 *yyssp;
1614 
1615  /* The semantic value stack. */
1616  YYSTYPE yyvsa[YYINITDEPTH];
1617  YYSTYPE *yyvs;
1618  YYSTYPE *yyvsp;
1619 
1620  YYSIZE_T yystacksize;
1621 
1622  int yyn;
1623  int yyresult;
1624  /* Lookahead token as an internal (translated) token number. */
1625  int yytoken;
1626  /* The variables used to return semantic value and location from the
1627  action routines. */
1628  YYSTYPE yyval;
1629 
1630 #if YYERROR_VERBOSE
1631  /* Buffer for error messages, and its allocated size. */
1632  char yymsgbuf[128];
1633  char *yymsg = yymsgbuf;
1634  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1635 #endif
1636 
1637 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1638 
1639  /* The number of symbols on the RHS of the reduced rule.
1640  Keep to zero when no symbol should be popped. */
1641  int yylen = 0;
1642 
1643  yytoken = 0;
1644  yyss = yyssa;
1645  yyvs = yyvsa;
1646  yystacksize = YYINITDEPTH;
1647 
1648  YYDPRINTF ((stderr, "Starting parse\n"));
1649 
1650  yystate = 0;
1651  yyerrstatus = 0;
1652  yynerrs = 0;
1653  yychar = YYEMPTY; /* Cause a token to be read. */
1654 
1655  /* Initialize stack pointers.
1656  Waste one element of value and location stack
1657  so that they stay on the same level as the state stack.
1658  The wasted elements are never initialized. */
1659  yyssp = yyss;
1660  yyvsp = yyvs;
1661 
1662  goto yysetstate;
1663 
1664 /*------------------------------------------------------------.
1665 | yynewstate -- Push a new state, which is found in yystate. |
1666 `------------------------------------------------------------*/
1667  yynewstate:
1668  /* In all cases, when you get here, the value and location stacks
1669  have just been pushed. So pushing a state here evens the stacks. */
1670  yyssp++;
1671 
1672  yysetstate:
1673  *yyssp = yystate;
1674 
1675  if (yyss + yystacksize - 1 <= yyssp)
1676  {
1677  /* Get the current used size of the three stacks, in elements. */
1678  YYSIZE_T yysize = yyssp - yyss + 1;
1679 
1680 #ifdef yyoverflow
1681  {
1682  /* Give user a chance to reallocate the stack. Use copies of
1683  these so that the &'s don't force the real ones into
1684  memory. */
1685  YYSTYPE *yyvs1 = yyvs;
1686  yytype_int16 *yyss1 = yyss;
1687 
1688  /* Each stack pointer address is followed by the size of the
1689  data in use in that stack, in bytes. This used to be a
1690  conditional around just the two extra args, but that might
1691  be undefined if yyoverflow is a macro. */
1692  yyoverflow (YY_("memory exhausted"),
1693  &yyss1, yysize * sizeof (*yyssp),
1694  &yyvs1, yysize * sizeof (*yyvsp),
1695  &yystacksize);
1696 
1697  yyss = yyss1;
1698  yyvs = yyvs1;
1699  }
1700 #else /* no yyoverflow */
1701 # ifndef YYSTACK_RELOCATE
1702  goto yyexhaustedlab;
1703 # else
1704  /* Extend the stack our own way. */
1705  if (YYMAXDEPTH <= yystacksize)
1706  goto yyexhaustedlab;
1707  yystacksize *= 2;
1708  if (YYMAXDEPTH < yystacksize)
1709  yystacksize = YYMAXDEPTH;
1710 
1711  {
1712  yytype_int16 *yyss1 = yyss;
1713  union yyalloc *yyptr =
1714  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1715  if (! yyptr)
1716  goto yyexhaustedlab;
1717  YYSTACK_RELOCATE (yyss_alloc, yyss);
1718  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1719 # undef YYSTACK_RELOCATE
1720  if (yyss1 != yyssa)
1721  YYSTACK_FREE (yyss1);
1722  }
1723 # endif
1724 #endif /* no yyoverflow */
1725 
1726  yyssp = yyss + yysize - 1;
1727  yyvsp = yyvs + yysize - 1;
1728 
1729  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1730  (unsigned long int) yystacksize));
1731 
1732  if (yyss + yystacksize - 1 <= yyssp)
1733  YYABORT;
1734  }
1735 
1736  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1737 
1738  if (yystate == YYFINAL)
1739  YYACCEPT;
1740 
1741  goto yybackup;
1742 
1743 /*-----------.
1744 | yybackup. |
1745 `-----------*/
1746 yybackup:
1747 
1748  /* Do appropriate processing given the current state. Read a
1749  lookahead token if we need one and don't already have one. */
1750 
1751  /* First try to decide what to do without reference to lookahead token. */
1752  yyn = yypact[yystate];
1753  if (yyn == YYPACT_NINF)
1754  goto yydefault;
1755 
1756  /* Not known => get a lookahead token if don't already have one. */
1757 
1758  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1759  if (yychar == YYEMPTY)
1760  {
1761  YYDPRINTF ((stderr, "Reading a token: "));
1762  yychar = YYLEX;
1763  }
1764 
1765  if (yychar <= YYEOF)
1766  {
1767  yychar = yytoken = YYEOF;
1768  YYDPRINTF ((stderr, "Now at end of input.\n"));
1769  }
1770  else
1771  {
1772  yytoken = YYTRANSLATE (yychar);
1773  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1774  }
1775 
1776  /* If the proper action on seeing token YYTOKEN is to reduce or to
1777  detect an error, take that action. */
1778  yyn += yytoken;
1779  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1780  goto yydefault;
1781  yyn = yytable[yyn];
1782  if (yyn <= 0)
1783  {
1784  if (yyn == 0 || yyn == YYTABLE_NINF)
1785  goto yyerrlab;
1786  yyn = -yyn;
1787  goto yyreduce;
1788  }
1789 
1790  /* Count tokens shifted since error; after three, turn off error
1791  status. */
1792  if (yyerrstatus)
1793  yyerrstatus--;
1794 
1795  /* Shift the lookahead token. */
1796  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1797 
1798  /* Discard the shifted token. */
1799  yychar = YYEMPTY;
1800 
1801  yystate = yyn;
1802  *++yyvsp = yylval;
1803 
1804  goto yynewstate;
1805 
1806 
1807 /*-----------------------------------------------------------.
1808 | yydefault -- do the default action for the current state. |
1809 `-----------------------------------------------------------*/
1810 yydefault:
1811  yyn = yydefact[yystate];
1812  if (yyn == 0)
1813  goto yyerrlab;
1814  goto yyreduce;
1815 
1816 
1817 /*-----------------------------.
1818 | yyreduce -- Do a reduction. |
1819 `-----------------------------*/
1820 yyreduce:
1821  /* yyn is the number of a rule to reduce with. */
1822  yylen = yyr2[yyn];
1823 
1824  /* If YYLEN is nonzero, implement the default value of the action:
1825  `$$ = $1'.
1826 
1827  Otherwise, the following line sets YYVAL to garbage.
1828  This behavior is undocumented and Bison
1829  users should not rely upon it. Assigning to YYVAL
1830  unconditionally makes the parser a bit smaller, and it avoids a
1831  GCC warning that YYVAL may be used uninitialized. */
1832  yyval = yyvsp[1-yylen];
1833 
1834 
1835  YY_REDUCE_PRINT (yyn);
1836  switch (yyn)
1837  {
1838  case 2:
1839 
1840 /* Line 1455 of yacc.c */
1841 #line 165 "yacc.yy"
1842  {
1843  ;}
1844  break;
1845 
1846  case 4:
1847 
1848 /* Line 1455 of yacc.c */
1849 #line 172 "yacc.yy"
1850  {
1851  printf("<INCLUDE>%s</INCLUDE>\n", (yyvsp[(2) - (2)]._str)->latin1() );
1852  ;}
1853  break;
1854 
1855  case 5:
1856 
1857 /* Line 1455 of yacc.c */
1858 #line 176 "yacc.yy"
1859  {
1860  ;}
1861  break;
1862 
1863  case 6:
1864 
1865 /* Line 1455 of yacc.c */
1866 #line 179 "yacc.yy"
1867  {
1868  ;}
1869  break;
1870 
1871  case 7:
1872 
1873 /* Line 1455 of yacc.c */
1874 #line 184 "yacc.yy"
1875  { (yyval._int) = 1; ;}
1876  break;
1877 
1878  case 8:
1879 
1880 /* Line 1455 of yacc.c */
1881 #line 185 "yacc.yy"
1882  { (yyval._int) = 0; ;}
1883  break;
1884 
1885  case 9:
1886 
1887 /* Line 1455 of yacc.c */
1888 #line 190 "yacc.yy"
1889  {
1890  if ((yyvsp[(4) - (6)]._int))
1891  printf("<CLASS>\n <NAME>%s</NAME>\n%s%s</CLASS>\n", ( in_namespace + *(yyvsp[(2) - (6)]._str) ).latin1(), (yyvsp[(3) - (6)]._str)->latin1(), (yyvsp[(5) - (6)]._str)->latin1() );
1892  // default C++ visibility specifier is 'private'
1893  dcop_area = 0;
1894  dcop_signal_area = 0;
1895 
1896  ;}
1897  break;
1898 
1899  case 10:
1900 
1901 /* Line 1455 of yacc.c */
1902 #line 199 "yacc.yy"
1903  {
1904  if ((yyvsp[(5) - (7)]._int))
1905  printf("<CLASS>\n <NAME>%s</NAME>\n <LINK_SCOPE>%s</LINK_SCOPE>\n%s%s</CLASS>\n", ( in_namespace + *(yyvsp[(3) - (7)]._str) ).latin1(),(yyvsp[(2) - (7)]._str)->latin1(), (yyvsp[(4) - (7)]._str)->latin1(), (yyvsp[(6) - (7)]._str)->latin1() );
1906  // default C++ visibility specifier is 'private'
1907  dcop_area = 0;
1908  dcop_signal_area = 0;
1909 
1910  ;}
1911  break;
1912 
1913  case 11:
1914 
1915 /* Line 1455 of yacc.c */
1916 #line 208 "yacc.yy"
1917  {
1918  ;}
1919  break;
1920 
1921  case 12:
1922 
1923 /* Line 1455 of yacc.c */
1924 #line 211 "yacc.yy"
1925  {
1926  ;}
1927  break;
1928 
1929  case 13:
1930 
1931 /* Line 1455 of yacc.c */
1932 #line 214 "yacc.yy"
1933  {
1934  ;}
1935  break;
1936 
1937  case 14:
1938 
1939 /* Line 1455 of yacc.c */
1940 #line 217 "yacc.yy"
1941  {
1942  in_namespace += *(yyvsp[(2) - (3)]._str); in_namespace += "::";
1943  ;}
1944  break;
1945 
1946  case 15:
1947 
1948 /* Line 1455 of yacc.c */
1949 #line 221 "yacc.yy"
1950  {
1951  int pos = in_namespace.findRev( "::", -3 );
1952  if( pos >= 0 )
1953  in_namespace = in_namespace.left( pos + 2 );
1954  else
1955  in_namespace = "";
1956  ;}
1957  break;
1958 
1959  case 16:
1960 
1961 /* Line 1455 of yacc.c */
1962 #line 229 "yacc.yy"
1963  {
1964  ;}
1965  break;
1966 
1967  case 17:
1968 
1969 /* Line 1455 of yacc.c */
1970 #line 232 "yacc.yy"
1971  {
1972  ;}
1973  break;
1974 
1975  case 18:
1976 
1977 /* Line 1455 of yacc.c */
1978 #line 235 "yacc.yy"
1979  {
1980  ;}
1981  break;
1982 
1983  case 19:
1984 
1985 /* Line 1455 of yacc.c */
1986 #line 238 "yacc.yy"
1987  {
1988  ;}
1989  break;
1990 
1991  case 20:
1992 
1993 /* Line 1455 of yacc.c */
1994 #line 241 "yacc.yy"
1995  {
1996  ;}
1997  break;
1998 
1999  case 21:
2000 
2001 /* Line 1455 of yacc.c */
2002 #line 244 "yacc.yy"
2003  {
2004  ;}
2005  break;
2006 
2007  case 22:
2008 
2009 /* Line 1455 of yacc.c */
2010 #line 247 "yacc.yy"
2011  {
2012  ;}
2013  break;
2014 
2015  case 23:
2016 
2017 /* Line 1455 of yacc.c */
2018 #line 250 "yacc.yy"
2019  {
2020  ;}
2021  break;
2022 
2023  case 24:
2024 
2025 /* Line 1455 of yacc.c */
2026 #line 253 "yacc.yy"
2027  {
2028  ;}
2029  break;
2030 
2031  case 25:
2032 
2033 /* Line 1455 of yacc.c */
2034 #line 256 "yacc.yy"
2035  {
2036  ;}
2037  break;
2038 
2039  case 36:
2040 
2041 /* Line 1455 of yacc.c */
2042 #line 273 "yacc.yy"
2043  {
2044  dcop_area = 0;
2045  dcop_signal_area = 0;
2046  ;}
2047  break;
2048 
2049  case 37:
2050 
2051 /* Line 1455 of yacc.c */
2052 #line 278 "yacc.yy"
2053  {
2054  dcop_area = 0;
2055  dcop_signal_area = 0;
2056  ;}
2057  break;
2058 
2059  case 38:
2060 
2061 /* Line 1455 of yacc.c */
2062 #line 286 "yacc.yy"
2063  {
2064  dcop_area = 1;
2065  dcop_signal_area = 0;
2066  ;}
2067  break;
2068 
2069  case 39:
2070 
2071 /* Line 1455 of yacc.c */
2072 #line 294 "yacc.yy"
2073  {
2074  /*
2075  A dcop signals area needs all dcop area capabilities,
2076  e.g. parsing of function parameters.
2077  */
2078  dcop_area = 1;
2079  dcop_signal_area = 1;
2080  ;}
2081  break;
2082 
2083  case 40:
2084 
2085 /* Line 1455 of yacc.c */
2086 #line 305 "yacc.yy"
2087  {
2088  (yyval._str) = (yyvsp[(1) - (1)]._str);
2089  ;}
2090  break;
2091 
2092  case 41:
2093 
2094 /* Line 1455 of yacc.c */
2095 #line 308 "yacc.yy"
2096  {
2097  QString* tmp = new QString( "%1::%2" );
2098  *tmp = tmp->arg(*((yyvsp[(1) - (3)]._str))).arg(*((yyvsp[(3) - (3)]._str)));
2099  (yyval._str) = tmp;
2100  ;}
2101  break;
2102 
2103  case 42:
2104 
2105 /* Line 1455 of yacc.c */
2106 #line 317 "yacc.yy"
2107  {
2108  QString* tmp = new QString( " <SUPER>%1</SUPER>\n" );
2109  *tmp = tmp->arg( *((yyvsp[(1) - (1)]._str)) );
2110  (yyval._str) = tmp;
2111  ;}
2112  break;
2113 
2114  case 43:
2115 
2116 /* Line 1455 of yacc.c */
2117 #line 323 "yacc.yy"
2118  {
2119  QString* tmp = new QString( " <SUPER>%1</SUPER>\n" );
2120  *tmp = tmp->arg( *((yyvsp[(1) - (4)]._str)) + "&lt;" + *((yyvsp[(3) - (4)]._str)) + "&gt;" );
2121  (yyval._str) = tmp;
2122  ;}
2123  break;
2124 
2125  case 44:
2126 
2127 /* Line 1455 of yacc.c */
2128 #line 332 "yacc.yy"
2129  {
2130  (yyval._str) = (yyvsp[(3) - (3)]._str);
2131  ;}
2132  break;
2133 
2134  case 45:
2135 
2136 /* Line 1455 of yacc.c */
2137 #line 336 "yacc.yy"
2138  {
2139  (yyval._str) = (yyvsp[(1) - (1)]._str);
2140  ;}
2141  break;
2142 
2143  case 46:
2144 
2145 /* Line 1455 of yacc.c */
2146 #line 343 "yacc.yy"
2147  {
2148  (yyval._str) = (yyvsp[(1) - (2)]._str);
2149  ;}
2150  break;
2151 
2152  case 47:
2153 
2154 /* Line 1455 of yacc.c */
2155 #line 347 "yacc.yy"
2156  {
2157  /* $$ = $1; */
2158  (yyval._str) = new QString( *((yyvsp[(1) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2159  ;}
2160  break;
2161 
2162  case 48:
2163 
2164 /* Line 1455 of yacc.c */
2165 #line 355 "yacc.yy"
2166  {
2167  (yyval._str) = (yyvsp[(2) - (2)]._str);
2168  ;}
2169  break;
2170 
2171  case 49:
2172 
2173 /* Line 1455 of yacc.c */
2174 #line 359 "yacc.yy"
2175  {
2176  (yyval._str) = new QString( "" );
2177  ;}
2178  break;
2179 
2180  case 50:
2181 
2182 /* Line 1455 of yacc.c */
2183 #line 366 "yacc.yy"
2184  {
2185  ;}
2186  break;
2187 
2188  case 52:
2189 
2190 /* Line 1455 of yacc.c */
2191 #line 373 "yacc.yy"
2192  {
2193  (yyval._str) = new QString( "" );
2194  ;}
2195  break;
2196 
2197  case 53:
2198 
2199 /* Line 1455 of yacc.c */
2200 #line 377 "yacc.yy"
2201  {
2202  (yyval._str) = new QString( *((yyvsp[(1) - (2)]._str)) + *((yyvsp[(2) - (2)]._str)) );
2203  ;}
2204  break;
2205 
2206  case 54:
2207 
2208 /* Line 1455 of yacc.c */
2209 #line 381 "yacc.yy"
2210  {
2211  (yyval._str) = new QString( *((yyvsp[(2) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2212  ;}
2213  break;
2214 
2215  case 55:
2216 
2217 /* Line 1455 of yacc.c */
2218 #line 385 "yacc.yy"
2219  {
2220  (yyval._str) = new QString( *((yyvsp[(1) - (2)]._str)) + *((yyvsp[(2) - (2)]._str)) );
2221  ;}
2222  break;
2223 
2224  case 56:
2225 
2226 /* Line 1455 of yacc.c */
2227 #line 389 "yacc.yy"
2228  {
2229  (yyval._str) = (yyvsp[(2) - (2)]._str);
2230  ;}
2231  break;
2232 
2233  case 57:
2234 
2235 /* Line 1455 of yacc.c */
2236 #line 393 "yacc.yy"
2237  {
2238  (yyval._str) = (yyvsp[(2) - (2)]._str);
2239  ;}
2240  break;
2241 
2242  case 58:
2243 
2244 /* Line 1455 of yacc.c */
2245 #line 397 "yacc.yy"
2246  {
2247  (yyval._str) = (yyvsp[(2) - (2)]._str);
2248  ;}
2249  break;
2250 
2251  case 59:
2252 
2253 /* Line 1455 of yacc.c */
2254 #line 401 "yacc.yy"
2255  {
2256  (yyval._str) = (yyvsp[(2) - (2)]._str);
2257  ;}
2258  break;
2259 
2260  case 60:
2261 
2262 /* Line 1455 of yacc.c */
2263 #line 405 "yacc.yy"
2264  {
2265  (yyval._str) = (yyvsp[(2) - (2)]._str);
2266  ;}
2267  break;
2268 
2269  case 61:
2270 
2271 /* Line 1455 of yacc.c */
2272 #line 409 "yacc.yy"
2273  {
2274  (yyval._str) = (yyvsp[(5) - (5)]._str);
2275  ;}
2276  break;
2277 
2278  case 62:
2279 
2280 /* Line 1455 of yacc.c */
2281 #line 413 "yacc.yy"
2282  {
2283  (yyval._str) = (yyvsp[(4) - (4)]._str);
2284  ;}
2285  break;
2286 
2287  case 63:
2288 
2289 /* Line 1455 of yacc.c */
2290 #line 417 "yacc.yy"
2291  {
2292  (yyval._str) = (yyvsp[(4) - (4)]._str);
2293  ;}
2294  break;
2295 
2296  case 64:
2297 
2298 /* Line 1455 of yacc.c */
2299 #line 421 "yacc.yy"
2300  {
2301  (yyval._str) = (yyvsp[(4) - (4)]._str);
2302  ;}
2303  break;
2304 
2305  case 65:
2306 
2307 /* Line 1455 of yacc.c */
2308 #line 425 "yacc.yy"
2309  {
2310  (yyval._str) = (yyvsp[(6) - (6)]._str);
2311  ;}
2312  break;
2313 
2314  case 66:
2315 
2316 /* Line 1455 of yacc.c */
2317 #line 429 "yacc.yy"
2318  {
2319  (yyval._str) = (yyvsp[(4) - (4)]._str);
2320  ;}
2321  break;
2322 
2323  case 67:
2324 
2325 /* Line 1455 of yacc.c */
2326 #line 433 "yacc.yy"
2327  {
2328  (yyval._str) = (yyvsp[(6) - (6)]._str);
2329  ;}
2330  break;
2331 
2332  case 68:
2333 
2334 /* Line 1455 of yacc.c */
2335 #line 437 "yacc.yy"
2336  {
2337  (yyval._str) = (yyvsp[(6) - (6)]._str);
2338  ;}
2339  break;
2340 
2341  case 75:
2342 
2343 /* Line 1455 of yacc.c */
2344 #line 455 "yacc.yy"
2345  {;}
2346  break;
2347 
2348  case 76:
2349 
2350 /* Line 1455 of yacc.c */
2351 #line 456 "yacc.yy"
2352  {;}
2353  break;
2354 
2355  case 77:
2356 
2357 /* Line 1455 of yacc.c */
2358 #line 460 "yacc.yy"
2359  {;}
2360  break;
2361 
2362  case 78:
2363 
2364 /* Line 1455 of yacc.c */
2365 #line 461 "yacc.yy"
2366  {;}
2367  break;
2368 
2369  case 79:
2370 
2371 /* Line 1455 of yacc.c */
2372 #line 462 "yacc.yy"
2373  {;}
2374  break;
2375 
2376  case 80:
2377 
2378 /* Line 1455 of yacc.c */
2379 #line 463 "yacc.yy"
2380  {;}
2381  break;
2382 
2383  case 81:
2384 
2385 /* Line 1455 of yacc.c */
2386 #line 464 "yacc.yy"
2387  {;}
2388  break;
2389 
2390  case 82:
2391 
2392 /* Line 1455 of yacc.c */
2393 #line 468 "yacc.yy"
2394  {;}
2395  break;
2396 
2397  case 83:
2398 
2399 /* Line 1455 of yacc.c */
2400 #line 469 "yacc.yy"
2401  {;}
2402  break;
2403 
2404  case 84:
2405 
2406 /* Line 1455 of yacc.c */
2407 #line 470 "yacc.yy"
2408  {;}
2409  break;
2410 
2411  case 85:
2412 
2413 /* Line 1455 of yacc.c */
2414 #line 475 "yacc.yy"
2415  {
2416  if (dcop_area) {
2417  QString* tmp = new QString("<TYPEDEF name=\"%1\" template=\"%2\"><PARAM %3</TYPEDEF>\n");
2418  *tmp = tmp->arg( *((yyvsp[(6) - (7)]._str)) ).arg( *((yyvsp[(2) - (7)]._str)) ).arg( *((yyvsp[(4) - (7)]._str)) );
2419  (yyval._str) = tmp;
2420  } else {
2421  (yyval._str) = new QString("");
2422  }
2423  ;}
2424  break;
2425 
2426  case 86:
2427 
2428 /* Line 1455 of yacc.c */
2429 #line 485 "yacc.yy"
2430  {
2431  if (dcop_area)
2432  yyerror("scoped template typedefs are not supported in dcop areas!");
2433  ;}
2434  break;
2435 
2436  case 87:
2437 
2438 /* Line 1455 of yacc.c */
2439 #line 493 "yacc.yy"
2440  {
2441  (yyval._int) = 0;
2442  ;}
2443  break;
2444 
2445  case 88:
2446 
2447 /* Line 1455 of yacc.c */
2448 #line 497 "yacc.yy"
2449  {
2450  (yyval._int) = 1;
2451  ;}
2452  break;
2453 
2454  case 89:
2455 
2456 /* Line 1455 of yacc.c */
2457 #line 503 "yacc.yy"
2458  { (yyval._str) = new QString("signed int"); ;}
2459  break;
2460 
2461  case 90:
2462 
2463 /* Line 1455 of yacc.c */
2464 #line 504 "yacc.yy"
2465  { (yyval._str) = new QString("signed int"); ;}
2466  break;
2467 
2468  case 91:
2469 
2470 /* Line 1455 of yacc.c */
2471 #line 505 "yacc.yy"
2472  { (yyval._str) = new QString("unsigned int"); ;}
2473  break;
2474 
2475  case 92:
2476 
2477 /* Line 1455 of yacc.c */
2478 #line 506 "yacc.yy"
2479  { (yyval._str) = new QString("unsigned int"); ;}
2480  break;
2481 
2482  case 93:
2483 
2484 /* Line 1455 of yacc.c */
2485 #line 507 "yacc.yy"
2486  { (yyval._str) = new QString("signed short int"); ;}
2487  break;
2488 
2489  case 94:
2490 
2491 /* Line 1455 of yacc.c */
2492 #line 508 "yacc.yy"
2493  { (yyval._str) = new QString("signed short int"); ;}
2494  break;
2495 
2496  case 95:
2497 
2498 /* Line 1455 of yacc.c */
2499 #line 509 "yacc.yy"
2500  { (yyval._str) = new QString("signed long int"); ;}
2501  break;
2502 
2503  case 96:
2504 
2505 /* Line 1455 of yacc.c */
2506 #line 510 "yacc.yy"
2507  { (yyval._str) = new QString("signed long int"); ;}
2508  break;
2509 
2510  case 97:
2511 
2512 /* Line 1455 of yacc.c */
2513 #line 511 "yacc.yy"
2514  { (yyval._str) = new QString("unsigned short int"); ;}
2515  break;
2516 
2517  case 98:
2518 
2519 /* Line 1455 of yacc.c */
2520 #line 512 "yacc.yy"
2521  { (yyval._str) = new QString("unsigned short int"); ;}
2522  break;
2523 
2524  case 99:
2525 
2526 /* Line 1455 of yacc.c */
2527 #line 513 "yacc.yy"
2528  { (yyval._str) = new QString("unsigned long int"); ;}
2529  break;
2530 
2531  case 100:
2532 
2533 /* Line 1455 of yacc.c */
2534 #line 514 "yacc.yy"
2535  { (yyval._str) = new QString("unsigned long int"); ;}
2536  break;
2537 
2538  case 101:
2539 
2540 /* Line 1455 of yacc.c */
2541 #line 515 "yacc.yy"
2542  { (yyval._str) = new QString("int"); ;}
2543  break;
2544 
2545  case 102:
2546 
2547 /* Line 1455 of yacc.c */
2548 #line 516 "yacc.yy"
2549  { (yyval._str) = new QString("long int"); ;}
2550  break;
2551 
2552  case 103:
2553 
2554 /* Line 1455 of yacc.c */
2555 #line 517 "yacc.yy"
2556  { (yyval._str) = new QString("long int"); ;}
2557  break;
2558 
2559  case 104:
2560 
2561 /* Line 1455 of yacc.c */
2562 #line 518 "yacc.yy"
2563  { (yyval._str) = new QString("short int"); ;}
2564  break;
2565 
2566  case 105:
2567 
2568 /* Line 1455 of yacc.c */
2569 #line 519 "yacc.yy"
2570  { (yyval._str) = new QString("short int"); ;}
2571  break;
2572 
2573  case 106:
2574 
2575 /* Line 1455 of yacc.c */
2576 #line 520 "yacc.yy"
2577  { (yyval._str) = new QString("char"); ;}
2578  break;
2579 
2580  case 107:
2581 
2582 /* Line 1455 of yacc.c */
2583 #line 521 "yacc.yy"
2584  { (yyval._str) = new QString("signed char"); ;}
2585  break;
2586 
2587  case 108:
2588 
2589 /* Line 1455 of yacc.c */
2590 #line 522 "yacc.yy"
2591  { (yyval._str) = new QString("unsigned char"); ;}
2592  break;
2593 
2594  case 111:
2595 
2596 /* Line 1455 of yacc.c */
2597 #line 532 "yacc.yy"
2598  {
2599  (yyval._str) = new QString( "" );
2600  ;}
2601  break;
2602 
2603  case 113:
2604 
2605 /* Line 1455 of yacc.c */
2606 #line 537 "yacc.yy"
2607  {
2608  (yyval._str) = new QString( *((yyvsp[(1) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2609  ;}
2610  break;
2611 
2612  case 115:
2613 
2614 /* Line 1455 of yacc.c */
2615 #line 545 "yacc.yy"
2616  { (yyval._str) = (yyvsp[(1) - (1)]._str); ;}
2617  break;
2618 
2619  case 116:
2620 
2621 /* Line 1455 of yacc.c */
2622 #line 546 "yacc.yy"
2623  { (yyval._str) = (yyvsp[(2) - (2)]._str); ;}
2624  break;
2625 
2626  case 117:
2627 
2628 /* Line 1455 of yacc.c */
2629 #line 547 "yacc.yy"
2630  { (yyval._str) = (yyvsp[(2) - (2)]._str); ;}
2631  break;
2632 
2633  case 118:
2634 
2635 /* Line 1455 of yacc.c */
2636 #line 548 "yacc.yy"
2637  {
2638  QString *tmp = new QString("%1&lt;%2&gt;");
2639  *tmp = tmp->arg(*((yyvsp[(1) - (4)]._str)));
2640  *tmp = tmp->arg(*((yyvsp[(3) - (4)]._str)));
2641  (yyval._str) = tmp;
2642  ;}
2643  break;
2644 
2645  case 119:
2646 
2647 /* Line 1455 of yacc.c */
2648 #line 554 "yacc.yy"
2649  {
2650  QString *tmp = new QString("%1&lt;%2&gt;::%3");
2651  *tmp = tmp->arg(*((yyvsp[(1) - (6)]._str)));
2652  *tmp = tmp->arg(*((yyvsp[(3) - (6)]._str)));
2653  *tmp = tmp->arg(*((yyvsp[(6) - (6)]._str)));
2654  (yyval._str) = tmp;
2655  ;}
2656  break;
2657 
2658  case 120:
2659 
2660 /* Line 1455 of yacc.c */
2661 #line 566 "yacc.yy"
2662  {
2663  (yyval._str) = new QString(*((yyvsp[(1) - (3)]._str)) + "," + *((yyvsp[(3) - (3)]._str)));
2664  ;}
2665  break;
2666 
2667  case 121:
2668 
2669 /* Line 1455 of yacc.c */
2670 #line 570 "yacc.yy"
2671  {
2672  (yyval._str) = (yyvsp[(1) - (1)]._str);
2673  ;}
2674  break;
2675 
2676  case 122:
2677 
2678 /* Line 1455 of yacc.c */
2679 #line 578 "yacc.yy"
2680  {
2681  if (dcop_area)
2682  yyerror("in dcop areas are no pointers allowed");
2683  ;}
2684  break;
2685 
2686  case 123:
2687 
2688 /* Line 1455 of yacc.c */
2689 #line 583 "yacc.yy"
2690  {
2691  (yyval._str) = (yyvsp[(1) - (1)]._str);
2692  ;}
2693  break;
2694 
2695  case 124:
2696 
2697 /* Line 1455 of yacc.c */
2698 #line 592 "yacc.yy"
2699  {
2700  if (dcop_area)
2701  yyerror("in dcop areas are no pointers allowed");
2702  ;}
2703  break;
2704 
2705  case 125:
2706 
2707 /* Line 1455 of yacc.c */
2708 #line 596 "yacc.yy"
2709  {
2710  if (dcop_area) {
2711  QString* tmp = new QString("<TYPE qleft=\"const\" qright=\"" AMP_ENTITY "\">%1</TYPE>");
2712  *tmp = tmp->arg( *((yyvsp[(2) - (3)]._str)) );
2713  (yyval._str) = tmp;
2714  }
2715  ;}
2716  break;
2717 
2718  case 126:
2719 
2720 /* Line 1455 of yacc.c */
2721 #line 603 "yacc.yy"
2722  {
2723  QString* tmp = new QString("<TYPE>%1</TYPE>");
2724  *tmp = tmp->arg( *((yyvsp[(2) - (2)]._str)) );
2725  (yyval._str) = tmp;
2726  ;}
2727  break;
2728 
2729  case 127:
2730 
2731 /* Line 1455 of yacc.c */
2732 #line 608 "yacc.yy"
2733  {
2734  QString* tmp = new QString("<TYPE>%1</TYPE>");
2735  *tmp = tmp->arg( *((yyvsp[(1) - (2)]._str)) );
2736  (yyval._str) = tmp;
2737  ;}
2738  break;
2739 
2740  case 128:
2741 
2742 /* Line 1455 of yacc.c */
2743 #line 613 "yacc.yy"
2744  {
2745  if (dcop_area) {
2746  QString* tmp = new QString("<TYPE qleft=\"const\" qright=\"" AMP_ENTITY "\">%1</TYPE>");
2747  *tmp = tmp->arg( *((yyvsp[(1) - (3)]._str)) );
2748  (yyval._str) = tmp;
2749  }
2750  ;}
2751  break;
2752 
2753  case 129:
2754 
2755 /* Line 1455 of yacc.c */
2756 #line 620 "yacc.yy"
2757  {
2758  if (dcop_area)
2759  yyerror("in dcop areas are only const references allowed!");
2760  ;}
2761  break;
2762 
2763  case 130:
2764 
2765 /* Line 1455 of yacc.c */
2766 #line 625 "yacc.yy"
2767  {
2768  QString* tmp = new QString("<TYPE>%1</TYPE>");
2769  *tmp = tmp->arg( *((yyvsp[(1) - (1)]._str)) );
2770  (yyval._str) = tmp;
2771  ;}
2772  break;
2773 
2774  case 131:
2775 
2776 /* Line 1455 of yacc.c */
2777 #line 631 "yacc.yy"
2778  {
2779  if (dcop_area)
2780  yyerror("in dcop areas are no pointers allowed");
2781  ;}
2782  break;
2783 
2784  case 132:
2785 
2786 /* Line 1455 of yacc.c */
2787 #line 639 "yacc.yy"
2788  {
2789  (yyval._str) = new QString(*((yyvsp[(1) - (3)]._str)) + "," + *((yyvsp[(3) - (3)]._str)));
2790  ;}
2791  break;
2792 
2793  case 133:
2794 
2795 /* Line 1455 of yacc.c */
2796 #line 643 "yacc.yy"
2797  {
2798  (yyval._str) = (yyvsp[(1) - (1)]._str);
2799  ;}
2800  break;
2801 
2802  case 134:
2803 
2804 /* Line 1455 of yacc.c */
2805 #line 650 "yacc.yy"
2806  {
2807  if (dcop_area) {
2808  QString* tmp = new QString("\n <ARG>%1<NAME>%2</NAME></ARG>");
2809  *tmp = tmp->arg( *((yyvsp[(1) - (3)]._str)) );
2810  *tmp = tmp->arg( *((yyvsp[(2) - (3)]._str)) );
2811  (yyval._str) = tmp;
2812  } else (yyval._str) = new QString();
2813  ;}
2814  break;
2815 
2816  case 135:
2817 
2818 /* Line 1455 of yacc.c */
2819 #line 659 "yacc.yy"
2820  {
2821  if (dcop_area) {
2822  QString* tmp = new QString("\n <ARG>%1</ARG>");
2823  *tmp = tmp->arg( *((yyvsp[(1) - (2)]._str)) );
2824  (yyval._str) = tmp;
2825  } else (yyval._str) = new QString();
2826  ;}
2827  break;
2828 
2829  case 136:
2830 
2831 /* Line 1455 of yacc.c */
2832 #line 667 "yacc.yy"
2833  {
2834  if (dcop_area)
2835  yyerror("variable arguments not supported in dcop area.");
2836  (yyval._str) = new QString("");
2837  ;}
2838  break;
2839 
2840  case 137:
2841 
2842 /* Line 1455 of yacc.c */
2843 #line 676 "yacc.yy"
2844  {
2845  ;}
2846  break;
2847 
2848  case 138:
2849 
2850 /* Line 1455 of yacc.c */
2851 #line 679 "yacc.yy"
2852  {
2853  ;}
2854  break;
2855 
2856  case 139:
2857 
2858 /* Line 1455 of yacc.c */
2859 #line 682 "yacc.yy"
2860  {
2861  ;}
2862  break;
2863 
2864  case 140:
2865 
2866 /* Line 1455 of yacc.c */
2867 #line 689 "yacc.yy"
2868  {
2869  ;}
2870  break;
2871 
2872  case 141:
2873 
2874 /* Line 1455 of yacc.c */
2875 #line 692 "yacc.yy"
2876  {
2877  ;}
2878  break;
2879 
2880  case 142:
2881 
2882 /* Line 1455 of yacc.c */
2883 #line 695 "yacc.yy"
2884  {
2885  ;}
2886  break;
2887 
2888  case 143:
2889 
2890 /* Line 1455 of yacc.c */
2891 #line 698 "yacc.yy"
2892  {
2893  ;}
2894  break;
2895 
2896  case 144:
2897 
2898 /* Line 1455 of yacc.c */
2899 #line 701 "yacc.yy"
2900  {
2901  ;}
2902  break;
2903 
2904  case 145:
2905 
2906 /* Line 1455 of yacc.c */
2907 #line 706 "yacc.yy"
2908  { (yyval._int) = 0; ;}
2909  break;
2910 
2911  case 146:
2912 
2913 /* Line 1455 of yacc.c */
2914 #line 707 "yacc.yy"
2915  { (yyval._int) = 1; ;}
2916  break;
2917 
2918  case 152:
2919 
2920 /* Line 1455 of yacc.c */
2921 #line 716 "yacc.yy"
2922  {
2923  if (dcop_area || dcop_signal_area) {
2924  QString* tmp = 0;
2925  tmp = new QString(
2926  " <%4>\n"
2927  " %2\n"
2928  " <NAME>%1</NAME>"
2929  "%3\n"
2930  " </%5>\n");
2931  *tmp = tmp->arg( *((yyvsp[(2) - (6)]._str)) );
2932  *tmp = tmp->arg( *((yyvsp[(1) - (6)]._str)) );
2933  *tmp = tmp->arg( *((yyvsp[(4) - (6)]._str)) );
2934 
2935  QString tagname = (dcop_signal_area) ? "SIGNAL" : "FUNC";
2936  QString attr = ((yyvsp[(6) - (6)]._int)) ? " qual=\"const\"" : "";
2937  *tmp = tmp->arg( QString("%1%2").arg(tagname).arg(attr) );
2938  *tmp = tmp->arg( QString("%1").arg(tagname) );
2939  (yyval._str) = tmp;
2940  } else
2941  (yyval._str) = new QString("");
2942  ;}
2943  break;
2944 
2945  case 153:
2946 
2947 /* Line 1455 of yacc.c */
2948 #line 738 "yacc.yy"
2949  {
2950  if (dcop_area)
2951  yyerror("operators aren't allowed in dcop areas!");
2952  (yyval._str) = new QString("");
2953  ;}
2954  break;
2955 
2956  case 154:
2957 
2958 /* Line 1455 of yacc.c */
2959 #line 748 "yacc.yy"
2960  {;}
2961  break;
2962 
2963  case 155:
2964 
2965 /* Line 1455 of yacc.c */
2966 #line 749 "yacc.yy"
2967  {;}
2968  break;
2969 
2970  case 156:
2971 
2972 /* Line 1455 of yacc.c */
2973 #line 750 "yacc.yy"
2974  {;}
2975  break;
2976 
2977  case 157:
2978 
2979 /* Line 1455 of yacc.c */
2980 #line 755 "yacc.yy"
2981  {;}
2982  break;
2983 
2984  case 158:
2985 
2986 /* Line 1455 of yacc.c */
2987 #line 760 "yacc.yy"
2988  {;}
2989  break;
2990 
2991  case 159:
2992 
2993 /* Line 1455 of yacc.c */
2994 #line 761 "yacc.yy"
2995  {;}
2996  break;
2997 
2998  case 160:
2999 
3000 /* Line 1455 of yacc.c */
3001 #line 766 "yacc.yy"
3002  {
3003  (yyval._str) = (yyvsp[(1) - (2)]._str);
3004  ;}
3005  break;
3006 
3007  case 161:
3008 
3009 /* Line 1455 of yacc.c */
3010 #line 770 "yacc.yy"
3011  {
3012  (yyval._str) = (yyvsp[(2) - (5)]._str);
3013  ;}
3014  break;
3015 
3016  case 162:
3017 
3018 /* Line 1455 of yacc.c */
3019 #line 774 "yacc.yy"
3020  {
3021  (yyval._str) = (yyvsp[(2) - (3)]._str);
3022  ;}
3023  break;
3024 
3025  case 163:
3026 
3027 /* Line 1455 of yacc.c */
3028 #line 778 "yacc.yy"
3029  {
3030  /* The constructor */
3031  assert(!dcop_area);
3032  (yyval._str) = new QString("");
3033  ;}
3034  break;
3035 
3036  case 164:
3037 
3038 /* Line 1455 of yacc.c */
3039 #line 784 "yacc.yy"
3040  {
3041  /* The constructor */
3042  assert(!dcop_area);
3043  (yyval._str) = new QString("");
3044  ;}
3045  break;
3046 
3047  case 165:
3048 
3049 /* Line 1455 of yacc.c */
3050 #line 790 "yacc.yy"
3051  {
3052  /* The destructor */
3053  assert(!dcop_area);
3054  (yyval._str) = new QString("");
3055  ;}
3056  break;
3057 
3058  case 166:
3059 
3060 /* Line 1455 of yacc.c */
3061 #line 796 "yacc.yy"
3062  {
3063  if (dcop_area) {
3064  if (dcop_signal_area)
3065  yyerror("DCOP signals cannot be static");
3066  else
3067  yyerror("DCOP functions cannot be static");
3068  } else {
3069  (yyval._str) = new QString();
3070  }
3071  ;}
3072  break;
3073 
3074  case 167:
3075 
3076 /* Line 1455 of yacc.c */
3077 #line 809 "yacc.yy"
3078  {
3079  function_mode = 1;
3080  ;}
3081  break;
3082 
3083  case 171:
3084 
3085 /* Line 1455 of yacc.c */
3086 #line 821 "yacc.yy"
3087  {;}
3088  break;
3089 
3090  case 172:
3091 
3092 /* Line 1455 of yacc.c */
3093 #line 822 "yacc.yy"
3094  {;}
3095  break;
3096 
3097  case 176:
3098 
3099 /* Line 1455 of yacc.c */
3100 #line 834 "yacc.yy"
3101  {;}
3102  break;
3103 
3104  case 177:
3105 
3106 /* Line 1455 of yacc.c */
3107 #line 835 "yacc.yy"
3108  {;}
3109  break;
3110 
3111  case 178:
3112 
3113 /* Line 1455 of yacc.c */
3114 #line 836 "yacc.yy"
3115  {;}
3116  break;
3117 
3118  case 179:
3119 
3120 /* Line 1455 of yacc.c */
3121 #line 839 "yacc.yy"
3122  {;}
3123  break;
3124 
3125  case 180:
3126 
3127 /* Line 1455 of yacc.c */
3128 #line 843 "yacc.yy"
3129  {;}
3130  break;
3131 
3132  case 181:
3133 
3134 /* Line 1455 of yacc.c */
3135 #line 844 "yacc.yy"
3136  {;}
3137  break;
3138 
3139  case 182:
3140 
3141 /* Line 1455 of yacc.c */
3142 #line 845 "yacc.yy"
3143  {;}
3144  break;
3145 
3146  case 183:
3147 
3148 /* Line 1455 of yacc.c */
3149 #line 846 "yacc.yy"
3150  {;}
3151  break;
3152 
3153  case 184:
3154 
3155 /* Line 1455 of yacc.c */
3156 #line 847 "yacc.yy"
3157  {;}
3158  break;
3159 
3160  case 185:
3161 
3162 /* Line 1455 of yacc.c */
3163 #line 848 "yacc.yy"
3164  {;}
3165  break;
3166 
3167 
3168 
3169 /* Line 1455 of yacc.c */
3170 #line 3171 "yacc.cc"
3171  default: break;
3172  }
3173  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3174 
3175  YYPOPSTACK (yylen);
3176  yylen = 0;
3177  YY_STACK_PRINT (yyss, yyssp);
3178 
3179  *++yyvsp = yyval;
3180 
3181  /* Now `shift' the result of the reduction. Determine what state
3182  that goes to, based on the state we popped back to and the rule
3183  number reduced by. */
3184 
3185  yyn = yyr1[yyn];
3186 
3187  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3188  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3189  yystate = yytable[yystate];
3190  else
3191  yystate = yydefgoto[yyn - YYNTOKENS];
3192 
3193  goto yynewstate;
3194 
3195 
3196 /*------------------------------------.
3197 | yyerrlab -- here on detecting error |
3198 `------------------------------------*/
3199 yyerrlab:
3200  /* If not already recovering from an error, report this error. */
3201  if (!yyerrstatus)
3202  {
3203  ++yynerrs;
3204 #if ! YYERROR_VERBOSE
3205  yyerror (YY_("syntax error"));
3206 #else
3207  {
3208  YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
3209  if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
3210  {
3211  YYSIZE_T yyalloc = 2 * yysize;
3212  if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
3213  yyalloc = YYSTACK_ALLOC_MAXIMUM;
3214  if (yymsg != yymsgbuf)
3215  YYSTACK_FREE (yymsg);
3216  yymsg = (char *) YYSTACK_ALLOC (yyalloc);
3217  if (yymsg)
3218  yymsg_alloc = yyalloc;
3219  else
3220  {
3221  yymsg = yymsgbuf;
3222  yymsg_alloc = sizeof yymsgbuf;
3223  }
3224  }
3225 
3226  if (0 < yysize && yysize <= yymsg_alloc)
3227  {
3228  (void) yysyntax_error (yymsg, yystate, yychar);
3229  yyerror (yymsg);
3230  }
3231  else
3232  {
3233  yyerror (YY_("syntax error"));
3234  if (yysize != 0)
3235  goto yyexhaustedlab;
3236  }
3237  }
3238 #endif
3239  }
3240 
3241 
3242 
3243  if (yyerrstatus == 3)
3244  {
3245  /* If just tried and failed to reuse lookahead token after an
3246  error, discard it. */
3247 
3248  if (yychar <= YYEOF)
3249  {
3250  /* Return failure if at end of input. */
3251  if (yychar == YYEOF)
3252  YYABORT;
3253  }
3254  else
3255  {
3256  yydestruct ("Error: discarding",
3257  yytoken, &yylval);
3258  yychar = YYEMPTY;
3259  }
3260  }
3261 
3262  /* Else will try to reuse lookahead token after shifting the error
3263  token. */
3264  goto yyerrlab1;
3265 
3266 
3267 /*---------------------------------------------------.
3268 | yyerrorlab -- error raised explicitly by YYERROR. |
3269 `---------------------------------------------------*/
3270 yyerrorlab:
3271 
3272  /* Pacify compilers like GCC when the user code never invokes
3273  YYERROR and the label yyerrorlab therefore never appears in user
3274  code. */
3275  if (/*CONSTCOND*/ 0)
3276  goto yyerrorlab;
3277 
3278  /* Do not reclaim the symbols of the rule which action triggered
3279  this YYERROR. */
3280  YYPOPSTACK (yylen);
3281  yylen = 0;
3282  YY_STACK_PRINT (yyss, yyssp);
3283  yystate = *yyssp;
3284  goto yyerrlab1;
3285 
3286 
3287 /*-------------------------------------------------------------.
3288 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3289 `-------------------------------------------------------------*/
3290 yyerrlab1:
3291  yyerrstatus = 3; /* Each real token shifted decrements this. */
3292 
3293  for (;;)
3294  {
3295  yyn = yypact[yystate];
3296  if (yyn != YYPACT_NINF)
3297  {
3298  yyn += YYTERROR;
3299  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3300  {
3301  yyn = yytable[yyn];
3302  if (0 < yyn)
3303  break;
3304  }
3305  }
3306 
3307  /* Pop the current state because it cannot handle the error token. */
3308  if (yyssp == yyss)
3309  YYABORT;
3310 
3311 
3312  yydestruct ("Error: popping",
3313  yystos[yystate], yyvsp);
3314  YYPOPSTACK (1);
3315  yystate = *yyssp;
3316  YY_STACK_PRINT (yyss, yyssp);
3317  }
3318 
3319  *++yyvsp = yylval;
3320 
3321 
3322  /* Shift the error token. */
3323  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3324 
3325  yystate = yyn;
3326  goto yynewstate;
3327 
3328 
3329 /*-------------------------------------.
3330 | yyacceptlab -- YYACCEPT comes here. |
3331 `-------------------------------------*/
3332 yyacceptlab:
3333  yyresult = 0;
3334  goto yyreturn;
3335 
3336 /*-----------------------------------.
3337 | yyabortlab -- YYABORT comes here. |
3338 `-----------------------------------*/
3339 yyabortlab:
3340  yyresult = 1;
3341  goto yyreturn;
3342 
3343 #if !defined(yyoverflow) || YYERROR_VERBOSE
3344 /*-------------------------------------------------.
3345 | yyexhaustedlab -- memory exhaustion comes here. |
3346 `-------------------------------------------------*/
3347 yyexhaustedlab:
3348  yyerror (YY_("memory exhausted"));
3349  yyresult = 2;
3350  /* Fall through. */
3351 #endif
3352 
3353 yyreturn:
3354  if (yychar != YYEMPTY)
3355  yydestruct ("Cleanup: discarding lookahead",
3356  yytoken, &yylval);
3357  /* Do not reclaim the symbols of the rule which action triggered
3358  this YYABORT or YYACCEPT. */
3359  YYPOPSTACK (yylen);
3360  YY_STACK_PRINT (yyss, yyssp);
3361  while (yyssp != yyss)
3362  {
3363  yydestruct ("Cleanup: popping",
3364  yystos[*yyssp], yyvsp);
3365  YYPOPSTACK (1);
3366  }
3367 #ifndef yyoverflow
3368  if (yyss != yyssa)
3369  YYSTACK_FREE (yyss);
3370 #endif
3371 #if YYERROR_VERBOSE
3372  if (yymsg != yymsgbuf)
3373  YYSTACK_FREE (yymsg);
3374 #endif
3375  /* Make sure YYID is used. */
3376  return YYID (yyresult);
3377 }
3378 
3379 
3380 
3381 /* Line 1675 of yacc.c */
3382 #line 851 "yacc.yy"
3383 
3384 
3385 void dcopidlParse( const char *_code )
3386 {
3387  dcopidlInitFlex( _code );
3388  yyparse();
3389 }
3390 

dcop

Skip menu "dcop"
  • Main Page
  • Modules
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

dcop

Skip menu "dcop"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for dcop by doxygen 1.8.1.2
This website is maintained by Timothy Pearson.