Grammar.cpp
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 2.7. */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6 
7  This program is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 /* As a special exception, you may create a larger work that contains
21  part or all of the Bison parser skeleton and distribute that work
22  under terms of your choice, so long as that work isn't itself a
23  parser generator using the skeleton or a modified version thereof
24  as a parser skeleton. Alternatively, if you modify or redistribute
25  the parser skeleton itself, you may (at your option) remove this
26  special exception, which will cause the skeleton and the resulting
27  Bison output files to be licensed under the GNU General Public
28  License without this special exception.
29 
30  This special exception was added by the Free Software Foundation in
31  version 2.2 of Bison. */
32 
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34  simplifying the original so-called "semantic" parser. */
35 
36 /* All symbols defined below should begin with yy or YY, to avoid
37  infringing on user name space. This should be done even for local
38  variables, as they might otherwise be expanded by user macros.
39  There are some unavoidable exceptions within include files to
40  define necessary library symbols; they are noted "INFRINGES ON
41  USER NAME SPACE" below. */
42 
43 /* Identify Bison output. */
44 #define YYBISON 1
45 
46 /* Bison version. */
47 #define YYBISON_VERSION "2.7"
48 
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51 
52 /* Pure parsers. */
53 #define YYPURE 1
54 
55 /* Push parsers. */
56 #define YYPUSH 0
57 
58 /* Pull parsers. */
59 #define YYPULL 1
60 
61 
62 
63 
64 /* Copy the first part of user declarations. */
65 /* Line 371 of yacc.c */
66 #line 1 "src/IceStorm/Grammar.y"
67 
68 
69 // **********************************************************************
70 //
71 // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
72 //
73 // This copy of Ice is licensed to you under the terms described in the
74 // ICE_LICENSE file included in this distribution.
75 //
76 // **********************************************************************
77 
78 #include <Ice/Ice.h>
79 #include <IceStorm/Parser.h>
80 
81 #ifdef _MSC_VER
82 // I get these warnings from some bison versions:
83 // warning C4102: 'yyoverflowlab' : unreferenced label
84 # pragma warning( disable : 4102 )
85 // warning C4065: switch statement contains 'default' but no 'case' labels
86 # pragma warning( disable : 4065 )
87 #endif
88 
89 //
90 // Avoid old style cast warnings in generated grammar
91 //
92 #ifdef __GNUC__
93 # pragma GCC diagnostic ignored "-Wold-style-cast"
94 #endif
95 
96 using namespace std;
97 using namespace Ice;
98 using namespace IceStorm;
99 
100 void
101 yyerror(const char* s)
102 {
103  parser->error(s);
104 }
105 
106 
107 /* Line 371 of yacc.c */
108 #line 109 "src/IceStorm/Grammar.cpp"
109 
110 # ifndef YY_NULL
111 # if defined __cplusplus && 201103L <= __cplusplus
112 # define YY_NULL nullptr
113 # else
114 # define YY_NULL 0
115 # endif
116 # endif
117 
118 /* Enabling verbose error messages. */
119 #ifdef YYERROR_VERBOSE
120 # undef YYERROR_VERBOSE
121 # define YYERROR_VERBOSE 1
122 #else
123 # define YYERROR_VERBOSE 0
124 #endif
125 
126 /* In a future release of Bison, this section will be replaced
127  by #include "Grammar.hpp". */
128 #ifndef YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
129 # define YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED
130 /* Enabling traces. */
131 #ifndef YYDEBUG
132 # define YYDEBUG 1
133 #endif
134 #if YYDEBUG
135 extern int yydebug;
136 #endif
137 
138 /* Tokens. */
139 #ifndef YYTOKENTYPE
140 # define YYTOKENTYPE
141 /* Put the tokens into the symbol table, so that GDB and other debuggers
142  know about them. */
144 {
157 };
158 #endif
159 
160 
161 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
162 typedef int YYSTYPE;
163 # define YYSTYPE_IS_TRIVIAL 1
164 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
165 # define YYSTYPE_IS_DECLARED 1
166 #endif
167 
168 
169 #ifdef YYPARSE_PARAM
170 #if defined __STDC__ || defined __cplusplus
171 int yyparse(void* YYPARSE_PARAM);
172 #else
173 int yyparse();
174 #endif
175 #else /* ! YYPARSE_PARAM */
176 #if defined __STDC__ || defined __cplusplus
177 int yyparse(void);
178 #else
179 int yyparse();
180 #endif
181 #endif /* ! YYPARSE_PARAM */
182 
183 #endif /* !YY_YY_SRC_ICESTORM_GRAMMAR_HPP_INCLUDED */
184 
185 /* Copy the second part of user declarations. */
186 
187 /* Line 390 of yacc.c */
188 #line 188 "src/IceStorm/Grammar.cpp"
189 
190 #ifdef short
191 # undef short
192 #endif
193 
194 #ifdef YYTYPE_UINT8
195 typedef YYTYPE_UINT8 yytype_uint8;
196 #else
197 typedef unsigned char yytype_uint8;
198 #endif
199 
200 #ifdef YYTYPE_INT8
201 typedef YYTYPE_INT8 yytype_int8;
202 #elif (defined __STDC__ || defined __C99__FUNC__ \
203  || defined __cplusplus || defined _MSC_VER)
204 typedef signed char yytype_int8;
205 #else
206 typedef short int yytype_int8;
207 #endif
208 
209 #ifdef YYTYPE_UINT16
210 typedef YYTYPE_UINT16 yytype_uint16;
211 #else
212 typedef unsigned short int yytype_uint16;
213 #endif
214 
215 #ifdef YYTYPE_INT16
216 typedef YYTYPE_INT16 yytype_int16;
217 #else
218 typedef short int yytype_int16;
219 #endif
220 
221 #ifndef YYSIZE_T
222 # ifdef __SIZE_TYPE__
223 # define YYSIZE_T __SIZE_TYPE__
224 # elif defined size_t
225 # define YYSIZE_T size_t
226 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
227  || defined __cplusplus || defined _MSC_VER)
228 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
229 # define YYSIZE_T size_t
230 # else
231 # define YYSIZE_T unsigned int
232 # endif
233 #endif
234 
235 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
236 
237 #ifndef YY_
238 # if defined YYENABLE_NLS && YYENABLE_NLS
239 # if ENABLE_NLS
240 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
241 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
242 # endif
243 # endif
244 # ifndef YY_
245 # define YY_(Msgid) Msgid
246 # endif
247 #endif
248 
249 /* Suppress unused-variable warnings by "using" E. */
250 #if ! defined lint || defined __GNUC__
251 # define YYUSE(E) ((void) (E))
252 #else
253 # define YYUSE(E) /* empty */
254 #endif
255 
256 /* Identity function, used to suppress warnings about constant conditions. */
257 #ifndef lint
258 # define YYID(N) (N)
259 #else
260 #if (defined __STDC__ || defined __C99__FUNC__ \
261  || defined __cplusplus || defined _MSC_VER)
262 static int
263 YYID(int yyi)
264 #else
265 static int
266 YYID(yyi)
267 int yyi;
268 #endif
269 {
270  return yyi;
271 }
272 #endif
273 
274 #if ! defined yyoverflow || YYERROR_VERBOSE
275 
276 /* The parser invokes alloca or malloc; define the necessary symbols. */
277 
278 # ifdef YYSTACK_USE_ALLOCA
279 # if YYSTACK_USE_ALLOCA
280 # ifdef __GNUC__
281 # define YYSTACK_ALLOC __builtin_alloca
282 # elif defined __BUILTIN_VA_ARG_INCR
283 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
284 # elif defined _AIX
285 # define YYSTACK_ALLOC __alloca
286 # elif defined _MSC_VER
287 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
288 # define alloca _alloca
289 # else
290 # define YYSTACK_ALLOC alloca
291 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
292  || defined __cplusplus || defined _MSC_VER)
293 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
294 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
295 # ifndef EXIT_SUCCESS
296 # define EXIT_SUCCESS 0
297 # endif
298 # endif
299 # endif
300 # endif
301 # endif
302 
303 # ifdef YYSTACK_ALLOC
304 /* Pacify GCC's `empty if-body' warning. */
305 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
306 # ifndef YYSTACK_ALLOC_MAXIMUM
307 /* The OS might guarantee only one guard page at the bottom of the stack,
308  and a page size can be as small as 4096 bytes. So we cannot safely
309  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
310  to allow for a few compiler-allocated temporary stack slots. */
311 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
312 # endif
313 # else
314 # define YYSTACK_ALLOC YYMALLOC
315 # define YYSTACK_FREE YYFREE
316 # ifndef YYSTACK_ALLOC_MAXIMUM
317 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
318 # endif
319 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
320  && ! ((defined YYMALLOC || defined malloc) \
321  && (defined YYFREE || defined free)))
322 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
323 # ifndef EXIT_SUCCESS
324 # define EXIT_SUCCESS 0
325 # endif
326 # endif
327 # ifndef YYMALLOC
328 # define YYMALLOC malloc
329 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
330  || defined __cplusplus || defined _MSC_VER)
331 void* malloc(YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
332 # endif
333 # endif
334 # ifndef YYFREE
335 # define YYFREE free
336 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
337  || defined __cplusplus || defined _MSC_VER)
338 void free(void*); /* INFRINGES ON USER NAME SPACE */
339 # endif
340 # endif
341 # endif
342 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
343 
344 
345 #if (! defined yyoverflow \
346  && (! defined __cplusplus \
347  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
348 
349 /* A type that is properly aligned for any stack member. */
350 union yyalloc
351 {
354 };
355 
356 /* The size of the maximum gap between one aligned stack and the next. */
357 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
358 
359 /* The size of an array large to enough to hold all stacks, each with
360  N elements. */
361 # define YYSTACK_BYTES(N) \
362  ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
363  + YYSTACK_GAP_MAXIMUM)
364 
365 # define YYCOPY_NEEDED 1
366 
367 /* Relocate STACK from its old location to the new one. The
368  local variables YYSIZE and YYSTACKSIZE give the old and new number of
369  elements in the stack, and YYPTR gives the new location of the
370  stack. Advance YYPTR to a properly aligned location for the next
371  stack. */
372 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
373  do \
374  { \
375  YYSIZE_T yynewbytes; \
376  YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
377  Stack = &yyptr->Stack_alloc; \
378  yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
379  yyptr += yynewbytes / sizeof (*yyptr); \
380  } \
381  while (YYID (0))
382 
383 #endif
384 
385 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
386 /* Copy COUNT objects from SRC to DST. The source and destination do
387  not overlap. */
388 # ifndef YYCOPY
389 # if defined __GNUC__ && 1 < __GNUC__
390 # define YYCOPY(Dst, Src, Count) \
391  __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
392 # else
393 # define YYCOPY(Dst, Src, Count) \
394  do \
395  { \
396  YYSIZE_T yyi; \
397  for (yyi = 0; yyi < (Count); yyi++) \
398  (Dst)[yyi] = (Src)[yyi]; \
399  } \
400  while (YYID (0))
401 # endif
402 # endif
403 #endif /* !YYCOPY_NEEDED */
404 
405 /* YYFINAL -- State number of the termination state. */
406 #define YYFINAL 42
407 /* YYLAST -- Last index in YYTABLE. */
408 #define YYLAST 65
409 
410 /* YYNTOKENS -- Number of terminals. */
411 #define YYNTOKENS 16
412 /* YYNNTS -- Number of nonterminals. */
413 #define YYNNTS 6
414 /* YYNRULES -- Number of rules. */
415 #define YYNRULES 31
416 /* YYNRULES -- Number of states. */
417 #define YYNSTATES 56
418 
419 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
420 #define YYUNDEFTOK 2
421 #define YYMAXUTOK 269
422 
423 #define YYTRANSLATE(YYX) \
424  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
425 
426 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
427 static const yytype_uint8 yytranslate[] =
428 {
429  0, 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, 15,
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, 2, 2, 2, 2,
443  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
444  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
445  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
446  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
447  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
448  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
449  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
450  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
451  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
452  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
453  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
454  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
455  5, 6, 7, 8, 9, 10, 11, 12, 13, 14
456 };
457 
458 #if YYDEBUG
459 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
460  YYRHS. */
461 static const yytype_uint8 yyprhs[] =
462 {
463  0, 0, 3, 5, 6, 9, 11, 14, 17, 21,
464  25, 29, 33, 37, 41, 45, 49, 53, 57, 60,
465  62, 65, 68, 69, 71, 73, 75, 77, 79, 81,
466  83, 85
467 };
468 
469 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
470 static const yytype_int8 yyrhs[] =
471 {
472  17, 0, -1, 18, -1, -1, 18, 19, -1, 19,
473  -1, 3, 15, -1, 4, 15, -1, 6, 20, 15,
474  -1, 5, 20, 15, -1, 7, 20, 15, -1, 8,
475  20, 15, -1, 9, 20, 15, -1, 10, 20, 15,
476  -1, 11, 20, 15, -1, 12, 20, 15, -1, 13,
477  20, 15, -1, 14, 1, 15, -1, 1, 15, -1,
478  15, -1, 14, 20, -1, 21, 20, -1, -1, 3,
479  -1, 4, -1, 5, -1, 6, -1, 7, -1, 8,
480  -1, 9, -1, 10, -1, 11, -1
481 };
482 
483 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
484 static const yytype_uint8 yyrline[] =
485 {
486  0, 67, 67, 71, 78, 81, 89, 93, 97, 101,
487  105, 109, 113, 117, 121, 125, 129, 133, 137, 141,
488  149, 154, 160, 168, 171, 174, 177, 180, 183, 186,
489  189, 192
490 };
491 #endif
492 
493 #if YYDEBUG || YYERROR_VERBOSE || 0
494 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
495  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
496 static const char* const yytname[] =
497 {
498  "$end", "error", "$undefined", "ICE_STORM_HELP", "ICE_STORM_EXIT",
499  "ICE_STORM_CURRENT", "ICE_STORM_CREATE", "ICE_STORM_DESTROY",
500  "ICE_STORM_LINK", "ICE_STORM_UNLINK", "ICE_STORM_LINKS",
501  "ICE_STORM_TOPICS", "ICE_STORM_REPLICA", "ICE_STORM_SUBSCRIBERS",
502  "ICE_STORM_STRING", "';'", "$accept", "start", "commands", "command",
503  "strings", "keyword", YY_NULL
504 };
505 #endif
506 
507 # ifdef YYPRINT
508 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
509  token YYLEX-NUM. */
510 static const yytype_uint16 yytoknum[] =
511 {
512  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
513  265, 266, 267, 268, 269, 59
514 };
515 # endif
516 
517 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
518 static const yytype_uint8 yyr1[] =
519 {
520  0, 16, 17, 17, 18, 18, 19, 19, 19, 19,
521  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
522  20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
523  21, 21
524 };
525 
526 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
527 static const yytype_uint8 yyr2[] =
528 {
529  0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
530  3, 3, 3, 3, 3, 3, 3, 3, 2, 1,
531  2, 2, 0, 1, 1, 1, 1, 1, 1, 1,
532  1, 1
533 };
534 
535 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
536  Performed when YYTABLE doesn't specify something else to do. Zero
537  means the default is an error. */
538 static const yytype_uint8 yydefact[] =
539 {
540  0, 0, 0, 0, 22, 22, 22, 22, 22, 22,
541  22, 22, 22, 0, 19, 0, 0, 5, 18, 6,
542  7, 23, 24, 25, 26, 27, 28, 29, 30, 31,
543  22, 0, 22, 0, 0, 0, 0, 0, 0, 0,
544  0, 0, 1, 4, 20, 9, 21, 8, 10, 11,
545  12, 13, 14, 15, 16, 17
546 };
547 
548 /* YYDEFGOTO[NTERM-NUM]. */
549 static const yytype_int8 yydefgoto[] =
550 {
551  -1, 15, 16, 17, 31, 32
552  };
553 
554 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
555  STATE-NUM. */
556 #define YYPACT_NINF -6
557 static const yytype_int8 yypact[] =
558 {
559  8, 9, 11, 15, 41, 41, 41, 41, 41, 41,
560  41, 41, 41, 52, -6, 10, 28, -6, -6, -6,
561  -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
562  41, 39, 41, 42, 43, 44, 45, 46, 47, 48,
563  49, 50, -6, -6, -6, -6, -6, -6, -6, -6,
564  -6, -6, -6, -6, -6, -6
565 };
566 
567 /* YYPGOTO[NTERM-NUM]. */
568 static const yytype_int8 yypgoto[] =
569 {
570  -6, -6, -6, 40, -5, -6
571  };
572 
573 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
574  positive, shift that token. If negative, reduce the rule which
575  number is the opposite. If YYTABLE_NINF, syntax error. */
576 #define YYTABLE_NINF -4
577 static const yytype_int8 yytable[] =
578 {
579  33, 34, 35, 36, 37, 38, 39, 40, -3, 1,
580  42, 2, 3, 4, 5, 6, 7, 8, 9, 10,
581  11, 12, 13, 14, 18, 44, 19, 46, -2, 1,
582  20, 2, 3, 4, 5, 6, 7, 8, 9, 10,
583  11, 12, 13, 14, 21, 22, 23, 24, 25, 26,
584  27, 28, 29, 41, 45, 30, 43, 47, 48, 49,
585  50, 51, 52, 53, 54, 55
586 };
587 
588 #define yypact_value_is_default(Yystate) \
589  (!!((Yystate) == (-6)))
590 
591 #define yytable_value_is_error(Yytable_value) \
592  YYID (0)
593 
594 static const yytype_uint8 yycheck[] =
595 {
596  5, 6, 7, 8, 9, 10, 11, 12, 0, 1,
597  0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
598  12, 13, 14, 15, 15, 30, 15, 32, 0, 1,
599  15, 3, 4, 5, 6, 7, 8, 9, 10, 11,
600  12, 13, 14, 15, 3, 4, 5, 6, 7, 8,
601  9, 10, 11, 1, 15, 14, 16, 15, 15, 15,
602  15, 15, 15, 15, 15, 15
603 };
604 
605 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
606  symbol of state STATE-NUM. */
607 static const yytype_uint8 yystos[] =
608 {
609  0, 1, 3, 4, 5, 6, 7, 8, 9, 10,
610  11, 12, 13, 14, 15, 17, 18, 19, 15, 15,
611  15, 3, 4, 5, 6, 7, 8, 9, 10, 11,
612  14, 20, 21, 20, 20, 20, 20, 20, 20, 20,
613  20, 1, 0, 19, 20, 15, 20, 15, 15, 15,
614  15, 15, 15, 15, 15, 15
615 };
616 
617 #define yyerrok (yyerrstatus = 0)
618 #define yyclearin (yychar = YYEMPTY)
619 #define YYEMPTY (-2)
620 #define YYEOF 0
621 
622 #define YYACCEPT goto yyacceptlab
623 #define YYABORT goto yyabortlab
624 #define YYERROR goto yyerrorlab
625 
626 
627 /* Like YYERROR except do call yyerror. This remains here temporarily
628  to ease the transition to the new meaning of YYERROR, for GCC.
629  Once GCC version 2 has supplanted version 1, this can go. However,
630  YYFAIL appears to be in use. Nevertheless, it is formally deprecated
631  in Bison 2.4.2's NEWS entry, where a plan to phase it out is
632  discussed. */
633 
634 #define YYFAIL goto yyerrlab
635 #if defined YYFAIL
636 /* This is here to suppress warnings from the GCC cpp's
637  -Wunused-macros. Normally we don't worry about that warning, but
638  some users do, and we want to make it easy for users to remove
639  YYFAIL uses, which will produce warnings from Bison 2.5. */
640 #endif
641 
642 #define YYRECOVERING() (!!yyerrstatus)
643 
644 #define YYBACKUP(Token, Value) \
645  do \
646  if (yychar == YYEMPTY) \
647  { \
648  yychar = (Token); \
649  yylval = (Value); \
650  YYPOPSTACK (yylen); \
651  yystate = *yyssp; \
652  goto yybackup; \
653  } \
654  else \
655  { \
656  yyerror (YY_("syntax error: cannot back up")); \
657  YYERROR; \
658  } \
659  while (YYID (0))
660 
661 /* Error token number */
662 #define YYTERROR 1
663 #define YYERRCODE 256
664 
665 
666 /* This macro is provided for backward compatibility. */
667 #ifndef YY_LOCATION_PRINT
668 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
669 #endif
670 
671 
672 /* YYLEX -- calling `yylex' with the right arguments. */
673 #ifdef YYLEX_PARAM
674 # define YYLEX yylex (&yylval, YYLEX_PARAM)
675 #else
676 # define YYLEX yylex (&yylval)
677 #endif
678 
679 /* Enable debugging if requested. */
680 #if YYDEBUG
681 
682 # ifndef YYFPRINTF
683 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
684 # define YYFPRINTF fprintf
685 # endif
686 
687 # define YYDPRINTF(Args) \
688  do { \
689  if (yydebug) \
690  YYFPRINTF Args; \
691  } while (YYID (0))
692 
693 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
694  do { \
695  if (yydebug) \
696  { \
697  YYFPRINTF (stderr, "%s ", Title); \
698  yy_symbol_print (stderr, \
699  Type, Value); \
700  YYFPRINTF (stderr, "\n"); \
701  } \
702  } while (YYID (0))
703 
704 
705 /*--------------------------------.
706 | Print this symbol on YYOUTPUT. |
707 `--------------------------------*/
708 
709 /*ARGSUSED*/
710 #if (defined __STDC__ || defined __C99__FUNC__ \
711  || defined __cplusplus || defined _MSC_VER)
712 static void
713 yy_symbol_value_print(FILE* yyoutput, int yytype, YYSTYPE const* const yyvaluep)
714 #else
715 static void
716 yy_symbol_value_print(yyoutput, yytype, yyvaluep)
717 FILE* yyoutput;
718 int yytype;
719 YYSTYPE const* const yyvaluep;
720 #endif
721 {
722  FILE* yyo = yyoutput;
723  YYUSE(yyo);
724  if (!yyvaluep)
725  {
726  return;
727  }
728 # ifdef YYPRINT
729  if (yytype < YYNTOKENS)
730  {
731  YYPRINT(yyoutput, yytoknum[yytype], *yyvaluep);
732  }
733 # else
734  YYUSE(yyoutput);
735 # endif
736  switch (yytype)
737  {
738  default:
739  break;
740  }
741 }
742 
743 
744 /*--------------------------------.
745 | Print this symbol on YYOUTPUT. |
746 `--------------------------------*/
747 
748 #if (defined __STDC__ || defined __C99__FUNC__ \
749  || defined __cplusplus || defined _MSC_VER)
750 static void
751 yy_symbol_print(FILE* yyoutput, int yytype, YYSTYPE const* const yyvaluep)
752 #else
753 static void
754 yy_symbol_print(yyoutput, yytype, yyvaluep)
755 FILE* yyoutput;
756 int yytype;
757 YYSTYPE const* const yyvaluep;
758 #endif
759 {
760  if (yytype < YYNTOKENS)
761  {
762  YYFPRINTF(yyoutput, "token %s (", yytname[yytype]);
763  }
764  else
765  {
766  YYFPRINTF(yyoutput, "nterm %s (", yytname[yytype]);
767  }
768 
769  yy_symbol_value_print(yyoutput, yytype, yyvaluep);
770  YYFPRINTF(yyoutput, ")");
771 }
772 
773 /*------------------------------------------------------------------.
774 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
775 | TOP (included). |
776 `------------------------------------------------------------------*/
777 
778 #if (defined __STDC__ || defined __C99__FUNC__ \
779  || defined __cplusplus || defined _MSC_VER)
780 static void
781 yy_stack_print(yytype_int16* yybottom, yytype_int16* yytop)
782 #else
783 static void
784 yy_stack_print(yybottom, yytop)
785 yytype_int16* yybottom;
787 #endif
788 {
789  YYFPRINTF(stderr, "Stack now");
790  for (; yybottom <= yytop; yybottom++)
791  {
792  int yybot = *yybottom;
793  YYFPRINTF(stderr, " %d", yybot);
794  }
795  YYFPRINTF(stderr, "\n");
796 }
797 
798 # define YY_STACK_PRINT(Bottom, Top) \
799  do { \
800  if (yydebug) \
801  yy_stack_print ((Bottom), (Top)); \
802  } while (YYID (0))
803 
804 
805 /*------------------------------------------------.
806 | Report that the YYRULE is going to be reduced. |
807 `------------------------------------------------*/
808 
809 #if (defined __STDC__ || defined __C99__FUNC__ \
810  || defined __cplusplus || defined _MSC_VER)
811 static void
812 yy_reduce_print(YYSTYPE* yyvsp, int yyrule)
813 #else
814 static void
815 yy_reduce_print(yyvsp, yyrule)
816 YYSTYPE* yyvsp;
817 int yyrule;
818 #endif
819 {
820  int yynrhs = yyr2[yyrule];
821  int yyi;
822  unsigned long int yylno = yyrline[yyrule];
823  YYFPRINTF(stderr, "Reducing stack by rule %d (line %lu):\n",
824  yyrule - 1, yylno);
825  /* The symbols being reduced. */
826  for (yyi = 0; yyi < yynrhs; yyi++)
827  {
828  YYFPRINTF(stderr, " $%d = ", yyi + 1);
829  yy_symbol_print(stderr, yyrhs[yyprhs[yyrule] + yyi],
830  &(yyvsp[(yyi + 1) - (yynrhs)])
831  );
832  YYFPRINTF(stderr, "\n");
833  }
834 }
835 
836 # define YY_REDUCE_PRINT(Rule) \
837  do { \
838  if (yydebug) \
839  yy_reduce_print (yyvsp, Rule); \
840  } while (YYID (0))
841 
842 /* Nonzero means print parse trace. It is left uninitialized so that
843  multiple parsers can coexist. */
845 #else /* !YYDEBUG */
846 # define YYDPRINTF(Args)
847 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
848 # define YY_STACK_PRINT(Bottom, Top)
849 # define YY_REDUCE_PRINT(Rule)
850 #endif /* !YYDEBUG */
851 
852 
853 /* YYINITDEPTH -- initial size of the parser's stacks. */
854 #ifndef YYINITDEPTH
855 # define YYINITDEPTH 200
856 #endif
857 
858 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
859  if the built-in stack extension method is used).
860 
861  Do not make this value too large; the results are undefined if
862  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
863  evaluated with infinite-precision integer arithmetic. */
864 
865 #ifndef YYMAXDEPTH
866 # define YYMAXDEPTH 10000
867 #endif
868 
869 
870 #if YYERROR_VERBOSE
871 
872 # ifndef yystrlen
873 # if defined __GLIBC__ && defined _STRING_H
874 # define yystrlen strlen
875 # else
876 /* Return the length of YYSTR. */
877 #if (defined __STDC__ || defined __C99__FUNC__ \
878  || defined __cplusplus || defined _MSC_VER)
879 static YYSIZE_T
880 yystrlen(const char* yystr)
881 #else
882 static YYSIZE_T
883 yystrlen(yystr)
884 const char* yystr;
885 #endif
886 {
887  YYSIZE_T yylen;
888  for (yylen = 0; yystr[yylen]; yylen++)
889  {
890  continue;
891  }
892  return yylen;
893 }
894 # endif
895 # endif
896 
897 # ifndef yystpcpy
898 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
899 # define yystpcpy stpcpy
900 # else
901 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
902  YYDEST. */
903 #if (defined __STDC__ || defined __C99__FUNC__ \
904  || defined __cplusplus || defined _MSC_VER)
905 static char*
906 yystpcpy(char* yydest, const char* yysrc)
907 #else
908 static char*
909 yystpcpy(yydest, yysrc)
910 char* yydest;
911 const char* yysrc;
912 #endif
913 {
914  char* yyd = yydest;
915  const char* yys = yysrc;
916 
917  while ((*yyd++ = *yys++) != '\0')
918  {
919  continue;
920  }
921 
922  return yyd - 1;
923 }
924 # endif
925 # endif
926 
927 # ifndef yytnamerr
928 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
929  quotes and backslashes, so that it's suitable for yyerror. The
930  heuristic is that double-quoting is unnecessary unless the string
931  contains an apostrophe, a comma, or backslash (other than
932  backslash-backslash). YYSTR is taken from yytname. If YYRES is
933  null, do not copy; instead, return the length of what the result
934  would have been. */
935 static YYSIZE_T
936 yytnamerr(char* yyres, const char* yystr)
937 {
938  if (*yystr == '"')
939  {
940  YYSIZE_T yyn = 0;
941  char const* yyp = yystr;
942 
943  for (;;)
944  switch (*++yyp)
945  {
946  case '\'':
947  case ',':
948  goto do_not_strip_quotes;
949 
950  case '\\':
951  if (*++yyp != '\\')
952  {
953  goto do_not_strip_quotes;
954  }
955  /* Fall through. */
956  default:
957  if (yyres)
958  {
959  yyres[yyn] = *yyp;
960  }
961  yyn++;
962  break;
963 
964  case '"':
965  if (yyres)
966  {
967  yyres[yyn] = '\0';
968  }
969  return yyn;
970  }
971 do_not_strip_quotes:
972  ;
973  }
974 
975  if (! yyres)
976  {
977  return yystrlen(yystr);
978  }
979 
980  return yystpcpy(yyres, yystr) - yyres;
981 }
982 # endif
983 
984 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
985  about the unexpected token YYTOKEN for the state stack whose top is
986  YYSSP.
987 
988  Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
989  not large enough to hold the message. In that case, also set
990  *YYMSG_ALLOC to the required number of bytes. Return 2 if the
991  required number of bytes is too large to store. */
992 static int
993 yysyntax_error(YYSIZE_T* yymsg_alloc, char** yymsg,
994  yytype_int16* yyssp, int yytoken)
995 {
996  YYSIZE_T yysize0 = yytnamerr(YY_NULL, yytname[yytoken]);
997  YYSIZE_T yysize = yysize0;
998  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
999  /* Internationalized format string. */
1000  const char* yyformat = YY_NULL;
1001  /* Arguments of yyformat. */
1002  char const* yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1003  /* Number of reported tokens (one for the "unexpected", one per
1004  "expected"). */
1005  int yycount = 0;
1006 
1007  /* There are many possibilities here to consider:
1008  - Assume YYFAIL is not used. It's too flawed to consider. See
1009  <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
1010  for details. YYERROR is fine as it does not invoke this
1011  function.
1012  - If this state is a consistent state with a default action, then
1013  the only way this function was invoked is if the default action
1014  is an error action. In that case, don't check for expected
1015  tokens because there are none.
1016  - The only way there can be no lookahead present (in yychar) is if
1017  this state is a consistent state with a default action. Thus,
1018  detecting the absence of a lookahead is sufficient to determine
1019  that there is no unexpected or expected token to report. In that
1020  case, just report a simple "syntax error".
1021  - Don't assume there isn't a lookahead just because this state is a
1022  consistent state with a default action. There might have been a
1023  previous inconsistent state, consistent state with a non-default
1024  action, or user semantic action that manipulated yychar.
1025  - Of course, the expected token list depends on states to have
1026  correct lookahead information, and it depends on the parser not
1027  to perform extra reductions after fetching a lookahead from the
1028  scanner and before detecting a syntax error. Thus, state merging
1029  (from LALR or IELR) and default reductions corrupt the expected
1030  token list. However, the list is correct for canonical LR with
1031  one exception: it will still contain any token that will not be
1032  accepted due to an error action in a later state.
1033  */
1034  if (yytoken != YYEMPTY)
1035  {
1036  int yyn = yypact[*yyssp];
1037  yyarg[yycount++] = yytname[yytoken];
1038  if (!yypact_value_is_default(yyn))
1039  {
1040  /* Start YYX at -YYN if negative to avoid negative indexes in
1041  YYCHECK. In other words, skip the first -YYN actions for
1042  this state because they are default actions. */
1043  int yyxbegin = yyn < 0 ? -yyn : 0;
1044  /* Stay within bounds of both yycheck and yytname. */
1045  int yychecklim = YYLAST - yyn + 1;
1046  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1047  int yyx;
1048 
1049  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1050  if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1051  && !yytable_value_is_error(yytable[yyx + yyn]))
1052  {
1053  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1054  {
1055  yycount = 1;
1056  yysize = yysize0;
1057  break;
1058  }
1059  yyarg[yycount++] = yytname[yyx];
1060  {
1061  YYSIZE_T yysize1 = yysize + yytnamerr(YY_NULL, yytname[yyx]);
1062  if (!(yysize <= yysize1
1063  && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1064  {
1065  return 2;
1066  }
1067  yysize = yysize1;
1068  }
1069  }
1070  }
1071  }
1072 
1073  switch (yycount)
1074  {
1075 # define YYCASE_(N, S) \
1076 case N: \
1077  yyformat = S; \
1078  break
1079  YYCASE_(0, YY_("syntax error"));
1080  YYCASE_(1, YY_("syntax error, unexpected %s"));
1081  YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1082  YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1083  YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1084  YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1085 # undef YYCASE_
1086  }
1087 
1088  {
1089  YYSIZE_T yysize1 = yysize + yystrlen(yyformat);
1090  if (!(yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1091  {
1092  return 2;
1093  }
1094  yysize = yysize1;
1095  }
1096 
1097  if (*yymsg_alloc < yysize)
1098  {
1099  *yymsg_alloc = 2 * yysize;
1100  if (!(yysize <= *yymsg_alloc
1101  && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1102  {
1103  *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1104  }
1105  return 1;
1106  }
1107 
1108  /* Avoid sprintf, as that infringes on the user's name space.
1109  Don't have undefined behavior even if the translation
1110  produced a string with the wrong number of "%s"s. */
1111  {
1112  char* yyp = *yymsg;
1113  int yyi = 0;
1114  while ((*yyp = *yyformat) != '\0')
1115  if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1116  {
1117  yyp += yytnamerr(yyp, yyarg[yyi++]);
1118  yyformat += 2;
1119  }
1120  else
1121  {
1122  yyp++;
1123  yyformat++;
1124  }
1125  }
1126  return 0;
1127 }
1128 #endif /* YYERROR_VERBOSE */
1129 
1130 /*-----------------------------------------------.
1131 | Release the memory associated to this symbol. |
1132 `-----------------------------------------------*/
1133 
1134 /*ARGSUSED*/
1135 #if (defined __STDC__ || defined __C99__FUNC__ \
1136  || defined __cplusplus || defined _MSC_VER)
1137 static void
1138 yydestruct(const char* yymsg, int yytype, YYSTYPE* yyvaluep)
1139 #else
1140 static void
1141 yydestruct(yymsg, yytype, yyvaluep)
1142 const char* yymsg;
1143 int yytype;
1144 YYSTYPE* yyvaluep;
1145 #endif
1146 {
1147  YYUSE(yyvaluep);
1148 
1149  if (!yymsg)
1150  {
1151  yymsg = "Deleting";
1152  }
1153  YY_SYMBOL_PRINT(yymsg, yytype, yyvaluep, yylocationp);
1154 
1155  switch (yytype)
1156  {
1157 
1158  default:
1159  break;
1160  }
1161 }
1162 
1163 
1164 
1165 
1166 /*----------.
1167 | yyparse. |
1168 `----------*/
1169 
1170 #ifdef YYPARSE_PARAM
1171 #if (defined __STDC__ || defined __C99__FUNC__ \
1172  || defined __cplusplus || defined _MSC_VER)
1173 int
1174 yyparse(void* YYPARSE_PARAM)
1175 #else
1176 int
1177 yyparse(YYPARSE_PARAM)
1178 void* YYPARSE_PARAM;
1179 #endif
1180 #else /* ! YYPARSE_PARAM */
1181 #if (defined __STDC__ || defined __C99__FUNC__ \
1182  || defined __cplusplus || defined _MSC_VER)
1183 int
1184 yyparse(void)
1185 #else
1186 int
1188 
1189 #endif
1190 #endif
1191 {
1192  /* The lookahead symbol. */
1193  int yychar;
1194 
1195 
1196 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1197  /* Suppress an incorrect diagnostic about yylval being uninitialized. */
1198 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1199  _Pragma ("GCC diagnostic push") \
1200  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1201  _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1202 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1203  _Pragma ("GCC diagnostic pop")
1204 #else
1205  /* Default value used for initialization, for pacifying older GCCs
1206  or non-GCC compilers. */
1207  static YYSTYPE yyval_default;
1208 # define YY_INITIAL_VALUE(Value) = Value
1209 #endif
1210 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1211 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1212 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1213 #endif
1214 #ifndef YY_INITIAL_VALUE
1215 # define YY_INITIAL_VALUE(Value) /* Nothing. */
1216 #endif
1217 
1218  /* The semantic value of the lookahead symbol. */
1219  YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
1220 
1221  /* Number of syntax errors so far. */
1222  int yynerrs;
1223 
1224  int yystate;
1225  /* Number of tokens to shift before error messages enabled. */
1226  int yyerrstatus;
1227 
1228  /* The stacks and their tools:
1229  `yyss': related to states.
1230  `yyvs': related to semantic values.
1231 
1232  Refer to the stacks through separate pointers, to allow yyoverflow
1233  to reallocate them elsewhere. */
1234 
1235  /* The state stack. */
1236  yytype_int16 yyssa[YYINITDEPTH];
1237  yytype_int16* yyss;
1238  yytype_int16* yyssp;
1239 
1240  /* The semantic value stack. */
1241  YYSTYPE yyvsa[YYINITDEPTH];
1242  YYSTYPE* yyvs;
1243  YYSTYPE* yyvsp;
1244 
1245  YYSIZE_T yystacksize;
1246 
1247  int yyn;
1248  int yyresult;
1249  /* Lookahead token as an internal (translated) token number. */
1250  int yytoken = 0;
1251  /* The variables used to return semantic value and location from the
1252  action routines. */
1253  YYSTYPE yyval;
1254 
1255 #if YYERROR_VERBOSE
1256  /* Buffer for error messages, and its allocated size. */
1257  char yymsgbuf[128];
1258  char* yymsg = yymsgbuf;
1259  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1260 #endif
1261 
1262 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1263 
1264  /* The number of symbols on the RHS of the reduced rule.
1265  Keep to zero when no symbol should be popped. */
1266  int yylen = 0;
1267 
1268  yyssp = yyss = yyssa;
1269  yyvsp = yyvs = yyvsa;
1270  yystacksize = YYINITDEPTH;
1271 
1272  YYDPRINTF((stderr, "Starting parse\n"));
1273 
1274  yystate = 0;
1275  yyerrstatus = 0;
1276  yynerrs = 0;
1277  yychar = YYEMPTY; /* Cause a token to be read. */
1278  goto yysetstate;
1279 
1280  /*------------------------------------------------------------.
1281  | yynewstate -- Push a new state, which is found in yystate. |
1282  `------------------------------------------------------------*/
1283 yynewstate:
1284  /* In all cases, when you get here, the value and location stacks
1285  have just been pushed. So pushing a state here evens the stacks. */
1286  yyssp++;
1287 
1288 yysetstate:
1289  *yyssp = yystate;
1290 
1291  if (yyss + yystacksize - 1 <= yyssp)
1292  {
1293  /* Get the current used size of the three stacks, in elements. */
1294  YYSIZE_T yysize = yyssp - yyss + 1;
1295 
1296 #ifdef yyoverflow
1297  {
1298  /* Give user a chance to reallocate the stack. Use copies of
1299  these so that the &'s don't force the real ones into
1300  memory. */
1301  YYSTYPE* yyvs1 = yyvs;
1302  yytype_int16* yyss1 = yyss;
1303 
1304  /* Each stack pointer address is followed by the size of the
1305  data in use in that stack, in bytes. This used to be a
1306  conditional around just the two extra args, but that might
1307  be undefined if yyoverflow is a macro. */
1308  yyoverflow(YY_("memory exhausted"),
1309  &yyss1, yysize * sizeof(*yyssp),
1310  &yyvs1, yysize * sizeof(*yyvsp),
1311  &yystacksize);
1312 
1313  yyss = yyss1;
1314  yyvs = yyvs1;
1315  }
1316 #else /* no yyoverflow */
1317 # ifndef YYSTACK_RELOCATE
1318  goto yyexhaustedlab;
1319 # else
1320  /* Extend the stack our own way. */
1321  if (YYMAXDEPTH <= yystacksize)
1322  {
1323  goto yyexhaustedlab;
1324  }
1325  yystacksize *= 2;
1326  if (YYMAXDEPTH < yystacksize)
1327  {
1328  yystacksize = YYMAXDEPTH;
1329  }
1330 
1331  {
1332  yytype_int16* yyss1 = yyss;
1333  union yyalloc* yyptr =
1334  (union yyalloc*) YYSTACK_ALLOC(YYSTACK_BYTES(yystacksize));
1335  if (! yyptr)
1336  {
1337  goto yyexhaustedlab;
1338  }
1341 # undef YYSTACK_RELOCATE
1342  if (yyss1 != yyssa)
1343  {
1344  YYSTACK_FREE(yyss1);
1345  }
1346  }
1347 # endif
1348 #endif /* no yyoverflow */
1349 
1350  yyssp = yyss + yysize - 1;
1351  yyvsp = yyvs + yysize - 1;
1352 
1353  YYDPRINTF((stderr, "Stack size increased to %lu\n",
1354  (unsigned long int) yystacksize));
1355 
1356  if (yyss + yystacksize - 1 <= yyssp)
1357  {
1358  YYABORT;
1359  }
1360  }
1361 
1362  YYDPRINTF((stderr, "Entering state %d\n", yystate));
1363 
1364  if (yystate == YYFINAL)
1365  {
1366  YYACCEPT;
1367  }
1368 
1369  goto yybackup;
1370 
1371  /*-----------.
1372  | yybackup. |
1373  `-----------*/
1374 yybackup:
1375 
1376  /* Do appropriate processing given the current state. Read a
1377  lookahead token if we need one and don't already have one. */
1378 
1379  /* First try to decide what to do without reference to lookahead token. */
1380  yyn = yypact[yystate];
1381  if (yypact_value_is_default(yyn))
1382  {
1383  goto yydefault;
1384  }
1385 
1386  /* Not known => get a lookahead token if don't already have one. */
1387 
1388  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1389  if (yychar == YYEMPTY)
1390  {
1391  YYDPRINTF((stderr, "Reading a token: "));
1392  yychar = YYLEX;
1393  }
1394 
1395  if (yychar <= YYEOF)
1396  {
1397  yychar = yytoken = YYEOF;
1398  YYDPRINTF((stderr, "Now at end of input.\n"));
1399  }
1400  else
1401  {
1402  yytoken = YYTRANSLATE(yychar);
1403  YY_SYMBOL_PRINT("Next token is", yytoken, &yylval, &yylloc);
1404  }
1405 
1406  /* If the proper action on seeing token YYTOKEN is to reduce or to
1407  detect an error, take that action. */
1408  yyn += yytoken;
1409  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1410  {
1411  goto yydefault;
1412  }
1413  yyn = yytable[yyn];
1414  if (yyn <= 0)
1415  {
1416  if (yytable_value_is_error(yyn))
1417  {
1418  goto yyerrlab;
1419  }
1420  yyn = -yyn;
1421  goto yyreduce;
1422  }
1423 
1424  /* Count tokens shifted since error; after three, turn off error
1425  status. */
1426  if (yyerrstatus)
1427  {
1428  yyerrstatus--;
1429  }
1430 
1431  /* Shift the lookahead token. */
1432  YY_SYMBOL_PRINT("Shifting", yytoken, &yylval, &yylloc);
1433 
1434  /* Discard the shifted token. */
1435  yychar = YYEMPTY;
1436 
1437  yystate = yyn;
1439  *++yyvsp = yylval;
1441 
1442  goto yynewstate;
1443 
1444 
1445  /*-----------------------------------------------------------.
1446  | yydefault -- do the default action for the current state. |
1447  `-----------------------------------------------------------*/
1448 yydefault:
1449  yyn = yydefact[yystate];
1450  if (yyn == 0)
1451  {
1452  goto yyerrlab;
1453  }
1454  goto yyreduce;
1455 
1456 
1457  /*-----------------------------.
1458  | yyreduce -- Do a reduction. |
1459  `-----------------------------*/
1460 yyreduce:
1461  /* yyn is the number of a rule to reduce with. */
1462  yylen = yyr2[yyn];
1463 
1464  /* If YYLEN is nonzero, implement the default value of the action:
1465  `$$ = $1'.
1466 
1467  Otherwise, the following line sets YYVAL to garbage.
1468  This behavior is undocumented and Bison
1469  users should not rely upon it. Assigning to YYVAL
1470  unconditionally makes the parser a bit smaller, and it avoids a
1471  GCC warning that YYVAL may be used uninitialized. */
1472  yyval = yyvsp[1 - yylen];
1473 
1474 
1475  YY_REDUCE_PRINT(yyn);
1476  switch (yyn)
1477  {
1478  case 2:
1479  /* Line 1792 of yacc.c */
1480 #line 68 "src/IceStorm/Grammar.y"
1481  {
1482  }
1483  break;
1484 
1485  case 3:
1486  /* Line 1792 of yacc.c */
1487 #line 71 "src/IceStorm/Grammar.y"
1488  {
1489  }
1490  break;
1491 
1492  case 4:
1493  /* Line 1792 of yacc.c */
1494 #line 79 "src/IceStorm/Grammar.y"
1495  {
1496  }
1497  break;
1498 
1499  case 5:
1500  /* Line 1792 of yacc.c */
1501 #line 82 "src/IceStorm/Grammar.y"
1502  {
1503  }
1504  break;
1505 
1506  case 6:
1507  /* Line 1792 of yacc.c */
1508 #line 90 "src/IceStorm/Grammar.y"
1509  {
1510  parser->usage();
1511  }
1512  break;
1513 
1514  case 7:
1515  /* Line 1792 of yacc.c */
1516 #line 94 "src/IceStorm/Grammar.y"
1517  {
1518  return 0;
1519  }
1520  break;
1521 
1522  case 8:
1523  /* Line 1792 of yacc.c */
1524 #line 98 "src/IceStorm/Grammar.y"
1525  {
1526  parser->create((yyvsp[(2) - (3)]));
1527  }
1528  break;
1529 
1530  case 9:
1531  /* Line 1792 of yacc.c */
1532 #line 102 "src/IceStorm/Grammar.y"
1533  {
1534  parser->current((yyvsp[(2) - (3)]));
1535  }
1536  break;
1537 
1538  case 10:
1539  /* Line 1792 of yacc.c */
1540 #line 106 "src/IceStorm/Grammar.y"
1541  {
1542  parser->destroy((yyvsp[(2) - (3)]));
1543  }
1544  break;
1545 
1546  case 11:
1547  /* Line 1792 of yacc.c */
1548 #line 110 "src/IceStorm/Grammar.y"
1549  {
1550  parser->link((yyvsp[(2) - (3)]));
1551  }
1552  break;
1553 
1554  case 12:
1555  /* Line 1792 of yacc.c */
1556 #line 114 "src/IceStorm/Grammar.y"
1557  {
1558  parser->unlink((yyvsp[(2) - (3)]));
1559  }
1560  break;
1561 
1562  case 13:
1563  /* Line 1792 of yacc.c */
1564 #line 118 "src/IceStorm/Grammar.y"
1565  {
1566  parser->links((yyvsp[(2) - (3)]));
1567  }
1568  break;
1569 
1570  case 14:
1571  /* Line 1792 of yacc.c */
1572 #line 122 "src/IceStorm/Grammar.y"
1573  {
1574  parser->topics((yyvsp[(2) - (3)]));
1575  }
1576  break;
1577 
1578  case 15:
1579  /* Line 1792 of yacc.c */
1580 #line 126 "src/IceStorm/Grammar.y"
1581  {
1582  parser->replica((yyvsp[(2) - (3)]));
1583  }
1584  break;
1585 
1586  case 16:
1587  /* Line 1792 of yacc.c */
1588 #line 130 "src/IceStorm/Grammar.y"
1589  {
1590  parser->subscribers((yyvsp[(2) - (3)]));
1591  }
1592  break;
1593 
1594  case 17:
1595  /* Line 1792 of yacc.c */
1596 #line 134 "src/IceStorm/Grammar.y"
1597  {
1598  parser->invalidCommand("unknown command `" + (yyvsp[(1) - (3)]).front() + "' (type `help' for more info)");
1599  }
1600  break;
1601 
1602  case 18:
1603  /* Line 1792 of yacc.c */
1604 #line 138 "src/IceStorm/Grammar.y"
1605  {
1606  yyerrok;
1607  }
1608  break;
1609 
1610  case 19:
1611  /* Line 1792 of yacc.c */
1612 #line 142 "src/IceStorm/Grammar.y"
1613  {
1614  }
1615  break;
1616 
1617  case 20:
1618  /* Line 1792 of yacc.c */
1619 #line 150 "src/IceStorm/Grammar.y"
1620  {
1621  (yyval) = (yyvsp[(2) - (2)]);
1622  (yyval).push_front((yyvsp[(1) - (2)]).front());
1623  }
1624  break;
1625 
1626  case 21:
1627  /* Line 1792 of yacc.c */
1628 #line 155 "src/IceStorm/Grammar.y"
1629  {
1630  (yyval) = (yyvsp[(2) - (2)]);
1631  (yyval).push_front((yyvsp[(1) - (2)]).front());
1632  }
1633  break;
1634 
1635  case 22:
1636  /* Line 1792 of yacc.c */
1637 #line 160 "src/IceStorm/Grammar.y"
1638  {
1639  (yyval) = YYSTYPE();
1640  }
1641  break;
1642 
1643  case 23:
1644  /* Line 1792 of yacc.c */
1645 #line 169 "src/IceStorm/Grammar.y"
1646  {
1647  }
1648  break;
1649 
1650  case 24:
1651  /* Line 1792 of yacc.c */
1652 #line 172 "src/IceStorm/Grammar.y"
1653  {
1654  }
1655  break;
1656 
1657  case 25:
1658  /* Line 1792 of yacc.c */
1659 #line 175 "src/IceStorm/Grammar.y"
1660  {
1661  }
1662  break;
1663 
1664  case 26:
1665  /* Line 1792 of yacc.c */
1666 #line 178 "src/IceStorm/Grammar.y"
1667  {
1668  }
1669  break;
1670 
1671  case 27:
1672  /* Line 1792 of yacc.c */
1673 #line 181 "src/IceStorm/Grammar.y"
1674  {
1675  }
1676  break;
1677 
1678  case 28:
1679  /* Line 1792 of yacc.c */
1680 #line 184 "src/IceStorm/Grammar.y"
1681  {
1682  }
1683  break;
1684 
1685  case 29:
1686  /* Line 1792 of yacc.c */
1687 #line 187 "src/IceStorm/Grammar.y"
1688  {
1689  }
1690  break;
1691 
1692  case 30:
1693  /* Line 1792 of yacc.c */
1694 #line 190 "src/IceStorm/Grammar.y"
1695  {
1696  }
1697  break;
1698 
1699  case 31:
1700  /* Line 1792 of yacc.c */
1701 #line 193 "src/IceStorm/Grammar.y"
1702  {
1703  }
1704  break;
1705 
1706 
1707  /* Line 1792 of yacc.c */
1708 #line 1657 "src/IceStorm/Grammar.cpp"
1709  default:
1710  break;
1711  }
1712  /* User semantic actions sometimes alter yychar, and that requires
1713  that yytoken be updated with the new translation. We take the
1714  approach of translating immediately before every use of yytoken.
1715  One alternative is translating here after every semantic action,
1716  but that translation would be missed if the semantic action invokes
1717  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
1718  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
1719  incorrect destructor might then be invoked immediately. In the
1720  case of YYERROR or YYBACKUP, subsequent parser actions might lead
1721  to an incorrect destructor call or verbose syntax error message
1722  before the lookahead is translated. */
1723  YY_SYMBOL_PRINT("-> $$ =", yyr1[yyn], &yyval, &yyloc);
1724 
1725  YYPOPSTACK(yylen);
1726  yylen = 0;
1727  YY_STACK_PRINT(yyss, yyssp);
1728 
1729  *++yyvsp = yyval;
1730 
1731  /* Now `shift' the result of the reduction. Determine what state
1732  that goes to, based on the state we popped back to and the rule
1733  number reduced by. */
1734 
1735  yyn = yyr1[yyn];
1736 
1737  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
1738  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
1739  {
1740  yystate = yytable[yystate];
1741  }
1742  else
1743  {
1744  yystate = yydefgoto[yyn - YYNTOKENS];
1745  }
1746 
1747  goto yynewstate;
1748 
1749 
1750  /*------------------------------------.
1751  | yyerrlab -- here on detecting error |
1752  `------------------------------------*/
1753 yyerrlab:
1754  /* Make sure we have latest lookahead translation. See comments at
1755  user semantic actions for why this is necessary. */
1756  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE(yychar);
1757 
1758  /* If not already recovering from an error, report this error. */
1759  if (!yyerrstatus)
1760  {
1761  ++yynerrs;
1762 #if ! YYERROR_VERBOSE
1763  yyerror(YY_("syntax error"));
1764 #else
1765 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
1766  yyssp, yytoken)
1767  {
1768  char const* yymsgp = YY_("syntax error");
1769  int yysyntax_error_status;
1770  yysyntax_error_status = YYSYNTAX_ERROR;
1771  if (yysyntax_error_status == 0)
1772  {
1773  yymsgp = yymsg;
1774  }
1775  else if (yysyntax_error_status == 1)
1776  {
1777  if (yymsg != yymsgbuf)
1778  {
1779  YYSTACK_FREE(yymsg);
1780  }
1781  yymsg = (char*) YYSTACK_ALLOC(yymsg_alloc);
1782  if (!yymsg)
1783  {
1784  yymsg = yymsgbuf;
1785  yymsg_alloc = sizeof yymsgbuf;
1786  yysyntax_error_status = 2;
1787  }
1788  else
1789  {
1790  yysyntax_error_status = YYSYNTAX_ERROR;
1791  yymsgp = yymsg;
1792  }
1793  }
1794  yyerror(yymsgp);
1795  if (yysyntax_error_status == 2)
1796  {
1797  goto yyexhaustedlab;
1798  }
1799  }
1800 # undef YYSYNTAX_ERROR
1801 #endif
1802  }
1803 
1804 
1805 
1806  if (yyerrstatus == 3)
1807  {
1808  /* If just tried and failed to reuse lookahead token after an
1809  error, discard it. */
1810 
1811  if (yychar <= YYEOF)
1812  {
1813  /* Return failure if at end of input. */
1814  if (yychar == YYEOF)
1815  {
1816  YYABORT;
1817  }
1818  }
1819  else
1820  {
1821  yydestruct("Error: discarding",
1822  yytoken, &yylval);
1823  yychar = YYEMPTY;
1824  }
1825  }
1826 
1827  /* Else will try to reuse lookahead token after shifting the error
1828  token. */
1829  goto yyerrlab1;
1830 
1831 
1832  /*---------------------------------------------------.
1833  | yyerrorlab -- error raised explicitly by YYERROR. |
1834  `---------------------------------------------------*/
1835 yyerrorlab:
1836 
1837  /* Pacify compilers like GCC when the user code never invokes
1838  YYERROR and the label yyerrorlab therefore never appears in user
1839  code. */
1840  if (/*CONSTCOND*/ 0)
1841  {
1842  goto yyerrorlab;
1843  }
1844 
1845  /* Do not reclaim the symbols of the rule which action triggered
1846  this YYERROR. */
1847  YYPOPSTACK(yylen);
1848  yylen = 0;
1849  YY_STACK_PRINT(yyss, yyssp);
1850  yystate = *yyssp;
1851  goto yyerrlab1;
1852 
1853 
1854  /*-------------------------------------------------------------.
1855  | yyerrlab1 -- common code for both syntax error and YYERROR. |
1856  `-------------------------------------------------------------*/
1857 yyerrlab1:
1858  yyerrstatus = 3; /* Each real token shifted decrements this. */
1859 
1860  for (;;)
1861  {
1862  yyn = yypact[yystate];
1863  if (!yypact_value_is_default(yyn))
1864  {
1865  yyn += YYTERROR;
1866  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
1867  {
1868  yyn = yytable[yyn];
1869  if (0 < yyn)
1870  {
1871  break;
1872  }
1873  }
1874  }
1875 
1876  /* Pop the current state because it cannot handle the error token. */
1877  if (yyssp == yyss)
1878  {
1879  YYABORT;
1880  }
1881 
1882 
1883  yydestruct("Error: popping",
1884  yystos[yystate], yyvsp);
1885  YYPOPSTACK(1);
1886  yystate = *yyssp;
1887  YY_STACK_PRINT(yyss, yyssp);
1888  }
1889 
1891  *++yyvsp = yylval;
1893 
1894 
1895  /* Shift the error token. */
1896  YY_SYMBOL_PRINT("Shifting", yystos[yyn], yyvsp, yylsp);
1897 
1898  yystate = yyn;
1899  goto yynewstate;
1900 
1901 
1902  /*-------------------------------------.
1903  | yyacceptlab -- YYACCEPT comes here. |
1904  `-------------------------------------*/
1905 yyacceptlab:
1906  yyresult = 0;
1907  goto yyreturn;
1908 
1909  /*-----------------------------------.
1910  | yyabortlab -- YYABORT comes here. |
1911  `-----------------------------------*/
1912 yyabortlab:
1913  yyresult = 1;
1914  goto yyreturn;
1915 
1916 #if !defined yyoverflow || YYERROR_VERBOSE
1917  /*-------------------------------------------------.
1918  | yyexhaustedlab -- memory exhaustion comes here. |
1919  `-------------------------------------------------*/
1920 yyexhaustedlab:
1921  yyerror(YY_("memory exhausted"));
1922  yyresult = 2;
1923  /* Fall through. */
1924 #endif
1925 
1926 yyreturn:
1927  if (yychar != YYEMPTY)
1928  {
1929  /* Make sure we have latest lookahead translation. See comments at
1930  user semantic actions for why this is necessary. */
1931  yytoken = YYTRANSLATE(yychar);
1932  yydestruct("Cleanup: discarding lookahead",
1933  yytoken, &yylval);
1934  }
1935  /* Do not reclaim the symbols of the rule which action triggered
1936  this YYABORT or YYACCEPT. */
1937  YYPOPSTACK(yylen);
1938  YY_STACK_PRINT(yyss, yyssp);
1939  while (yyssp != yyss)
1940  {
1941  yydestruct("Cleanup: popping",
1942  yystos[*yyssp], yyvsp);
1943  YYPOPSTACK(1);
1944  }
1945 #ifndef yyoverflow
1946  if (yyss != yyssa)
1947  {
1948  YYSTACK_FREE(yyss);
1949  }
1950 #endif
1951 #if YYERROR_VERBOSE
1952  if (yymsg != yymsgbuf)
1953  {
1954  YYSTACK_FREE(yymsg);
1955  }
1956 #endif
1957  /* Make sure YYID is used. */
1958  return YYID(yyresult);
1959 }
1960 
1961 
1962 /* Line 2055 of yacc.c */
1963 #line 196 "src/IceStorm/Grammar.y"
1964 
IceStorm::Parser::create
void create(const std::list< std::string > &)
YYMAXDEPTH
#define YYMAXDEPTH
Definition: Grammar.cpp:866
IceStorm
Definition: DBTypes.ice:22
ICE_STORM_HELP
@ ICE_STORM_HELP
Definition: Grammar.cpp:145
yyoverflow
#define yyoverflow(a, b, c, d, e, f)
Definition: Parser.h:41
Parser.h
YYID
#define YYID(N)
Definition: Grammar.cpp:258
YYACCEPT
#define YYACCEPT
Definition: Grammar.cpp:622
YYSIZE_T
#define YYSIZE_T
Definition: Grammar.cpp:231
YYSTACK_FREE
#define YYSTACK_FREE
Definition: Grammar.cpp:315
YYSTACK_RELOCATE
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: Grammar.cpp:372
IceStorm::Parser::link
void link(const std::list< std::string > &)
YYSTACK_BYTES
#define YYSTACK_BYTES(N)
Definition: Grammar.cpp:361
ICE_STORM_LINKS
@ ICE_STORM_LINKS
Definition: Grammar.cpp:152
IceStorm::Parser::invalidCommand
void invalidCommand(const std::string &)
IceStorm::Parser::unlink
void unlink(const std::list< std::string > &)
yyvaluep
YYSTYPE const *const yyvaluep
Definition: Grammar.cpp:719
ICE_STORM_STRING
@ ICE_STORM_STRING
Definition: Grammar.cpp:156
IceStorm::Parser::current
void current(const std::list< std::string > &)
ICE_STORM_SUBSCRIBERS
@ ICE_STORM_SUBSCRIBERS
Definition: Grammar.cpp:155
ICE_STORM_REPLICA
@ ICE_STORM_REPLICA
Definition: Grammar.cpp:154
ICE_STORM_UNLINK
@ ICE_STORM_UNLINK
Definition: Grammar.cpp:151
yypact_value_is_default
#define yypact_value_is_default(Yystate)
Definition: Grammar.cpp:588
YYABORT
#define YYABORT
Definition: Grammar.cpp:623
YYLAST
#define YYLAST
Definition: Grammar.cpp:408
yytype_int16
short int yytype_int16
Definition: Grammar.cpp:218
YYPOPSTACK
#define YYPOPSTACK(N)
YYEMPTY
#define YYEMPTY
Definition: Grammar.cpp:619
YYNTOKENS
#define YYNTOKENS
Definition: Grammar.cpp:411
YY_SYMBOL_PRINT
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: Grammar.cpp:693
yytable_value_is_error
#define yytable_value_is_error(Yytable_value)
Definition: Grammar.cpp:591
yyalloc::yyvs_alloc
YYSTYPE yyvs_alloc
Definition: Grammar.cpp:353
yyalloc::yyss_alloc
yytype_int16 yyss_alloc
Definition: Grammar.cpp:352
YY_NULL
#define YY_NULL
Definition: Grammar.cpp:114
IceStorm::Parser::links
void links(const std::list< std::string > &)
IceStorm::Parser::subscribers
void subscribers(const std::list< std::string > &)
yytype_uint8
unsigned char yytype_uint8
Definition: Grammar.cpp:197
yyerror
void yyerror(const char *s)
Definition: Grammar.cpp:101
YY_REDUCE_PRINT
#define YY_REDUCE_PRINT(Rule)
Definition: Grammar.cpp:836
IceStorm::Parser::destroy
void destroy(const std::list< std::string > &)
YY_STACK_PRINT
#define YY_STACK_PRINT(Bottom, Top)
Definition: Grammar.cpp:798
yytop
yytype_int16 * yytop
Definition: Grammar.cpp:786
YYTRANSLATE
#define YYTRANSLATE(YYX)
Definition: Grammar.cpp:423
yytype
int yytype
Definition: Grammar.cpp:718
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
yytype_uint16
unsigned short int yytype_uint16
Definition: Grammar.cpp:212
YYSTACK_ALLOC_MAXIMUM
#define YYSTACK_ALLOC_MAXIMUM
Definition: Grammar.cpp:317
IceStorm::Parser::usage
void usage()
yytype_int8
short int yytype_int8
Definition: Grammar.cpp:206
IceStorm::Parser::topics
void topics(const std::list< std::string > &)
yyparse
int yyparse()
Definition: Grammar.cpp:1187
yylno
unsigned long int yylno
Definition: Grammar.cpp:822
Ice
Definition: DBTypes.cpp:64
IceStorm::parser
Parser * parser
Definition: Parser.cpp:33
YYTERROR
#define YYTERROR
Definition: Grammar.cpp:662
YYFINAL
#define YYFINAL
Definition: Grammar.cpp:406
YYUSE
#define YYUSE(E)
Definition: Grammar.cpp:251
IceStorm::Parser::replica
void replica(const std::list< std::string > &)
std
Definition: Application.h:66
ICE_STORM_LINK
@ ICE_STORM_LINK
Definition: Grammar.cpp:150
yydebug
int yydebug
Definition: Grammar.cpp:844
yyi
int yyi
Definition: Grammar.cpp:819
YY_
#define YY_(Msgid)
Definition: Grammar.cpp:245
YYINITDEPTH
#define YYINITDEPTH
Definition: Grammar.cpp:855
YYEOF
#define YYEOF
Definition: Grammar.cpp:620
YYDPRINTF
#define YYDPRINTF(Args)
Definition: Grammar.cpp:687
ICE_STORM_TOPICS
@ ICE_STORM_TOPICS
Definition: Grammar.cpp:153
IceStorm::Parser::error
void error(const char *)
yyalloc
Definition: Grammar.cpp:350
YYLEX
#define YYLEX
Definition: Grammar.cpp:676
YYFPRINTF
#define YYFPRINTF
Definition: Grammar.cpp:684
yyerrok
#define yyerrok
Definition: Grammar.cpp:617
yytokentype
yytokentype
Definition: Grammar.cpp:143
yyrule
int yyrule
Definition: Grammar.cpp:817
YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
YY_INITIAL_VALUE
#define YY_INITIAL_VALUE(Value)
YYSTACK_ALLOC
#define YYSTACK_ALLOC
Definition: Grammar.cpp:314
YYSTYPE
int YYSTYPE
Definition: Grammar.cpp:162
ICE_STORM_EXIT
@ ICE_STORM_EXIT
Definition: Grammar.cpp:146
ICE_STORM_DESTROY
@ ICE_STORM_DESTROY
Definition: Grammar.cpp:149
armarx::ctrlutil::s
double s(double t, double s0, double v0, double a0, double j)
Definition: CtrlUtil.h:33
ICE_STORM_CREATE
@ ICE_STORM_CREATE
Definition: Grammar.cpp:148
ICE_STORM_CURRENT
@ ICE_STORM_CURRENT
Definition: Grammar.cpp:147