• 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/*****************************************************************
74Copyright (c) 1999 Torben Weis <weis@kde.org>
75Copyright (c) 2000 Matthias Ettrich <ettrich@kde.org>
76
77Permission is hereby granted, free of charge, to any person obtaining a copy
78of this software and associated documentation files (the "Software"), to deal
79in the Software without restriction, including without limitation the rights
80to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
81copies of the Software, and to permit persons to whom the Software is
82furnished to do so, subject to the following conditions:
83
84The above copyright notice and this permission notice shall be included in
85all copies or substantial portions of the Software.
86
87THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
89FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
90AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
91AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
92CONNECTION 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
114extern int yylex();
115
116// extern TQString idl_lexFile;
117extern int idl_line_no;
118extern int function_mode;
119
120static int dcop_area = 0;
121static int dcop_signal_area = 0;
122
123static TQString in_namespace( "" );
124
125void dcopidlInitFlex( const char *_code );
126
127void 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
234typedef 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
267typedef YYTYPE_UINT8 yytype_uint8;
268#else
269typedef unsigned char yytype_uint8;
270#endif
271
272#ifdef YYTYPE_INT8
273typedef YYTYPE_INT8 yytype_int8;
274#elif (defined __STDC__ || defined __C99__FUNC__ \
275 || defined __cplusplus || defined _MSC_VER)
276typedef signed char yytype_int8;
277#else
278typedef short int yytype_int8;
279#endif
280
281#ifdef YYTYPE_UINT16
282typedef YYTYPE_UINT16 yytype_uint16;
283#else
284typedef unsigned short int yytype_uint16;
285#endif
286
287#ifdef YYTYPE_INT16
288typedef YYTYPE_INT16 yytype_int16;
289#else
290typedef 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)
334static int
335YYID (int yyi)
336#else
337static int
338YYID (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)
402void *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)
409void 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. */
421union 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. */
494static 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. */
534static 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. */
558static 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. */
628static 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. */
655static 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. */
689static 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. */
702static 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. */
726static 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. */
752static 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]. */
795static 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
808static 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]. */
851static 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
866static 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
926static 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. */
988static 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) \
1049do \
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 } \
1063while (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) \
1129do { \
1130 if (yydebug) \
1131 { \
1132 YYFPRINTF Args; \
1133 } \
1134} while (YYID (0))
1135
1136# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1137do { \
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)
1155static void
1156yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1157#else
1158static void
1159yy_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)
1187static void
1188yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1189#else
1190static void
1191yy_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)
1213static void
1214yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1215#else
1216static void
1217yy_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) \
1232do { \
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)
1244static void
1245yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1246#else
1247static void
1248yy_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) \
1270do { \
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. */
1277int 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)
1313static YYSIZE_T
1314yystrlen (const char *yystr)
1315#else
1316static YYSIZE_T
1317yystrlen (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)
1337static char *
1338yystpcpy (char *yydest, const char *yysrc)
1339#else
1340static char *
1341yystpcpy (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. */
1365static YYSIZE_T
1366yytnamerr (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. */
1412static YYSIZE_T
1413yysyntax_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)
1522static void
1523yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1524#else
1525static void
1526yydestruct (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
1549int yyparse (void *YYPARSE_PARAM);
1550#else
1551int yyparse ();
1552#endif
1553#else /* ! YYPARSE_PARAM */
1554#if defined __STDC__ || defined __cplusplus
1555int yyparse (void);
1556#else
1557int yyparse ();
1558#endif
1559#endif /* ! YYPARSE_PARAM */
1560
1561
1562/* The lookahead symbol. */
1563int yychar;
1564
1565/* The semantic value of the lookahead symbol. */
1566YYSTYPE yylval;
1567
1568/* Number of syntax errors so far. */
1569int 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)
1580int
1581yyparse (void *YYPARSE_PARAM)
1582#else
1583int
1584yyparse (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)
1590int
1591yyparse (void)
1592#else
1593int
1594yyparse ()
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`-----------*/
1748yybackup:
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`-----------------------------------------------------------*/
1812yydefault:
1813 yyn = yydefact[yystate];
1814 if (yyn == 0)
1815 goto yyerrlab;
1816 goto yyreduce;
1817
1818
1819/*-----------------------------.
1820| yyreduce -- Do a reduction. |
1821`-----------------------------*/
1822yyreduce:
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`------------------------------------*/
3201yyerrlab:
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`---------------------------------------------------*/
3272yyerrorlab:
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`-------------------------------------------------------------*/
3292yyerrlab1:
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`-------------------------------------*/
3334yyacceptlab:
3335 yyresult = 0;
3336 goto yyreturn;
3337
3338/*-----------------------------------.
3339| yyabortlab -- YYABORT comes here. |
3340`-----------------------------------*/
3341yyabortlab:
3342 yyresult = 1;
3343 goto yyreturn;
3344
3345#if !defined(yyoverflow) || YYERROR_VERBOSE
3346/*-------------------------------------------------.
3347| yyexhaustedlab -- memory exhaustion comes here. |
3348`-------------------------------------------------*/
3349yyexhaustedlab:
3350 yyerror (YY_("memory exhausted"));
3351 yyresult = 2;
3352 /* Fall through. */
3353#endif
3354
3355yyreturn:
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
3387void 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.4
This website is maintained by Timothy Pearson.