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

dcop

  • dcop
  • dcopidl
yacc.cpp
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 TQString 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 TQString 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.cpp"
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  TQString *_str;
242  unsigned short _char;
243  double _float;
244 
245 
246 
247 /* Line 214 of yacc.c */
248 #line 249 "yacc.cpp"
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.cpp"
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  { \
1132  YYFPRINTF Args; \
1133  } \
1134 } while (YYID (0))
1135 
1136 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1137 do { \
1138  if (yydebug) \
1139  { \
1140  YYFPRINTF (stderr, "%s ", Title); \
1141  yy_symbol_print (stderr, \
1142  Type, Value); \
1143  YYFPRINTF (stderr, "\n"); \
1144  } \
1145 } while (YYID (0))
1146 
1147 
1148 /*--------------------------------.
1149 | Print this symbol on YYOUTPUT. |
1150 `--------------------------------*/
1151 
1152 /*ARGSUSED*/
1153 #if (defined __STDC__ || defined __C99__FUNC__ \
1154  || defined __cplusplus || defined _MSC_VER)
1155 static void
1156 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1157 #else
1158 static void
1159 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1160  FILE *yyoutput;
1161  int yytype;
1162  YYSTYPE const * const yyvaluep;
1163 #endif
1164 {
1165  if (!yyvaluep)
1166  return;
1167 # ifdef YYPRINT
1168  if (yytype < YYNTOKENS)
1169  YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1170 # else
1171  YYUSE (yyoutput);
1172 # endif
1173  switch (yytype)
1174  {
1175  default:
1176  break;
1177  }
1178 }
1179 
1180 
1181 /*--------------------------------.
1182 | Print this symbol on YYOUTPUT. |
1183 `--------------------------------*/
1184 
1185 #if (defined __STDC__ || defined __C99__FUNC__ \
1186  || defined __cplusplus || defined _MSC_VER)
1187 static void
1188 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1189 #else
1190 static void
1191 yy_symbol_print (yyoutput, yytype, yyvaluep)
1192  FILE *yyoutput;
1193  int yytype;
1194  YYSTYPE const * const yyvaluep;
1195 #endif
1196 {
1197  if (yytype < YYNTOKENS)
1198  YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1199  else
1200  YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1201 
1202  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1203  YYFPRINTF (yyoutput, ")");
1204 }
1205 
1206 /*------------------------------------------------------------------.
1207 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1208 | TOP (included). |
1209 `------------------------------------------------------------------*/
1210 
1211 #if (defined __STDC__ || defined __C99__FUNC__ \
1212  || defined __cplusplus || defined _MSC_VER)
1213 static void
1214 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1215 #else
1216 static void
1217 yy_stack_print (yybottom, yytop)
1218  yytype_int16 *yybottom;
1219  yytype_int16 *yytop;
1220 #endif
1221 {
1222  YYFPRINTF (stderr, "Stack now");
1223  for (; yybottom <= yytop; yybottom++)
1224  {
1225  int yybot = *yybottom;
1226  YYFPRINTF (stderr, " %d", yybot);
1227  }
1228  YYFPRINTF (stderr, "\n");
1229 }
1230 
1231 # define YY_STACK_PRINT(Bottom, Top) \
1232 do { \
1233  if (yydebug) \
1234  yy_stack_print ((Bottom), (Top)); \
1235 } while (YYID (0))
1236 
1237 
1238 /*------------------------------------------------.
1239 | Report that the YYRULE is going to be reduced. |
1240 `------------------------------------------------*/
1241 
1242 #if (defined __STDC__ || defined __C99__FUNC__ \
1243  || defined __cplusplus || defined _MSC_VER)
1244 static void
1245 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1246 #else
1247 static void
1248 yy_reduce_print (yyvsp, yyrule)
1249  YYSTYPE *yyvsp;
1250  int yyrule;
1251 #endif
1252 {
1253  int yynrhs = yyr2[yyrule];
1254  int yyi;
1255  unsigned long int yylno = yyrline[yyrule];
1256  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1257  yyrule - 1, yylno);
1258  /* The symbols being reduced. */
1259  for (yyi = 0; yyi < yynrhs; yyi++)
1260  {
1261  YYFPRINTF (stderr, " $%d = ", yyi + 1);
1262  yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1263  &(yyvsp[(yyi + 1) - (yynrhs)])
1264  );
1265  YYFPRINTF (stderr, "\n");
1266  }
1267 }
1268 
1269 # define YY_REDUCE_PRINT(Rule) \
1270 do { \
1271  if (yydebug) \
1272  yy_reduce_print (yyvsp, Rule); \
1273 } while (YYID (0))
1274 
1275 /* Nonzero means print parse trace. It is left uninitialized so that
1276  multiple parsers can coexist. */
1277 int yydebug;
1278 #else /* !YYDEBUG */
1279 # define YYDPRINTF(Args)
1280 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1281 # define YY_STACK_PRINT(Bottom, Top)
1282 # define YY_REDUCE_PRINT(Rule)
1283 #endif /* !YYDEBUG */
1284 
1285 
1286 /* YYINITDEPTH -- initial size of the parser's stacks. */
1287 #ifndef YYINITDEPTH
1288 # define YYINITDEPTH 200
1289 #endif
1290 
1291 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1292  if the built-in stack extension method is used).
1293 
1294  Do not make this value too large; the results are undefined if
1295  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1296  evaluated with infinite-precision integer arithmetic. */
1297 
1298 #ifndef YYMAXDEPTH
1299 # define YYMAXDEPTH 10000
1300 #endif
1301 
1302 ␌
1303 
1304 #if YYERROR_VERBOSE
1305 
1306 # ifndef yystrlen
1307 # if defined __GLIBC__ && defined _STRING_H
1308 # define yystrlen strlen
1309 # else
1310 /* Return the length of YYSTR. */
1311 #if (defined __STDC__ || defined __C99__FUNC__ \
1312  || defined __cplusplus || defined _MSC_VER)
1313 static YYSIZE_T
1314 yystrlen (const char *yystr)
1315 #else
1316 static YYSIZE_T
1317 yystrlen (yystr)
1318  const char *yystr;
1319 #endif
1320 {
1321  YYSIZE_T yylen;
1322  for (yylen = 0; yystr[yylen]; yylen++)
1323  continue;
1324  return yylen;
1325 }
1326 # endif
1327 # endif
1328 
1329 # ifndef yystpcpy
1330 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1331 # define yystpcpy stpcpy
1332 # else
1333 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1334  YYDEST. */
1335 #if (defined __STDC__ || defined __C99__FUNC__ \
1336  || defined __cplusplus || defined _MSC_VER)
1337 static char *
1338 yystpcpy (char *yydest, const char *yysrc)
1339 #else
1340 static char *
1341 yystpcpy (yydest, yysrc)
1342  char *yydest;
1343  const char *yysrc;
1344 #endif
1345 {
1346  char *yyd = yydest;
1347  const char *yys = yysrc;
1348 
1349  while ((*yyd++ = *yys++) != '\0')
1350  continue;
1351 
1352  return yyd - 1;
1353 }
1354 # endif
1355 # endif
1356 
1357 # ifndef yytnamerr
1358 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1359  quotes and backslashes, so that it's suitable for yyerror. The
1360  heuristic is that double-quoting is unnecessary unless the string
1361  contains an apostrophe, a comma, or backslash (other than
1362  backslash-backslash). YYSTR is taken from yytname. If YYRES is
1363  null, do not copy; instead, return the length of what the result
1364  would have been. */
1365 static YYSIZE_T
1366 yytnamerr (char *yyres, const char *yystr)
1367 {
1368  if (*yystr == '"')
1369  {
1370  YYSIZE_T yyn = 0;
1371  char const *yyp = yystr;
1372 
1373  for (;;)
1374  switch (*++yyp)
1375  {
1376  case '\'':
1377  case ',':
1378  goto do_not_strip_quotes;
1379 
1380  case '\\':
1381  if (*++yyp != '\\')
1382  goto do_not_strip_quotes;
1383  /* Fall through. */
1384  default:
1385  if (yyres)
1386  yyres[yyn] = *yyp;
1387  yyn++;
1388  break;
1389 
1390  case '"':
1391  if (yyres)
1392  yyres[yyn] = '\0';
1393  return yyn;
1394  }
1395  do_not_strip_quotes: ;
1396  }
1397 
1398  if (! yyres)
1399  return yystrlen (yystr);
1400 
1401  return yystpcpy (yyres, yystr) - yyres;
1402 }
1403 # endif
1404 
1405 /* Copy into YYRESULT an error message about the unexpected token
1406  YYCHAR while in state YYSTATE. Return the number of bytes copied,
1407  including the terminating null byte. If YYRESULT is null, do not
1408  copy anything; just return the number of bytes that would be
1409  copied. As a special case, return 0 if an ordinary "syntax error"
1410  message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1411  size calculation. */
1412 static YYSIZE_T
1413 yysyntax_error (char *yyresult, int yystate, int yychar)
1414 {
1415  int yyn = yypact[yystate];
1416 
1417  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1418  return 0;
1419  else
1420  {
1421  int yytype = YYTRANSLATE (yychar);
1422  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1423  YYSIZE_T yysize = yysize0;
1424  YYSIZE_T yysize1;
1425  int yysize_overflow = 0;
1426  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1427  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1428  int yyx;
1429 
1430 # if 0
1431  /* This is so xgettext sees the translatable formats that are
1432  constructed on the fly. */
1433  YY_("syntax error, unexpected %s");
1434  YY_("syntax error, unexpected %s, expecting %s");
1435  YY_("syntax error, unexpected %s, expecting %s or %s");
1436  YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1437  YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1438 # endif
1439  char *yyfmt;
1440  char const *yyf;
1441  static char const yyunexpected[] = "syntax error, unexpected %s";
1442  static char const yyexpecting[] = ", expecting %s";
1443  static char const yyor[] = " or %s";
1444  char yyformat[sizeof yyunexpected
1445  + sizeof yyexpecting - 1
1446  + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1447  * (sizeof yyor - 1))];
1448  char const *yyprefix = yyexpecting;
1449 
1450  /* Start YYX at -YYN if negative to avoid negative indexes in
1451  YYCHECK. */
1452  int yyxbegin = yyn < 0 ? -yyn : 0;
1453 
1454  /* Stay within bounds of both yycheck and yytname. */
1455  int yychecklim = YYLAST - yyn + 1;
1456  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1457  int yycount = 1;
1458 
1459  yyarg[0] = yytname[yytype];
1460  yyfmt = yystpcpy (yyformat, yyunexpected);
1461 
1462  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1463  if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1464  {
1465  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1466  {
1467  yycount = 1;
1468  yysize = yysize0;
1469  yyformat[sizeof yyunexpected - 1] = '\0';
1470  break;
1471  }
1472  yyarg[yycount++] = yytname[yyx];
1473  yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1474  yysize_overflow |= (yysize1 < yysize);
1475  yysize = yysize1;
1476  yyfmt = yystpcpy (yyfmt, yyprefix);
1477  yyprefix = yyor;
1478  }
1479 
1480  yyf = YY_(yyformat);
1481  yysize1 = yysize + yystrlen (yyf);
1482  yysize_overflow |= (yysize1 < yysize);
1483  yysize = yysize1;
1484 
1485  if (yysize_overflow)
1486  return YYSIZE_MAXIMUM;
1487 
1488  if (yyresult)
1489  {
1490  /* Avoid sprintf, as that infringes on the user's name space.
1491  Don't have undefined behavior even if the translation
1492  produced a string with the wrong number of "%s"s. */
1493  char *yyp = yyresult;
1494  int yyi = 0;
1495  while ((*yyp = *yyf) != '\0')
1496  {
1497  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1498  {
1499  yyp += yytnamerr (yyp, yyarg[yyi++]);
1500  yyf += 2;
1501  }
1502  else
1503  {
1504  yyp++;
1505  yyf++;
1506  }
1507  }
1508  }
1509  return yysize;
1510  }
1511 }
1512 #endif /* YYERROR_VERBOSE */
1513 ␌
1514 
1515 /*-----------------------------------------------.
1516 | Release the memory associated to this symbol. |
1517 `-----------------------------------------------*/
1518 
1519 /*ARGSUSED*/
1520 #if (defined __STDC__ || defined __C99__FUNC__ \
1521  || defined __cplusplus || defined _MSC_VER)
1522 static void
1523 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1524 #else
1525 static void
1526 yydestruct (yymsg, yytype, yyvaluep)
1527  const char *yymsg;
1528  int yytype;
1529  YYSTYPE *yyvaluep;
1530 #endif
1531 {
1532  YYUSE (yyvaluep);
1533 
1534  if (!yymsg)
1535  yymsg = "Deleting";
1536  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1537 
1538  switch (yytype)
1539  {
1540 
1541  default:
1542  break;
1543  }
1544 }
1545 
1546 /* Prevent warnings from -Wmissing-prototypes. */
1547 #ifdef YYPARSE_PARAM
1548 #if defined __STDC__ || defined __cplusplus
1549 int yyparse (void *YYPARSE_PARAM);
1550 #else
1551 int yyparse ();
1552 #endif
1553 #else /* ! YYPARSE_PARAM */
1554 #if defined __STDC__ || defined __cplusplus
1555 int yyparse (void);
1556 #else
1557 int yyparse ();
1558 #endif
1559 #endif /* ! YYPARSE_PARAM */
1560 
1561 
1562 /* The lookahead symbol. */
1563 int yychar;
1564 
1565 /* The semantic value of the lookahead symbol. */
1566 YYSTYPE yylval;
1567 
1568 /* Number of syntax errors so far. */
1569 int yynerrs;
1570 
1571 
1572 
1573 /*-------------------------.
1574 | yyparse or yypush_parse. |
1575 `-------------------------*/
1576 
1577 #ifdef YYPARSE_PARAM
1578 #if (defined __STDC__ || defined __C99__FUNC__ \
1579  || defined __cplusplus || defined _MSC_VER)
1580 int
1581 yyparse (void *YYPARSE_PARAM)
1582 #else
1583 int
1584 yyparse (YYPARSE_PARAM)
1585  void *YYPARSE_PARAM;
1586 #endif
1587 #else /* ! YYPARSE_PARAM */
1588 #if (defined __STDC__ || defined __C99__FUNC__ \
1589  || defined __cplusplus || defined _MSC_VER)
1590 int
1591 yyparse (void)
1592 #else
1593 int
1594 yyparse ()
1595 
1596 #endif
1597 #endif
1598 {
1599 
1600 
1601  int yystate;
1602  /* Number of tokens to shift before error messages enabled. */
1603  int yyerrstatus;
1604 
1605  /* The stacks and their tools:
1606  `yyss': related to states.
1607  `yyvs': related to semantic values.
1608 
1609  Refer to the stacks thru separate pointers, to allow yyoverflow
1610  to reallocate them elsewhere. */
1611 
1612  /* The state stack. */
1613  yytype_int16 yyssa[YYINITDEPTH];
1614  yytype_int16 *yyss;
1615  yytype_int16 *yyssp;
1616 
1617  /* The semantic value stack. */
1618  YYSTYPE yyvsa[YYINITDEPTH];
1619  YYSTYPE *yyvs;
1620  YYSTYPE *yyvsp;
1621 
1622  YYSIZE_T yystacksize;
1623 
1624  int yyn;
1625  int yyresult;
1626  /* Lookahead token as an internal (translated) token number. */
1627  int yytoken;
1628  /* The variables used to return semantic value and location from the
1629  action routines. */
1630  YYSTYPE yyval;
1631 
1632 #if YYERROR_VERBOSE
1633  /* Buffer for error messages, and its allocated size. */
1634  char yymsgbuf[128];
1635  char *yymsg = yymsgbuf;
1636  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1637 #endif
1638 
1639 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1640 
1641  /* The number of symbols on the RHS of the reduced rule.
1642  Keep to zero when no symbol should be popped. */
1643  int yylen = 0;
1644 
1645  yytoken = 0;
1646  yyss = yyssa;
1647  yyvs = yyvsa;
1648  yystacksize = YYINITDEPTH;
1649 
1650  YYDPRINTF ((stderr, "Starting parse\n"));
1651 
1652  yystate = 0;
1653  yyerrstatus = 0;
1654  yynerrs = 0;
1655  yychar = YYEMPTY; /* Cause a token to be read. */
1656 
1657  /* Initialize stack pointers.
1658  Waste one element of value and location stack
1659  so that they stay on the same level as the state stack.
1660  The wasted elements are never initialized. */
1661  yyssp = yyss;
1662  yyvsp = yyvs;
1663 
1664  goto yysetstate;
1665 
1666 /*------------------------------------------------------------.
1667 | yynewstate -- Push a new state, which is found in yystate. |
1668 `------------------------------------------------------------*/
1669  yynewstate:
1670  /* In all cases, when you get here, the value and location stacks
1671  have just been pushed. So pushing a state here evens the stacks. */
1672  yyssp++;
1673 
1674  yysetstate:
1675  *yyssp = yystate;
1676 
1677  if (yyss + yystacksize - 1 <= yyssp)
1678  {
1679  /* Get the current used size of the three stacks, in elements. */
1680  YYSIZE_T yysize = yyssp - yyss + 1;
1681 
1682 #ifdef yyoverflow
1683  {
1684  /* Give user a chance to reallocate the stack. Use copies of
1685  these so that the &'s don't force the real ones into
1686  memory. */
1687  YYSTYPE *yyvs1 = yyvs;
1688  yytype_int16 *yyss1 = yyss;
1689 
1690  /* Each stack pointer address is followed by the size of the
1691  data in use in that stack, in bytes. This used to be a
1692  conditional around just the two extra args, but that might
1693  be undefined if yyoverflow is a macro. */
1694  yyoverflow (YY_("memory exhausted"),
1695  &yyss1, yysize * sizeof (*yyssp),
1696  &yyvs1, yysize * sizeof (*yyvsp),
1697  &yystacksize);
1698 
1699  yyss = yyss1;
1700  yyvs = yyvs1;
1701  }
1702 #else /* no yyoverflow */
1703 # ifndef YYSTACK_RELOCATE
1704  goto yyexhaustedlab;
1705 # else
1706  /* Extend the stack our own way. */
1707  if (YYMAXDEPTH <= yystacksize)
1708  goto yyexhaustedlab;
1709  yystacksize *= 2;
1710  if (YYMAXDEPTH < yystacksize)
1711  yystacksize = YYMAXDEPTH;
1712 
1713  {
1714  yytype_int16 *yyss1 = yyss;
1715  union yyalloc *yyptr =
1716  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1717  if (! yyptr)
1718  goto yyexhaustedlab;
1719  YYSTACK_RELOCATE (yyss_alloc, yyss);
1720  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1721 # undef YYSTACK_RELOCATE
1722  if (yyss1 != yyssa)
1723  YYSTACK_FREE (yyss1);
1724  }
1725 # endif
1726 #endif /* no yyoverflow */
1727 
1728  yyssp = yyss + yysize - 1;
1729  yyvsp = yyvs + yysize - 1;
1730 
1731  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1732  (unsigned long int) yystacksize));
1733 
1734  if (yyss + yystacksize - 1 <= yyssp)
1735  YYABORT;
1736  }
1737 
1738  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1739 
1740  if (yystate == YYFINAL)
1741  YYACCEPT;
1742 
1743  goto yybackup;
1744 
1745 /*-----------.
1746 | yybackup. |
1747 `-----------*/
1748 yybackup:
1749 
1750  /* Do appropriate processing given the current state. Read a
1751  lookahead token if we need one and don't already have one. */
1752 
1753  /* First try to decide what to do without reference to lookahead token. */
1754  yyn = yypact[yystate];
1755  if (yyn == YYPACT_NINF)
1756  goto yydefault;
1757 
1758  /* Not known => get a lookahead token if don't already have one. */
1759 
1760  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1761  if (yychar == YYEMPTY)
1762  {
1763  YYDPRINTF ((stderr, "Reading a token: "));
1764  yychar = YYLEX;
1765  }
1766 
1767  if (yychar <= YYEOF)
1768  {
1769  yychar = yytoken = YYEOF;
1770  YYDPRINTF ((stderr, "Now at end of input.\n"));
1771  }
1772  else
1773  {
1774  yytoken = YYTRANSLATE (yychar);
1775  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1776  }
1777 
1778  /* If the proper action on seeing token YYTOKEN is to reduce or to
1779  detect an error, take that action. */
1780  yyn += yytoken;
1781  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1782  goto yydefault;
1783  yyn = yytable[yyn];
1784  if (yyn <= 0)
1785  {
1786  if (yyn == 0 || yyn == YYTABLE_NINF)
1787  goto yyerrlab;
1788  yyn = -yyn;
1789  goto yyreduce;
1790  }
1791 
1792  /* Count tokens shifted since error; after three, turn off error
1793  status. */
1794  if (yyerrstatus)
1795  yyerrstatus--;
1796 
1797  /* Shift the lookahead token. */
1798  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1799 
1800  /* Discard the shifted token. */
1801  yychar = YYEMPTY;
1802 
1803  yystate = yyn;
1804  *++yyvsp = yylval;
1805 
1806  goto yynewstate;
1807 
1808 
1809 /*-----------------------------------------------------------.
1810 | yydefault -- do the default action for the current state. |
1811 `-----------------------------------------------------------*/
1812 yydefault:
1813  yyn = yydefact[yystate];
1814  if (yyn == 0)
1815  goto yyerrlab;
1816  goto yyreduce;
1817 
1818 
1819 /*-----------------------------.
1820 | yyreduce -- Do a reduction. |
1821 `-----------------------------*/
1822 yyreduce:
1823  /* yyn is the number of a rule to reduce with. */
1824  yylen = yyr2[yyn];
1825 
1826  /* If YYLEN is nonzero, implement the default value of the action:
1827  `$$ = $1'.
1828 
1829  Otherwise, the following line sets YYVAL to garbage.
1830  This behavior is undocumented and Bison
1831  users should not rely upon it. Assigning to YYVAL
1832  unconditionally makes the parser a bit smaller, and it avoids a
1833  GCC warning that YYVAL may be used uninitialized. */
1834  yyval = yyvsp[1-yylen];
1835 
1836 
1837  YY_REDUCE_PRINT (yyn);
1838  switch (yyn)
1839  {
1840  case 2:
1841 
1842 /* Line 1455 of yacc.c */
1843 #line 165 "yacc.yy"
1844  {
1845  ;}
1846  break;
1847 
1848  case 4:
1849 
1850 /* Line 1455 of yacc.c */
1851 #line 172 "yacc.yy"
1852  {
1853  printf("<INCLUDE>%s</INCLUDE>\n", (yyvsp[(2) - (2)]._str)->latin1() );
1854  ;}
1855  break;
1856 
1857  case 5:
1858 
1859 /* Line 1455 of yacc.c */
1860 #line 176 "yacc.yy"
1861  {
1862  ;}
1863  break;
1864 
1865  case 6:
1866 
1867 /* Line 1455 of yacc.c */
1868 #line 179 "yacc.yy"
1869  {
1870  ;}
1871  break;
1872 
1873  case 7:
1874 
1875 /* Line 1455 of yacc.c */
1876 #line 184 "yacc.yy"
1877  { (yyval._int) = 1; ;}
1878  break;
1879 
1880  case 8:
1881 
1882 /* Line 1455 of yacc.c */
1883 #line 185 "yacc.yy"
1884  { (yyval._int) = 0; ;}
1885  break;
1886 
1887  case 9:
1888 
1889 /* Line 1455 of yacc.c */
1890 #line 190 "yacc.yy"
1891  {
1892  if ((yyvsp[(4) - (6)]._int))
1893  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() );
1894  // default C++ visibility specifier is 'private'
1895  dcop_area = 0;
1896  dcop_signal_area = 0;
1897 
1898  ;}
1899  break;
1900 
1901  case 10:
1902 
1903 /* Line 1455 of yacc.c */
1904 #line 199 "yacc.yy"
1905  {
1906  if ((yyvsp[(5) - (7)]._int))
1907  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() );
1908  // default C++ visibility specifier is 'private'
1909  dcop_area = 0;
1910  dcop_signal_area = 0;
1911 
1912  ;}
1913  break;
1914 
1915  case 11:
1916 
1917 /* Line 1455 of yacc.c */
1918 #line 208 "yacc.yy"
1919  {
1920  ;}
1921  break;
1922 
1923  case 12:
1924 
1925 /* Line 1455 of yacc.c */
1926 #line 211 "yacc.yy"
1927  {
1928  ;}
1929  break;
1930 
1931  case 13:
1932 
1933 /* Line 1455 of yacc.c */
1934 #line 214 "yacc.yy"
1935  {
1936  ;}
1937  break;
1938 
1939  case 14:
1940 
1941 /* Line 1455 of yacc.c */
1942 #line 217 "yacc.yy"
1943  {
1944  in_namespace += *(yyvsp[(2) - (3)]._str); in_namespace += "::";
1945  ;}
1946  break;
1947 
1948  case 15:
1949 
1950 /* Line 1455 of yacc.c */
1951 #line 221 "yacc.yy"
1952  {
1953  int pos = in_namespace.findRev( "::", -3 );
1954  if( pos >= 0 )
1955  in_namespace = in_namespace.left( pos + 2 );
1956  else
1957  in_namespace = "";
1958  ;}
1959  break;
1960 
1961  case 16:
1962 
1963 /* Line 1455 of yacc.c */
1964 #line 229 "yacc.yy"
1965  {
1966  ;}
1967  break;
1968 
1969  case 17:
1970 
1971 /* Line 1455 of yacc.c */
1972 #line 232 "yacc.yy"
1973  {
1974  ;}
1975  break;
1976 
1977  case 18:
1978 
1979 /* Line 1455 of yacc.c */
1980 #line 235 "yacc.yy"
1981  {
1982  ;}
1983  break;
1984 
1985  case 19:
1986 
1987 /* Line 1455 of yacc.c */
1988 #line 238 "yacc.yy"
1989  {
1990  ;}
1991  break;
1992 
1993  case 20:
1994 
1995 /* Line 1455 of yacc.c */
1996 #line 241 "yacc.yy"
1997  {
1998  ;}
1999  break;
2000 
2001  case 21:
2002 
2003 /* Line 1455 of yacc.c */
2004 #line 244 "yacc.yy"
2005  {
2006  ;}
2007  break;
2008 
2009  case 22:
2010 
2011 /* Line 1455 of yacc.c */
2012 #line 247 "yacc.yy"
2013  {
2014  ;}
2015  break;
2016 
2017  case 23:
2018 
2019 /* Line 1455 of yacc.c */
2020 #line 250 "yacc.yy"
2021  {
2022  ;}
2023  break;
2024 
2025  case 24:
2026 
2027 /* Line 1455 of yacc.c */
2028 #line 253 "yacc.yy"
2029  {
2030  ;}
2031  break;
2032 
2033  case 25:
2034 
2035 /* Line 1455 of yacc.c */
2036 #line 256 "yacc.yy"
2037  {
2038  ;}
2039  break;
2040 
2041  case 36:
2042 
2043 /* Line 1455 of yacc.c */
2044 #line 273 "yacc.yy"
2045  {
2046  dcop_area = 0;
2047  dcop_signal_area = 0;
2048  ;}
2049  break;
2050 
2051  case 37:
2052 
2053 /* Line 1455 of yacc.c */
2054 #line 278 "yacc.yy"
2055  {
2056  dcop_area = 0;
2057  dcop_signal_area = 0;
2058  ;}
2059  break;
2060 
2061  case 38:
2062 
2063 /* Line 1455 of yacc.c */
2064 #line 286 "yacc.yy"
2065  {
2066  dcop_area = 1;
2067  dcop_signal_area = 0;
2068  ;}
2069  break;
2070 
2071  case 39:
2072 
2073 /* Line 1455 of yacc.c */
2074 #line 294 "yacc.yy"
2075  {
2076  /*
2077  A dcop signals area needs all dcop area capabilities,
2078  e.g. parsing of function parameters.
2079  */
2080  dcop_area = 1;
2081  dcop_signal_area = 1;
2082  ;}
2083  break;
2084 
2085  case 40:
2086 
2087 /* Line 1455 of yacc.c */
2088 #line 305 "yacc.yy"
2089  {
2090  (yyval._str) = (yyvsp[(1) - (1)]._str);
2091  ;}
2092  break;
2093 
2094  case 41:
2095 
2096 /* Line 1455 of yacc.c */
2097 #line 308 "yacc.yy"
2098  {
2099  TQString* tmp = new TQString( "%1::%2" );
2100  *tmp = tmp->arg(*((yyvsp[(1) - (3)]._str))).arg(*((yyvsp[(3) - (3)]._str)));
2101  (yyval._str) = tmp;
2102  ;}
2103  break;
2104 
2105  case 42:
2106 
2107 /* Line 1455 of yacc.c */
2108 #line 317 "yacc.yy"
2109  {
2110  TQString* tmp = new TQString( " <SUPER>%1</SUPER>\n" );
2111  *tmp = tmp->arg( *((yyvsp[(1) - (1)]._str)) );
2112  (yyval._str) = tmp;
2113  ;}
2114  break;
2115 
2116  case 43:
2117 
2118 /* Line 1455 of yacc.c */
2119 #line 323 "yacc.yy"
2120  {
2121  TQString* tmp = new TQString( " <SUPER>%1</SUPER>\n" );
2122  *tmp = tmp->arg( *((yyvsp[(1) - (4)]._str)) + "&lt;" + *((yyvsp[(3) - (4)]._str)) + "&gt;" );
2123  (yyval._str) = tmp;
2124  ;}
2125  break;
2126 
2127  case 44:
2128 
2129 /* Line 1455 of yacc.c */
2130 #line 332 "yacc.yy"
2131  {
2132  (yyval._str) = (yyvsp[(3) - (3)]._str);
2133  ;}
2134  break;
2135 
2136  case 45:
2137 
2138 /* Line 1455 of yacc.c */
2139 #line 336 "yacc.yy"
2140  {
2141  (yyval._str) = (yyvsp[(1) - (1)]._str);
2142  ;}
2143  break;
2144 
2145  case 46:
2146 
2147 /* Line 1455 of yacc.c */
2148 #line 343 "yacc.yy"
2149  {
2150  (yyval._str) = (yyvsp[(1) - (2)]._str);
2151  ;}
2152  break;
2153 
2154  case 47:
2155 
2156 /* Line 1455 of yacc.c */
2157 #line 347 "yacc.yy"
2158  {
2159  /* $$ = $1; */
2160  (yyval._str) = new TQString( *((yyvsp[(1) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2161  ;}
2162  break;
2163 
2164  case 48:
2165 
2166 /* Line 1455 of yacc.c */
2167 #line 355 "yacc.yy"
2168  {
2169  (yyval._str) = (yyvsp[(2) - (2)]._str);
2170  ;}
2171  break;
2172 
2173  case 49:
2174 
2175 /* Line 1455 of yacc.c */
2176 #line 359 "yacc.yy"
2177  {
2178  (yyval._str) = new TQString( "" );
2179  ;}
2180  break;
2181 
2182  case 50:
2183 
2184 /* Line 1455 of yacc.c */
2185 #line 366 "yacc.yy"
2186  {
2187  ;}
2188  break;
2189 
2190  case 52:
2191 
2192 /* Line 1455 of yacc.c */
2193 #line 373 "yacc.yy"
2194  {
2195  (yyval._str) = new TQString( "" );
2196  ;}
2197  break;
2198 
2199  case 53:
2200 
2201 /* Line 1455 of yacc.c */
2202 #line 377 "yacc.yy"
2203  {
2204  (yyval._str) = new TQString( *((yyvsp[(1) - (2)]._str)) + *((yyvsp[(2) - (2)]._str)) );
2205  ;}
2206  break;
2207 
2208  case 54:
2209 
2210 /* Line 1455 of yacc.c */
2211 #line 381 "yacc.yy"
2212  {
2213  (yyval._str) = new TQString( *((yyvsp[(2) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2214  ;}
2215  break;
2216 
2217  case 55:
2218 
2219 /* Line 1455 of yacc.c */
2220 #line 385 "yacc.yy"
2221  {
2222  (yyval._str) = new TQString( *((yyvsp[(1) - (2)]._str)) + *((yyvsp[(2) - (2)]._str)) );
2223  ;}
2224  break;
2225 
2226  case 56:
2227 
2228 /* Line 1455 of yacc.c */
2229 #line 389 "yacc.yy"
2230  {
2231  (yyval._str) = (yyvsp[(2) - (2)]._str);
2232  ;}
2233  break;
2234 
2235  case 57:
2236 
2237 /* Line 1455 of yacc.c */
2238 #line 393 "yacc.yy"
2239  {
2240  (yyval._str) = (yyvsp[(2) - (2)]._str);
2241  ;}
2242  break;
2243 
2244  case 58:
2245 
2246 /* Line 1455 of yacc.c */
2247 #line 397 "yacc.yy"
2248  {
2249  (yyval._str) = (yyvsp[(2) - (2)]._str);
2250  ;}
2251  break;
2252 
2253  case 59:
2254 
2255 /* Line 1455 of yacc.c */
2256 #line 401 "yacc.yy"
2257  {
2258  (yyval._str) = (yyvsp[(2) - (2)]._str);
2259  ;}
2260  break;
2261 
2262  case 60:
2263 
2264 /* Line 1455 of yacc.c */
2265 #line 405 "yacc.yy"
2266  {
2267  (yyval._str) = (yyvsp[(2) - (2)]._str);
2268  ;}
2269  break;
2270 
2271  case 61:
2272 
2273 /* Line 1455 of yacc.c */
2274 #line 409 "yacc.yy"
2275  {
2276  (yyval._str) = (yyvsp[(5) - (5)]._str);
2277  ;}
2278  break;
2279 
2280  case 62:
2281 
2282 /* Line 1455 of yacc.c */
2283 #line 413 "yacc.yy"
2284  {
2285  (yyval._str) = (yyvsp[(4) - (4)]._str);
2286  ;}
2287  break;
2288 
2289  case 63:
2290 
2291 /* Line 1455 of yacc.c */
2292 #line 417 "yacc.yy"
2293  {
2294  (yyval._str) = (yyvsp[(4) - (4)]._str);
2295  ;}
2296  break;
2297 
2298  case 64:
2299 
2300 /* Line 1455 of yacc.c */
2301 #line 421 "yacc.yy"
2302  {
2303  (yyval._str) = (yyvsp[(4) - (4)]._str);
2304  ;}
2305  break;
2306 
2307  case 65:
2308 
2309 /* Line 1455 of yacc.c */
2310 #line 425 "yacc.yy"
2311  {
2312  (yyval._str) = (yyvsp[(6) - (6)]._str);
2313  ;}
2314  break;
2315 
2316  case 66:
2317 
2318 /* Line 1455 of yacc.c */
2319 #line 429 "yacc.yy"
2320  {
2321  (yyval._str) = (yyvsp[(4) - (4)]._str);
2322  ;}
2323  break;
2324 
2325  case 67:
2326 
2327 /* Line 1455 of yacc.c */
2328 #line 433 "yacc.yy"
2329  {
2330  (yyval._str) = (yyvsp[(6) - (6)]._str);
2331  ;}
2332  break;
2333 
2334  case 68:
2335 
2336 /* Line 1455 of yacc.c */
2337 #line 437 "yacc.yy"
2338  {
2339  (yyval._str) = (yyvsp[(6) - (6)]._str);
2340  ;}
2341  break;
2342 
2343  case 75:
2344 
2345 /* Line 1455 of yacc.c */
2346 #line 455 "yacc.yy"
2347  {;}
2348  break;
2349 
2350  case 76:
2351 
2352 /* Line 1455 of yacc.c */
2353 #line 456 "yacc.yy"
2354  {;}
2355  break;
2356 
2357  case 77:
2358 
2359 /* Line 1455 of yacc.c */
2360 #line 460 "yacc.yy"
2361  {;}
2362  break;
2363 
2364  case 78:
2365 
2366 /* Line 1455 of yacc.c */
2367 #line 461 "yacc.yy"
2368  {;}
2369  break;
2370 
2371  case 79:
2372 
2373 /* Line 1455 of yacc.c */
2374 #line 462 "yacc.yy"
2375  {;}
2376  break;
2377 
2378  case 80:
2379 
2380 /* Line 1455 of yacc.c */
2381 #line 463 "yacc.yy"
2382  {;}
2383  break;
2384 
2385  case 81:
2386 
2387 /* Line 1455 of yacc.c */
2388 #line 464 "yacc.yy"
2389  {;}
2390  break;
2391 
2392  case 82:
2393 
2394 /* Line 1455 of yacc.c */
2395 #line 468 "yacc.yy"
2396  {;}
2397  break;
2398 
2399  case 83:
2400 
2401 /* Line 1455 of yacc.c */
2402 #line 469 "yacc.yy"
2403  {;}
2404  break;
2405 
2406  case 84:
2407 
2408 /* Line 1455 of yacc.c */
2409 #line 470 "yacc.yy"
2410  {;}
2411  break;
2412 
2413  case 85:
2414 
2415 /* Line 1455 of yacc.c */
2416 #line 475 "yacc.yy"
2417  {
2418  if (dcop_area) {
2419  TQString* tmp = new TQString("<TYPEDEF name=\"%1\" template=\"%2\"><PARAM %3</TYPEDEF>\n");
2420  *tmp = tmp->arg( *((yyvsp[(6) - (7)]._str)) ).arg( *((yyvsp[(2) - (7)]._str)) ).arg( *((yyvsp[(4) - (7)]._str)) );
2421  (yyval._str) = tmp;
2422  } else {
2423  (yyval._str) = new TQString("");
2424  }
2425  ;}
2426  break;
2427 
2428  case 86:
2429 
2430 /* Line 1455 of yacc.c */
2431 #line 485 "yacc.yy"
2432  {
2433  if (dcop_area)
2434  yyerror("scoped template typedefs are not supported in dcop areas!");
2435  ;}
2436  break;
2437 
2438  case 87:
2439 
2440 /* Line 1455 of yacc.c */
2441 #line 493 "yacc.yy"
2442  {
2443  (yyval._int) = 0;
2444  ;}
2445  break;
2446 
2447  case 88:
2448 
2449 /* Line 1455 of yacc.c */
2450 #line 497 "yacc.yy"
2451  {
2452  (yyval._int) = 1;
2453  ;}
2454  break;
2455 
2456  case 89:
2457 
2458 /* Line 1455 of yacc.c */
2459 #line 503 "yacc.yy"
2460  { (yyval._str) = new TQString("signed int"); ;}
2461  break;
2462 
2463  case 90:
2464 
2465 /* Line 1455 of yacc.c */
2466 #line 504 "yacc.yy"
2467  { (yyval._str) = new TQString("signed int"); ;}
2468  break;
2469 
2470  case 91:
2471 
2472 /* Line 1455 of yacc.c */
2473 #line 505 "yacc.yy"
2474  { (yyval._str) = new TQString("unsigned int"); ;}
2475  break;
2476 
2477  case 92:
2478 
2479 /* Line 1455 of yacc.c */
2480 #line 506 "yacc.yy"
2481  { (yyval._str) = new TQString("unsigned int"); ;}
2482  break;
2483 
2484  case 93:
2485 
2486 /* Line 1455 of yacc.c */
2487 #line 507 "yacc.yy"
2488  { (yyval._str) = new TQString("signed short int"); ;}
2489  break;
2490 
2491  case 94:
2492 
2493 /* Line 1455 of yacc.c */
2494 #line 508 "yacc.yy"
2495  { (yyval._str) = new TQString("signed short int"); ;}
2496  break;
2497 
2498  case 95:
2499 
2500 /* Line 1455 of yacc.c */
2501 #line 509 "yacc.yy"
2502  { (yyval._str) = new TQString("signed long int"); ;}
2503  break;
2504 
2505  case 96:
2506 
2507 /* Line 1455 of yacc.c */
2508 #line 510 "yacc.yy"
2509  { (yyval._str) = new TQString("signed long int"); ;}
2510  break;
2511 
2512  case 97:
2513 
2514 /* Line 1455 of yacc.c */
2515 #line 511 "yacc.yy"
2516  { (yyval._str) = new TQString("unsigned short int"); ;}
2517  break;
2518 
2519  case 98:
2520 
2521 /* Line 1455 of yacc.c */
2522 #line 512 "yacc.yy"
2523  { (yyval._str) = new TQString("unsigned short int"); ;}
2524  break;
2525 
2526  case 99:
2527 
2528 /* Line 1455 of yacc.c */
2529 #line 513 "yacc.yy"
2530  { (yyval._str) = new TQString("unsigned long int"); ;}
2531  break;
2532 
2533  case 100:
2534 
2535 /* Line 1455 of yacc.c */
2536 #line 514 "yacc.yy"
2537  { (yyval._str) = new TQString("unsigned long int"); ;}
2538  break;
2539 
2540  case 101:
2541 
2542 /* Line 1455 of yacc.c */
2543 #line 515 "yacc.yy"
2544  { (yyval._str) = new TQString("int"); ;}
2545  break;
2546 
2547  case 102:
2548 
2549 /* Line 1455 of yacc.c */
2550 #line 516 "yacc.yy"
2551  { (yyval._str) = new TQString("long int"); ;}
2552  break;
2553 
2554  case 103:
2555 
2556 /* Line 1455 of yacc.c */
2557 #line 517 "yacc.yy"
2558  { (yyval._str) = new TQString("long int"); ;}
2559  break;
2560 
2561  case 104:
2562 
2563 /* Line 1455 of yacc.c */
2564 #line 518 "yacc.yy"
2565  { (yyval._str) = new TQString("short int"); ;}
2566  break;
2567 
2568  case 105:
2569 
2570 /* Line 1455 of yacc.c */
2571 #line 519 "yacc.yy"
2572  { (yyval._str) = new TQString("short int"); ;}
2573  break;
2574 
2575  case 106:
2576 
2577 /* Line 1455 of yacc.c */
2578 #line 520 "yacc.yy"
2579  { (yyval._str) = new TQString("char"); ;}
2580  break;
2581 
2582  case 107:
2583 
2584 /* Line 1455 of yacc.c */
2585 #line 521 "yacc.yy"
2586  { (yyval._str) = new TQString("signed char"); ;}
2587  break;
2588 
2589  case 108:
2590 
2591 /* Line 1455 of yacc.c */
2592 #line 522 "yacc.yy"
2593  { (yyval._str) = new TQString("unsigned char"); ;}
2594  break;
2595 
2596  case 111:
2597 
2598 /* Line 1455 of yacc.c */
2599 #line 532 "yacc.yy"
2600  {
2601  (yyval._str) = new TQString( "" );
2602  ;}
2603  break;
2604 
2605  case 113:
2606 
2607 /* Line 1455 of yacc.c */
2608 #line 537 "yacc.yy"
2609  {
2610  (yyval._str) = new TQString( *((yyvsp[(1) - (3)]._str)) + *((yyvsp[(3) - (3)]._str)) );
2611  ;}
2612  break;
2613 
2614  case 115:
2615 
2616 /* Line 1455 of yacc.c */
2617 #line 545 "yacc.yy"
2618  { (yyval._str) = (yyvsp[(1) - (1)]._str); ;}
2619  break;
2620 
2621  case 116:
2622 
2623 /* Line 1455 of yacc.c */
2624 #line 546 "yacc.yy"
2625  { (yyval._str) = (yyvsp[(2) - (2)]._str); ;}
2626  break;
2627 
2628  case 117:
2629 
2630 /* Line 1455 of yacc.c */
2631 #line 547 "yacc.yy"
2632  { (yyval._str) = (yyvsp[(2) - (2)]._str); ;}
2633  break;
2634 
2635  case 118:
2636 
2637 /* Line 1455 of yacc.c */
2638 #line 548 "yacc.yy"
2639  {
2640  TQString *tmp = new TQString("%1&lt;%2&gt;");
2641  *tmp = tmp->arg(*((yyvsp[(1) - (4)]._str)));
2642  *tmp = tmp->arg(*((yyvsp[(3) - (4)]._str)));
2643  (yyval._str) = tmp;
2644  ;}
2645  break;
2646 
2647  case 119:
2648 
2649 /* Line 1455 of yacc.c */
2650 #line 554 "yacc.yy"
2651  {
2652  TQString *tmp = new TQString("%1&lt;%2&gt;::%3");
2653  *tmp = tmp->arg(*((yyvsp[(1) - (6)]._str)));
2654  *tmp = tmp->arg(*((yyvsp[(3) - (6)]._str)));
2655  *tmp = tmp->arg(*((yyvsp[(6) - (6)]._str)));
2656  (yyval._str) = tmp;
2657  ;}
2658  break;
2659 
2660  case 120:
2661 
2662 /* Line 1455 of yacc.c */
2663 #line 566 "yacc.yy"
2664  {
2665  (yyval._str) = new TQString(*((yyvsp[(1) - (3)]._str)) + "," + *((yyvsp[(3) - (3)]._str)));
2666  ;}
2667  break;
2668 
2669  case 121:
2670 
2671 /* Line 1455 of yacc.c */
2672 #line 570 "yacc.yy"
2673  {
2674  (yyval._str) = (yyvsp[(1) - (1)]._str);
2675  ;}
2676  break;
2677 
2678  case 122:
2679 
2680 /* Line 1455 of yacc.c */
2681 #line 578 "yacc.yy"
2682  {
2683  if (dcop_area)
2684  yyerror("in dcop areas are no pointers allowed");
2685  ;}
2686  break;
2687 
2688  case 123:
2689 
2690 /* Line 1455 of yacc.c */
2691 #line 583 "yacc.yy"
2692  {
2693  (yyval._str) = (yyvsp[(1) - (1)]._str);
2694  ;}
2695  break;
2696 
2697  case 124:
2698 
2699 /* Line 1455 of yacc.c */
2700 #line 592 "yacc.yy"
2701  {
2702  if (dcop_area)
2703  yyerror("in dcop areas are no pointers allowed");
2704  ;}
2705  break;
2706 
2707  case 125:
2708 
2709 /* Line 1455 of yacc.c */
2710 #line 596 "yacc.yy"
2711  {
2712  if (dcop_area) {
2713  TQString* tmp = new TQString("<TYPE qleft=\"const\" qright=\"" AMP_ENTITY "\">%1</TYPE>");
2714  *tmp = tmp->arg( *((yyvsp[(2) - (3)]._str)) );
2715  (yyval._str) = tmp;
2716  }
2717  ;}
2718  break;
2719 
2720  case 126:
2721 
2722 /* Line 1455 of yacc.c */
2723 #line 603 "yacc.yy"
2724  {
2725  TQString* tmp = new TQString("<TYPE>%1</TYPE>");
2726  *tmp = tmp->arg( *((yyvsp[(2) - (2)]._str)) );
2727  (yyval._str) = tmp;
2728  ;}
2729  break;
2730 
2731  case 127:
2732 
2733 /* Line 1455 of yacc.c */
2734 #line 608 "yacc.yy"
2735  {
2736  TQString* tmp = new TQString("<TYPE>%1</TYPE>");
2737  *tmp = tmp->arg( *((yyvsp[(1) - (2)]._str)) );
2738  (yyval._str) = tmp;
2739  ;}
2740  break;
2741 
2742  case 128:
2743 
2744 /* Line 1455 of yacc.c */
2745 #line 613 "yacc.yy"
2746  {
2747  if (dcop_area) {
2748  TQString* tmp = new TQString("<TYPE qleft=\"const\" qright=\"" AMP_ENTITY "\">%1</TYPE>");
2749  *tmp = tmp->arg( *((yyvsp[(1) - (3)]._str)) );
2750  (yyval._str) = tmp;
2751  }
2752  ;}
2753  break;
2754 
2755  case 129:
2756 
2757 /* Line 1455 of yacc.c */
2758 #line 620 "yacc.yy"
2759  {
2760  if (dcop_area)
2761  yyerror("in dcop areas are only const references allowed!");
2762  ;}
2763  break;
2764 
2765  case 130:
2766 
2767 /* Line 1455 of yacc.c */
2768 #line 625 "yacc.yy"
2769  {
2770  TQString* tmp = new TQString("<TYPE>%1</TYPE>");
2771  *tmp = tmp->arg( *((yyvsp[(1) - (1)]._str)) );
2772  (yyval._str) = tmp;
2773  ;}
2774  break;
2775 
2776  case 131:
2777 
2778 /* Line 1455 of yacc.c */
2779 #line 631 "yacc.yy"
2780  {
2781  if (dcop_area)
2782  yyerror("in dcop areas are no pointers allowed");
2783  ;}
2784  break;
2785 
2786  case 132:
2787 
2788 /* Line 1455 of yacc.c */
2789 #line 639 "yacc.yy"
2790  {
2791  (yyval._str) = new TQString(*((yyvsp[(1) - (3)]._str)) + "," + *((yyvsp[(3) - (3)]._str)));
2792  ;}
2793  break;
2794 
2795  case 133:
2796 
2797 /* Line 1455 of yacc.c */
2798 #line 643 "yacc.yy"
2799  {
2800  (yyval._str) = (yyvsp[(1) - (1)]._str);
2801  ;}
2802  break;
2803 
2804  case 134:
2805 
2806 /* Line 1455 of yacc.c */
2807 #line 650 "yacc.yy"
2808  {
2809  if (dcop_area) {
2810  TQString* tmp = new TQString("\n <ARG>%1<NAME>%2</NAME></ARG>");
2811  *tmp = tmp->arg( *((yyvsp[(1) - (3)]._str)) );
2812  *tmp = tmp->arg( *((yyvsp[(2) - (3)]._str)) );
2813  (yyval._str) = tmp;
2814  } else (yyval._str) = new TQString();
2815  ;}
2816  break;
2817 
2818  case 135:
2819 
2820 /* Line 1455 of yacc.c */
2821 #line 659 "yacc.yy"
2822  {
2823  if (dcop_area) {
2824  TQString* tmp = new TQString("\n <ARG>%1</ARG>");
2825  *tmp = tmp->arg( *((yyvsp[(1) - (2)]._str)) );
2826  (yyval._str) = tmp;
2827  } else (yyval._str) = new TQString();
2828  ;}
2829  break;
2830 
2831  case 136:
2832 
2833 /* Line 1455 of yacc.c */
2834 #line 667 "yacc.yy"
2835  {
2836  if (dcop_area)
2837  yyerror("variable arguments not supported in dcop area.");
2838  (yyval._str) = new TQString("");
2839  ;}
2840  break;
2841 
2842  case 137:
2843 
2844 /* Line 1455 of yacc.c */
2845 #line 676 "yacc.yy"
2846  {
2847  ;}
2848  break;
2849 
2850  case 138:
2851 
2852 /* Line 1455 of yacc.c */
2853 #line 679 "yacc.yy"
2854  {
2855  ;}
2856  break;
2857 
2858  case 139:
2859 
2860 /* Line 1455 of yacc.c */
2861 #line 682 "yacc.yy"
2862  {
2863  ;}
2864  break;
2865 
2866  case 140:
2867 
2868 /* Line 1455 of yacc.c */
2869 #line 689 "yacc.yy"
2870  {
2871  ;}
2872  break;
2873 
2874  case 141:
2875 
2876 /* Line 1455 of yacc.c */
2877 #line 692 "yacc.yy"
2878  {
2879  ;}
2880  break;
2881 
2882  case 142:
2883 
2884 /* Line 1455 of yacc.c */
2885 #line 695 "yacc.yy"
2886  {
2887  ;}
2888  break;
2889 
2890  case 143:
2891 
2892 /* Line 1455 of yacc.c */
2893 #line 698 "yacc.yy"
2894  {
2895  ;}
2896  break;
2897 
2898  case 144:
2899 
2900 /* Line 1455 of yacc.c */
2901 #line 701 "yacc.yy"
2902  {
2903  ;}
2904  break;
2905 
2906  case 145:
2907 
2908 /* Line 1455 of yacc.c */
2909 #line 706 "yacc.yy"
2910  { (yyval._int) = 0; ;}
2911  break;
2912 
2913  case 146:
2914 
2915 /* Line 1455 of yacc.c */
2916 #line 707 "yacc.yy"
2917  { (yyval._int) = 1; ;}
2918  break;
2919 
2920  case 152:
2921 
2922 /* Line 1455 of yacc.c */
2923 #line 716 "yacc.yy"
2924  {
2925  if (dcop_area || dcop_signal_area) {
2926  TQString* tmp = 0;
2927  tmp = new TQString(
2928  " <%4>\n"
2929  " %2\n"
2930  " <NAME>%1</NAME>"
2931  "%3\n"
2932  " </%5>\n");
2933  *tmp = tmp->arg( *((yyvsp[(2) - (6)]._str)) );
2934  *tmp = tmp->arg( *((yyvsp[(1) - (6)]._str)) );
2935  *tmp = tmp->arg( *((yyvsp[(4) - (6)]._str)) );
2936 
2937  TQString tagname = (dcop_signal_area) ? "SIGNAL" : "FUNC";
2938  TQString attr = ((yyvsp[(6) - (6)]._int)) ? " qual=\"const\"" : "";
2939  *tmp = tmp->arg( TQString("%1%2").arg(tagname).arg(attr) );
2940  *tmp = tmp->arg( TQString("%1").arg(tagname) );
2941  (yyval._str) = tmp;
2942  } else
2943  (yyval._str) = new TQString("");
2944  ;}
2945  break;
2946 
2947  case 153:
2948 
2949 /* Line 1455 of yacc.c */
2950 #line 738 "yacc.yy"
2951  {
2952  if (dcop_area)
2953  yyerror("operators aren't allowed in dcop areas!");
2954  (yyval._str) = new TQString("");
2955  ;}
2956  break;
2957 
2958  case 154:
2959 
2960 /* Line 1455 of yacc.c */
2961 #line 748 "yacc.yy"
2962  {;}
2963  break;
2964 
2965  case 155:
2966 
2967 /* Line 1455 of yacc.c */
2968 #line 749 "yacc.yy"
2969  {;}
2970  break;
2971 
2972  case 156:
2973 
2974 /* Line 1455 of yacc.c */
2975 #line 750 "yacc.yy"
2976  {;}
2977  break;
2978 
2979  case 157:
2980 
2981 /* Line 1455 of yacc.c */
2982 #line 755 "yacc.yy"
2983  {;}
2984  break;
2985 
2986  case 158:
2987 
2988 /* Line 1455 of yacc.c */
2989 #line 760 "yacc.yy"
2990  {;}
2991  break;
2992 
2993  case 159:
2994 
2995 /* Line 1455 of yacc.c */
2996 #line 761 "yacc.yy"
2997  {;}
2998  break;
2999 
3000  case 160:
3001 
3002 /* Line 1455 of yacc.c */
3003 #line 766 "yacc.yy"
3004  {
3005  (yyval._str) = (yyvsp[(1) - (2)]._str);
3006  ;}
3007  break;
3008 
3009  case 161:
3010 
3011 /* Line 1455 of yacc.c */
3012 #line 770 "yacc.yy"
3013  {
3014  (yyval._str) = (yyvsp[(2) - (5)]._str);
3015  ;}
3016  break;
3017 
3018  case 162:
3019 
3020 /* Line 1455 of yacc.c */
3021 #line 774 "yacc.yy"
3022  {
3023  (yyval._str) = (yyvsp[(2) - (3)]._str);
3024  ;}
3025  break;
3026 
3027  case 163:
3028 
3029 /* Line 1455 of yacc.c */
3030 #line 778 "yacc.yy"
3031  {
3032  /* The constructor */
3033  assert(!dcop_area);
3034  (yyval._str) = new TQString("");
3035  ;}
3036  break;
3037 
3038  case 164:
3039 
3040 /* Line 1455 of yacc.c */
3041 #line 784 "yacc.yy"
3042  {
3043  /* The constructor */
3044  assert(!dcop_area);
3045  (yyval._str) = new TQString("");
3046  ;}
3047  break;
3048 
3049  case 165:
3050 
3051 /* Line 1455 of yacc.c */
3052 #line 790 "yacc.yy"
3053  {
3054  /* The destructor */
3055  assert(!dcop_area);
3056  (yyval._str) = new TQString("");
3057  ;}
3058  break;
3059 
3060  case 166:
3061 
3062 /* Line 1455 of yacc.c */
3063 #line 796 "yacc.yy"
3064  {
3065  if (dcop_area) {
3066  if (dcop_signal_area)
3067  yyerror("DCOP signals cannot be static");
3068  else
3069  yyerror("DCOP functions cannot be static");
3070  } else {
3071  (yyval._str) = new TQString();
3072  }
3073  ;}
3074  break;
3075 
3076  case 167:
3077 
3078 /* Line 1455 of yacc.c */
3079 #line 809 "yacc.yy"
3080  {
3081  function_mode = 1;
3082  ;}
3083  break;
3084 
3085  case 171:
3086 
3087 /* Line 1455 of yacc.c */
3088 #line 821 "yacc.yy"
3089  {;}
3090  break;
3091 
3092  case 172:
3093 
3094 /* Line 1455 of yacc.c */
3095 #line 822 "yacc.yy"
3096  {;}
3097  break;
3098 
3099  case 176:
3100 
3101 /* Line 1455 of yacc.c */
3102 #line 834 "yacc.yy"
3103  {;}
3104  break;
3105 
3106  case 177:
3107 
3108 /* Line 1455 of yacc.c */
3109 #line 835 "yacc.yy"
3110  {;}
3111  break;
3112 
3113  case 178:
3114 
3115 /* Line 1455 of yacc.c */
3116 #line 836 "yacc.yy"
3117  {;}
3118  break;
3119 
3120  case 179:
3121 
3122 /* Line 1455 of yacc.c */
3123 #line 839 "yacc.yy"
3124  {;}
3125  break;
3126 
3127  case 180:
3128 
3129 /* Line 1455 of yacc.c */
3130 #line 843 "yacc.yy"
3131  {;}
3132  break;
3133 
3134  case 181:
3135 
3136 /* Line 1455 of yacc.c */
3137 #line 844 "yacc.yy"
3138  {;}
3139  break;
3140 
3141  case 182:
3142 
3143 /* Line 1455 of yacc.c */
3144 #line 845 "yacc.yy"
3145  {;}
3146  break;
3147 
3148  case 183:
3149 
3150 /* Line 1455 of yacc.c */
3151 #line 846 "yacc.yy"
3152  {;}
3153  break;
3154 
3155  case 184:
3156 
3157 /* Line 1455 of yacc.c */
3158 #line 847 "yacc.yy"
3159  {;}
3160  break;
3161 
3162  case 185:
3163 
3164 /* Line 1455 of yacc.c */
3165 #line 848 "yacc.yy"
3166  {;}
3167  break;
3168 
3169 
3170 
3171 /* Line 1455 of yacc.c */
3172 #line 3171 "yacc.cpp"
3173  default: break;
3174  }
3175  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3176 
3177  YYPOPSTACK (yylen);
3178  yylen = 0;
3179  YY_STACK_PRINT (yyss, yyssp);
3180 
3181  *++yyvsp = yyval;
3182 
3183  /* Now `shift' the result of the reduction. Determine what state
3184  that goes to, based on the state we popped back to and the rule
3185  number reduced by. */
3186 
3187  yyn = yyr1[yyn];
3188 
3189  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3190  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3191  yystate = yytable[yystate];
3192  else
3193  yystate = yydefgoto[yyn - YYNTOKENS];
3194 
3195  goto yynewstate;
3196 
3197 
3198 /*------------------------------------.
3199 | yyerrlab -- here on detecting error |
3200 `------------------------------------*/
3201 yyerrlab:
3202  /* If not already recovering from an error, report this error. */
3203  if (!yyerrstatus)
3204  {
3205  ++yynerrs;
3206 #if ! YYERROR_VERBOSE
3207  yyerror (YY_("syntax error"));
3208 #else
3209  {
3210  YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
3211  if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
3212  {
3213  YYSIZE_T yyalloc = 2 * yysize;
3214  if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
3215  yyalloc = YYSTACK_ALLOC_MAXIMUM;
3216  if (yymsg != yymsgbuf)
3217  YYSTACK_FREE (yymsg);
3218  yymsg = (char *) YYSTACK_ALLOC (yyalloc);
3219  if (yymsg)
3220  yymsg_alloc = yyalloc;
3221  else
3222  {
3223  yymsg = yymsgbuf;
3224  yymsg_alloc = sizeof yymsgbuf;
3225  }
3226  }
3227 
3228  if (0 < yysize && yysize <= yymsg_alloc)
3229  {
3230  (void) yysyntax_error (yymsg, yystate, yychar);
3231  yyerror (yymsg);
3232  }
3233  else
3234  {
3235  yyerror (YY_("syntax error"));
3236  if (yysize != 0)
3237  goto yyexhaustedlab;
3238  }
3239  }
3240 #endif
3241  }
3242 
3243 
3244 
3245  if (yyerrstatus == 3)
3246  {
3247  /* If just tried and failed to reuse lookahead token after an
3248  error, discard it. */
3249 
3250  if (yychar <= YYEOF)
3251  {
3252  /* Return failure if at end of input. */
3253  if (yychar == YYEOF)
3254  YYABORT;
3255  }
3256  else
3257  {
3258  yydestruct ("Error: discarding",
3259  yytoken, &yylval);
3260  yychar = YYEMPTY;
3261  }
3262  }
3263 
3264  /* Else will try to reuse lookahead token after shifting the error
3265  token. */
3266  goto yyerrlab1;
3267 
3268 
3269 /*---------------------------------------------------.
3270 | yyerrorlab -- error raised explicitly by YYERROR. |
3271 `---------------------------------------------------*/
3272 yyerrorlab:
3273 
3274  /* Pacify compilers like GCC when the user code never invokes
3275  YYERROR and the label yyerrorlab therefore never appears in user
3276  code. */
3277  if (/*CONSTCOND*/ 0)
3278  goto yyerrorlab;
3279 
3280  /* Do not reclaim the symbols of the rule which action triggered
3281  this YYERROR. */
3282  YYPOPSTACK (yylen);
3283  yylen = 0;
3284  YY_STACK_PRINT (yyss, yyssp);
3285  yystate = *yyssp;
3286  goto yyerrlab1;
3287 
3288 
3289 /*-------------------------------------------------------------.
3290 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3291 `-------------------------------------------------------------*/
3292 yyerrlab1:
3293  yyerrstatus = 3; /* Each real token shifted decrements this. */
3294 
3295  for (;;)
3296  {
3297  yyn = yypact[yystate];
3298  if (yyn != YYPACT_NINF)
3299  {
3300  yyn += YYTERROR;
3301  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3302  {
3303  yyn = yytable[yyn];
3304  if (0 < yyn)
3305  break;
3306  }
3307  }
3308 
3309  /* Pop the current state because it cannot handle the error token. */
3310  if (yyssp == yyss)
3311  YYABORT;
3312 
3313 
3314  yydestruct ("Error: popping",
3315  yystos[yystate], yyvsp);
3316  YYPOPSTACK (1);
3317  yystate = *yyssp;
3318  YY_STACK_PRINT (yyss, yyssp);
3319  }
3320 
3321  *++yyvsp = yylval;
3322 
3323 
3324  /* Shift the error token. */
3325  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3326 
3327  yystate = yyn;
3328  goto yynewstate;
3329 
3330 
3331 /*-------------------------------------.
3332 | yyacceptlab -- YYACCEPT comes here. |
3333 `-------------------------------------*/
3334 yyacceptlab:
3335  yyresult = 0;
3336  goto yyreturn;
3337 
3338 /*-----------------------------------.
3339 | yyabortlab -- YYABORT comes here. |
3340 `-----------------------------------*/
3341 yyabortlab:
3342  yyresult = 1;
3343  goto yyreturn;
3344 
3345 #if !defined(yyoverflow) || YYERROR_VERBOSE
3346 /*-------------------------------------------------.
3347 | yyexhaustedlab -- memory exhaustion comes here. |
3348 `-------------------------------------------------*/
3349 yyexhaustedlab:
3350  yyerror (YY_("memory exhausted"));
3351  yyresult = 2;
3352  /* Fall through. */
3353 #endif
3354 
3355 yyreturn:
3356  if (yychar != YYEMPTY)
3357  yydestruct ("Cleanup: discarding lookahead",
3358  yytoken, &yylval);
3359  /* Do not reclaim the symbols of the rule which action triggered
3360  this YYABORT or YYACCEPT. */
3361  YYPOPSTACK (yylen);
3362  YY_STACK_PRINT (yyss, yyssp);
3363  while (yyssp != yyss)
3364  {
3365  yydestruct ("Cleanup: popping",
3366  yystos[*yyssp], yyvsp);
3367  YYPOPSTACK (1);
3368  }
3369 #ifndef yyoverflow
3370  if (yyss != yyssa)
3371  YYSTACK_FREE (yyss);
3372 #endif
3373 #if YYERROR_VERBOSE
3374  if (yymsg != yymsgbuf)
3375  YYSTACK_FREE (yymsg);
3376 #endif
3377  /* Make sure YYID is used. */
3378  return YYID (yyresult);
3379 }
3380 
3381 
3382 
3383 /* Line 1675 of yacc.c */
3384 #line 851 "yacc.yy"
3385 
3386 
3387 void dcopidlParse( const char *_code )
3388 {
3389  dcopidlInitFlex( _code );
3390  yyparse();
3391 }
3392 

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.9.1
This website is maintained by Timothy Pearson.