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

dcop

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

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
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for dcop by doxygen 1.8.3.1
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |