pmu-bison.c revision ce8be8b3ee4170ecc66ff306d84628e51d0debe3
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* A Bison parser, made by GNU Bison 2.5.  */
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Bison implementation for Yacc-like parsers in C
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   This program is free software: you can redistribute it and/or modify
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)   it under the terms of the GNU General Public License as published by
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   the Free Software Foundation, either version 3 of the License, or
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   (at your option) any later version.
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   This program is distributed in the hope that it will be useful,
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   but WITHOUT ANY WARRANTY; without even the implied warranty of
147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   GNU General Public License for more details.
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   You should have received a copy of the GNU General Public License
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* As a special exception, you may create a larger work that contains
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch   part or all of the Bison parser skeleton and distribute that work
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   under terms of your choice, so long as that work isn't itself a
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   parser generator using the skeleton or a modified version thereof
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   as a parser skeleton.  Alternatively, if you modify or redistribute
2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   the parser skeleton itself, you may (at your option) remove this
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   special exception, which will cause the skeleton and the resulting
277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   Bison output files to be licensed under the GNU General Public
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   License without this special exception.
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   This special exception was added by the Free Software Foundation in
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   version 2.2 of Bison.  */
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* C LALR(1) parser skeleton written by Richard Stallman, by
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   simplifying the original so-called "semantic" parser.  */
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* All symbols defined below should begin with yy or YY, to avoid
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   infringing on user name space.  This should be done even for local
38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)   variables, as they might otherwise be expanded by user macros.
39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)   There are some unavoidable exceptions within include files to
407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   define necessary library symbols; they are noted "INFRINGES ON
41868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)   USER NAME SPACE" below.  */
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* Identify Bison output.  */
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define YYBISON 1
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
46868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* Bison version.  */
47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define YYBISON_VERSION "2.5"
48eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
49eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* Skeleton name.  */
50eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define YYSKELETON_NAME "yacc.c"
51eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
52eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* Pure parsers.  */
53eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define YYPURE 0
547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Push parsers.  */
5690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define YYPUSH 0
5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Pull parsers.  */
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYPULL 1
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Using locations.  */
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYLSP_NEEDED 0
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Substitute the variable and function names.  */
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define yyparse         perf_pmu_parse
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define yylex           perf_pmu_lex
677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define yyerror         perf_pmu_error
682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define yylval          perf_pmu_lval
692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define yychar          perf_pmu_char
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define yydebug         perf_pmu_debug
71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define yynerrs         perf_pmu_nerrs
7290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
74eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* Copy the first part of user declarations.  */
752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 268 of yacc.c  */
772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 5 "util/pmu.y"
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <linux/compiler.h>
812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <linux/list.h>
822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <linux/bitmap.h>
832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string.h>
84c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "pmu.h"
85c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)extern int perf_pmu_lex (void);
87c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
8890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define ABORT_ON(val) \
8990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)do { \
9090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        if (val) \
9190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                YYABORT; \
9290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} while (0)
9390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
9490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
9590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
9690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* Line 268 of yacc.c  */
9790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#line 98 "util/pmu-bison.c"
9890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
9990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* Enabling traces.  */
10090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef YYDEBUG
1017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# define YYDEBUG 0
1027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif
1037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
1047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* Enabling verbose error messages.  */
1057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#ifdef YYERROR_VERBOSE
1067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# undef YYERROR_VERBOSE
1077d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# define YYERROR_VERBOSE 1
108b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#else
1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define YYERROR_VERBOSE 0
110b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Enabling the token table.  */
113b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#ifndef YYTOKEN_TABLE
114b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)# define YYTOKEN_TABLE 0
115b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif
116b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
117b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Tokens.  */
1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef YYTOKENTYPE
1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define YYTOKENTYPE
1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   /* Put the tokens into the symbol table, so that GDB and other debuggers
122b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)      know about them.  */
1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   enum yytokentype {
1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     PP_CONFIG = 258,
125b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)     PP_CONFIG1 = 259,
1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     PP_CONFIG2 = 260,
1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     PP_VALUE = 261,
1287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch     PP_ERROR = 262
1297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   };
1307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif
1317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
1347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef union YYSTYPE
1367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch{
1377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
1387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Line 293 of yacc.c  */
139b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#line 30 "util/pmu.y"
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	unsigned long num;
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	DECLARE_BITMAP(bits, PERF_PMU_FORMAT_BITS);
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 293 of yacc.c  */
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 148 "util/pmu-bison.c"
1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} YYSTYPE;
1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define YYSTYPE_IS_TRIVIAL 1
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define yystype YYSTYPE /* obsolescent; will be withdrawn */
151b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)# define YYSTYPE_IS_DECLARED 1
152b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif
153b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
154b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
155b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* Copy the second part of user declarations.  */
156b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 343 of yacc.c  */
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 160 "util/pmu-bison.c"
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef short
1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# undef short
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef YYTYPE_UINT8
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef YYTYPE_UINT8 yytype_uint8;
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef unsigned char yytype_uint8;
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef YYTYPE_INT8
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef YYTYPE_INT8 yytype_int8;
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#elif (defined __STDC__ || defined __C99__FUNC__ \
174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)typedef signed char yytype_int8;
176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else
177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)typedef short int yytype_int8;
178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifdef YYTYPE_UINT16
181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)typedef YYTYPE_UINT16 yytype_uint16;
182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else
183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)typedef unsigned short int yytype_uint16;
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef YYTYPE_INT16
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef YYTYPE_INT16 yytype_int16;
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef short int yytype_int16;
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef YYSIZE_T
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# ifdef __SIZE_TYPE__
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  define YYSIZE_T __SIZE_TYPE__
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# elif defined size_t
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  define YYSIZE_T size_t
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  define YYSIZE_T size_t
201c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# else
202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#  define YYSIZE_T unsigned int
203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
2057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
206c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef YY_
2097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# if defined YYENABLE_NLS && YYENABLE_NLS
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  if ENABLE_NLS
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   define YY_(msgid) dgettext ("bison-runtime", msgid)
2137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#  endif
2147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# endif
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# ifndef YY_
216c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#  define YY_(msgid) msgid
217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Suppress unused-variable warnings by "using" E.  */
221c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if ! defined lint || defined __GNUC__
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define YYUSE(e) ((void) (e))
2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# define YYUSE(e) /* empty */
2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
2272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Identity function, used to suppress warnings about constant conditions.  */
2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef lint
22990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYID(n) (n)
2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static int
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)YYID (int yyi)
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static int
237eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochYYID (yyi)
2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    int yyi;
2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
2402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return yyi;
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
2442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if ! defined yyoverflow || YYERROR_VERBOSE
2462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* The parser invokes alloca or malloc; define the necessary symbols.  */
2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# ifdef YYSTACK_USE_ALLOCA
2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  if YYSTACK_USE_ALLOCA
2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   ifdef __GNUC__
2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#    define YYSTACK_ALLOC __builtin_alloca
2532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   elif defined __BUILTIN_VA_ARG_INCR
2542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
2552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   elif defined _AIX
25690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    define YYSTACK_ALLOC __alloca
25790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   elif defined _MSC_VER
25890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
25990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    define alloca _alloca
26090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   else
26190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    define YYSTACK_ALLOC alloca
26290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
26390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
26490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
26590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#     ifndef EXIT_SUCCESS
26690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#      define EXIT_SUCCESS 0
26790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#     endif
26890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    endif
26990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   endif
27090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  endif
27190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# endif
27290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
27390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# ifdef YYSTACK_ALLOC
27490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   /* Pacify GCC's `empty if-body' warning.  */
27590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
27690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  ifndef YYSTACK_ALLOC_MAXIMUM
27790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    /* The OS might guarantee only one guard page at the bottom of the stack,
27890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)       and a page size can be as small as 4096 bytes.  So we cannot safely
27990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
28090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)       to allow for a few compiler-allocated temporary stack slots.  */
28190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
28290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  endif
28390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# else
28490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  define YYSTACK_ALLOC YYMALLOC
285868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#  define YYSTACK_FREE YYFREE
286868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#  ifndef YYSTACK_ALLOC_MAXIMUM
287868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
288868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#  endif
289868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
290868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)       && ! ((defined YYMALLOC || defined malloc) \
291868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	     && (defined YYFREE || defined free)))
292868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
293868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#   ifndef EXIT_SUCCESS
29490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#    define EXIT_SUCCESS 0
29590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   endif
29690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  endif
29790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  ifndef YYMALLOC
29890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   define YYMALLOC malloc
29990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
30090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
30190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
30290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   endif
30390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  endif
30490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  ifndef YYFREE
30590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   define YYFREE free
30690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
30790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
30890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void free (void *); /* INFRINGES ON USER NAME SPACE */
30990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#   endif
31090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#  endif
31190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# endif
31290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
31390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
31490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
31590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if (! defined yyoverflow \
31690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     && (! defined __cplusplus \
31790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
31890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
31990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* A type that is properly aligned for any stack member.  */
32090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)union yyalloc
32190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles){
32290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  yytype_int16 yyss_alloc;
32390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  YYSTYPE yyvs_alloc;
32490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)};
325eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
326eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* The size of the maximum gap between one aligned stack and the next.  */
327eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
328eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
329eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* The size of an array large to enough to hold all stacks, each with
330eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch   N elements.  */
331eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define YYSTACK_BYTES(N) \
332eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
333eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      + YYSTACK_GAP_MAXIMUM)
334eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
33590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYCOPY_NEEDED 1
33690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
33790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* Relocate STACK from its old location to the new one.  The
33890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   local variables YYSIZE and YYSTACKSIZE give the old and new number of
33990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   elements in the stack, and YYPTR gives the new location of the
34090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   stack.  Advance YYPTR to a properly aligned location for the next
34190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)   stack.  */
34290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
34390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    do									\
34490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      {									\
34590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	YYSIZE_T yynewbytes;						\
34690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
34790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	Stack = &yyptr->Stack_alloc;					\
34890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
34990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	yyptr += yynewbytes / sizeof (*yyptr);				\
35090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      }									\
35190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    while (YYID (0))
35290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
35390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif
3547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
3567d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* Copy COUNT objects from FROM to TO.  The source and destination do
3577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   not overlap.  */
3587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# ifndef YYCOPY
3597d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#  if defined __GNUC__ && 1 < __GNUC__
3607d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#   define YYCOPY(To, From, Count) \
3617d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
3627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#  else
3637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#   define YYCOPY(To, From, Count)		\
3647d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      do					\
3657d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	{					\
3667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	  YYSIZE_T yyi;				\
3677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	  for (yyi = 0; yyi < (Count); yyi++)	\
3687d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	    (To)[yyi] = (From)[yyi];		\
3697d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	}					\
3707d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      while (YYID (0))
3717d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#  endif
3727d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# endif
3737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif /* !YYCOPY_NEEDED */
3747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYFINAL -- State number of the termination state.  */
3767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYFINAL  9
3777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYLAST -- Last index in YYTABLE.  */
3787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYLAST   17
3797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYNTOKENS -- Number of terminals.  */
3817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYNTOKENS  11
3827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYNNTS -- Number of nonterminals.  */
3837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYNNTS  5
3847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYNRULES -- Number of rules.  */
3857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYNRULES  10
3867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYNRULES -- Number of states.  */
3877d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYNSTATES  20
3887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
3907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYUNDEFTOK  2
3917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYMAXUTOK   262
3927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYTRANSLATE(YYX)						\
3947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
3957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
3967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
3977d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)static const yytype_uint8 yytranslate[] =
3987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch{
3997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     9,    10,     2,     2,     2,     2,
4047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     8,     2,
4057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
4247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
4252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       5,     6,     7
4262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
4272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if YYDEBUG
4292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
4307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   YYRHS.  */
4312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_uint8 yyprhs[] =
4322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
433c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       0,     0,     3,     6,     8,    12,    16,    20,    24,    26,
43490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      30
435c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)};
436c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
437c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
438c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static const yytype_int8 yyrhs[] =
439c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
440c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      12,     0,    -1,    12,    13,    -1,    13,    -1,     3,     8,
441c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      14,    -1,     4,     8,    14,    -1,     5,     8,    14,    -1,
442c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      14,     9,    15,    -1,    15,    -1,     6,    10,     6,    -1,
443c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       6,    -1
444c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)};
445c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
446c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
447c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static const yytype_uint8 yyrline[] =
448c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
449c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       0,    38,    38,    40,    43,    50,    57,    65,    70,    76,
450c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      81
451c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)};
452c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
453c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
4542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
4552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
4562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
4577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const char *const yytname[] =
458c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
4597d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  "$end", "error", "$undefined", "PP_CONFIG", "PP_CONFIG1", "PP_CONFIG2",
4607d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  "PP_VALUE", "PP_ERROR", "':'", "','", "'-'", "$accept", "format",
4617d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  "format_term", "bits", "bit_term", 0
4627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)};
463c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
464868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
465868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)# ifdef YYPRINT
466868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
467868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)   token YYLEX-NUM.  */
468c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static const yytype_uint16 yytoknum[] =
469868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles){
470c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       0,   256,   257,   258,   259,   260,   261,   262,    58,    44,
47190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      45
47290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)};
47390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# endif
4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
4762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_uint8 yyr1[] =
4772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
4782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       0,    11,    12,    12,    13,    13,    13,    14,    14,    15,
4792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      15
4802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
4812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
483c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static const yytype_uint8 yyr2[] =
484c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
48590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)       0,     2,     2,     1,     3,     3,     3,     3,     1,     3,
486c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       1
487c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)};
48890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
4892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
4902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   Performed when YYTABLE doesn't specify something else to do.  Zero
491c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   means the default is an error.  */
49290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)static const yytype_uint8 yydefact[] =
4932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
4942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       0,     0,     0,     0,     0,     3,     0,     0,     0,     1,
4952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       2,    10,     4,     8,     5,     6,     0,     0,     9,     7
4962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
497c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
49890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* YYDEFGOTO[NTERM-NUM].  */
4992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_int8 yydefgoto[] =
5002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
5012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      -1,     4,     5,    12,    13
5022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
5032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   STATE-NUM.  */
5067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define YYPACT_NINF -7
5077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic const yytype_int8 yypact[] =
5082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
5092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       3,     1,     2,     4,     0,    -7,     5,     5,     5,    -7,
510c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      -7,     6,     8,    -7,     8,     8,     7,     5,    -7,    -7
5112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
5122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYPGOTO[NTERM-NUM].  */
5142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_int8 yypgoto[] =
5152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
5162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      -7,    -7,    10,    -6,    -2
5172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
5182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
5202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   positive, shift that token.  If negative, reduce the rule which
5212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   number is the opposite.  If YYTABLE_NINF, syntax error.  */
5222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYTABLE_NINF -1
5237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)static const yytype_uint8 yytable[] =
5247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles){
5252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       9,    14,    15,     1,     2,     3,     1,     2,     3,     6,
5262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       7,    11,     8,    18,    10,    19,    16,    17
5272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
5287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
529b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define yypact_value_is_default(yystate) \
530b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  ((yystate) == (-7))
531b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
532b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define yytable_value_is_error(yytable_value) \
533b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  YYID (0)
534b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
5352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_uint8 yycheck[] =
536b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles){
537b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)       0,     7,     8,     3,     4,     5,     3,     4,     5,     8,
5387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)       8,     6,     8,     6,     4,    17,    10,     9
5392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
540b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
541868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
542b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   symbol of state STATE-NUM.  */
5432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static const yytype_uint8 yystos[] =
5442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
5452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)       0,     3,     4,     5,    12,    13,     8,     8,     8,     0,
546b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)      13,     6,    14,    15,    14,    14,    10,     9,     6,    15
547b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
548b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
549b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define yyerrok		(yyerrstatus = 0)
550b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define yyclearin	(yychar = YYEMPTY)
5517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYEMPTY		(-2)
552b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define YYEOF		0
5532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
554b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define YYACCEPT	goto yyacceptlab
5552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYABORT		goto yyabortlab
5562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYERROR		goto yyerrorlab
5572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Like YYERROR except do call yyerror.  This remains here temporarily
5602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   to ease the transition to the new meaning of YYERROR, for GCC.
5612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   Once GCC version 2 has supplanted version 1, this can go.  However,
5622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
5632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
5642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   discussed.  */
5652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYFAIL		goto yyerrlab
5672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined YYFAIL
5682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* This is here to suppress warnings from the GCC cpp's
5692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     -Wunused-macros.  Normally we don't worry about that warning, but
5702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     some users do, and we want to make it easy for users to remove
5712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     YYFAIL uses, which will produce warnings from Bison 2.5.  */
5722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYRECOVERING()  (!!yyerrstatus)
5752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYBACKUP(Token, Value)					\
5772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)do								\
5782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (yychar == YYEMPTY && yylen == 1)				\
5792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {								\
580868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yychar = (Token);						\
581868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yylval = (Value);						\
582868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YYPOPSTACK (1);						\
583868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      goto yybackup;						\
584868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }								\
585868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  else								\
5867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    {								\
587868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yyerror (format, name, YY_("syntax error: cannot back up")); \
588868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YYERROR;							\
589c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }								\
5902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)while (YYID (0))
5917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
5927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
5937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYTERROR	1
5947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define YYERRCODE	256
5957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
5962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
5982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   If N is 0, then set CURRENT to the empty location which ends
5992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   the previous symbol: RHS[0] (always defined).  */
6002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
6012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYRHSLOC(Rhs, K) ((Rhs)[K])
602868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef YYLLOC_DEFAULT
603868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)# define YYLLOC_DEFAULT(Current, Rhs, N)				\
604c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    do									\
6057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      if (YYID (N))                                                    \
6067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	{								\
6077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
60890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
60990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
6107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
6112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	}								\
6122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      else								\
6132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	{								\
6142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	  (Current).first_line   = (Current).last_line   =		\
6152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	    YYRHSLOC (Rhs, 0).last_line;				\
6162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	  (Current).first_column = (Current).last_column =		\
6172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	    YYRHSLOC (Rhs, 0).last_column;				\
618b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	}								\
61990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    while (YYID (0))
620b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif
621b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
6222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
62390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* This macro is provided for backward compatibility. */
62490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
62590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef YY_LOCATION_PRINT
62690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
627eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif
628b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
6292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
6302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* YYLEX -- calling `yylex' with the right arguments.  */
63190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
63290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifdef YYLEX_PARAM
63390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYLEX yylex (YYLEX_PARAM)
63490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#else
63590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYLEX yylex ()
636eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif
63790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
638eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* Enable debugging if requested.  */
639eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if YYDEBUG
640eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
641eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# ifndef YYFPRINTF
642eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
643eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#  define YYFPRINTF fprintf
644eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# endif
645eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
646eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define YYDPRINTF(Args)			\
647eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochdo {						\
648eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (yydebug)					\
649eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    YYFPRINTF Args;				\
650eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} while (YYID (0))
651eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
652eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
653eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochdo {									  \
654eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (yydebug)								  \
655eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    {									  \
656eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      YYFPRINTF (stderr, "%s ", Title);					  \
657eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      yy_symbol_print (stderr,						  \
658eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch		  Type, Value, format, name); \
659eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      YYFPRINTF (stderr, "\n");						  \
660eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    }									  \
661eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} while (YYID (0))
662eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
663eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
664eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/*--------------------------------.
665eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch| Print this symbol on YYOUTPUT.  |
666eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch`--------------------------------*/
667eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
668eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/*ARGSUSED*/
669eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if (defined __STDC__ || defined __C99__FUNC__ \
670eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch     || defined __cplusplus || defined _MSC_VER)
671eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstatic void
672eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct list_head *format, char *name)
673eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#else
674eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstatic void
675eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochyy_symbol_value_print (yyoutput, yytype, yyvaluep, format, name)
676eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    FILE *yyoutput;
677eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    int yytype;
678eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    YYSTYPE const * const yyvaluep;
679eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    struct list_head *format;
68090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    char *name;
68190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif
6822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
6832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!yyvaluep)
6842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return;
6852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYUSE (format);
6862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYUSE (name);
6872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# ifdef YYPRINT
6882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (yytype < YYNTOKENS)
6892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
6902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# else
6912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYUSE (yyoutput);
6922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# endif
6932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  switch (yytype)
69490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    {
69590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      default:
69690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	break;
69790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    }
6982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
6992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*--------------------------------.
702c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)| Print this symbol on YYOUTPUT.  |
703c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)`--------------------------------*/
7042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
7062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
7072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static void
7082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct list_head *format, char *name)
7092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
710c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static void
711eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochyy_symbol_print (yyoutput, yytype, yyvaluep, format, name)
712c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    FILE *yyoutput;
713c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    int yytype;
714c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYSTYPE const * const yyvaluep;
715c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    struct list_head *format;
716c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    char *name;
717c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
7182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
7197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  if (yytype < YYNTOKENS)
720c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
721c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  else
722c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
7232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yy_symbol_value_print (yyoutput, yytype, yyvaluep, format, name);
7252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYFPRINTF (yyoutput, ")");
7262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
7272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*------------------------------------------------------------------.
7292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)| yy_stack_print -- Print the state stack from its BOTTOM up to its |
7302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)| TOP (included).                                                   |
7312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`------------------------------------------------------------------*/
7322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
734c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
735c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static void
736c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
737c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else
738c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static void
7392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yy_stack_print (yybottom, yytop)
740c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    yytype_int16 *yybottom;
741c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    yytype_int16 *yytop;
7422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
7432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
7442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYFPRINTF (stderr, "Stack now");
745c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  for (; yybottom <= yytop; yybottom++)
7462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
7472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      int yybot = *yybottom;
7482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      YYFPRINTF (stderr, " %d", yybot);
7492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
7502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYFPRINTF (stderr, "\n");
7512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
752a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
753a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)# define YY_STACK_PRINT(Bottom, Top)				\
754a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)do {								\
7552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (yydebug)							\
7562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    yy_stack_print ((Bottom), (Top));				\
7572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} while (YYID (0))
758b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
759b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
760b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/*------------------------------------------------.
761eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch| Report that the YYRULE is going to be reduced.  |
76290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)`------------------------------------------------*/
76390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
76490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
76590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
76690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)static void
76790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)yy_reduce_print (YYSTYPE *yyvsp, int yyrule, struct list_head *format, char *name)
7682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
7692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static void
7702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yy_reduce_print (yyvsp, yyrule, format, name)
7712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    YYSTYPE *yyvsp;
772c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    int yyrule;
773c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    struct list_head *format;
774c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    char *name;
775c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
776c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
777c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  int yynrhs = yyr2[yyrule];
778c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  int yyi;
779c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  unsigned long int yylno = yyrline[yyrule];
7802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
7817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	     yyrule - 1, yylno);
7827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* The symbols being reduced.  */
783c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  for (yyi = 0; yyi < yynrhs; yyi++)
784c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
7857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
7867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
7877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch		       &(yyvsp[(yyi + 1) - (yynrhs)])
7887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch		       		       , format, name);
7897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      YYFPRINTF (stderr, "\n");
7907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    }
7917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}
7927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
7937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YY_REDUCE_PRINT(Rule)		\
7947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochdo {					\
7957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  if (yydebug)				\
7967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    yy_reduce_print (yyvsp, Rule, format, name); \
7977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} while (YYID (0))
7987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
7997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Nonzero means print parse trace.  It is left uninitialized so that
8007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   multiple parsers can coexist.  */
8017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochint yydebug;
8027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#else /* !YYDEBUG */
8037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YYDPRINTF(Args)
8047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
8057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YY_STACK_PRINT(Bottom, Top)
8067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YY_REDUCE_PRINT(Rule)
8077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* !YYDEBUG */
8087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* YYINITDEPTH -- initial size of the parser's stacks.  */
8117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef	YYINITDEPTH
8127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YYINITDEPTH 200
8137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif
8147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
8167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   if the built-in stack extension method is used).
8177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   Do not make this value too large; the results are undefined if
8197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
8207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch   evaluated with infinite-precision integer arithmetic.  */
8217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef YYMAXDEPTH
8237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# define YYMAXDEPTH 10000
8247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif
8257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if YYERROR_VERBOSE
8287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
8297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# ifndef yystrlen
8307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#  if defined __GLIBC__ && defined _STRING_H
8317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#   define yystrlen strlen
8327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#  else
8337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Return the length of YYSTR.  */
8347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if (defined __STDC__ || defined __C99__FUNC__ \
8357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch     || defined __cplusplus || defined _MSC_VER)
8367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic YYSIZE_T
8377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochyystrlen (const char *yystr)
8387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#else
8397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic YYSIZE_T
840c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)yystrlen (yystr)
841c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    const char *yystr;
842c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
843c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
8442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYSIZE_T yylen;
8452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  for (yylen = 0; yystr[yylen]; yylen++)
8462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    continue;
8472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return yylen;
848c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
849c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#  endif
850c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
851868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
852868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)# ifndef yystpcpy
853868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
8542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#   define yystpcpy stpcpy
855c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#  else
8562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
8572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   YYDEST.  */
8582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
8592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
8602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static char *
8612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yystpcpy (char *yydest, const char *yysrc)
8622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
8632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)static char *
8642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yystpcpy (yydest, yysrc)
8652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    char *yydest;
866c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    const char *yysrc;
867c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
868c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
869c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  char *yyd = yydest;
870c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  const char *yys = yysrc;
871c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
872eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  while ((*yyd++ = *yys++) != '\0')
873eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    continue;
874eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
875eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return yyd - 1;
876c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
877c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#  endif
878c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
879a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
880a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)# ifndef yytnamerr
881a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
882a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)   quotes and backslashes, so that it's suitable for yyerror.  The
883a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)   heuristic is that double-quoting is unnecessary unless the string
884a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)   contains an apostrophe, a comma, or backslash (other than
885c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
886c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   null, do not copy; instead, return the length of what the result
887c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   would have been.  */
888c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)static YYSIZE_T
889c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)yytnamerr (char *yyres, const char *yystr)
890c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
891c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (*yystr == '"')
892c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
893c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      YYSIZE_T yyn = 0;
894c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      char const *yyp = yystr;
895c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
896c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      for (;;)
897c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	switch (*++yyp)
898c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  {
899c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  case '\'':
900c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  case ',':
901c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    goto do_not_strip_quotes;
902c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
903c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  case '\\':
904c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    if (*++yyp != '\\')
905c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	      goto do_not_strip_quotes;
906c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    /* Fall through.  */
907c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  default:
908c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    if (yyres)
909c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	      yyres[yyn] = *yyp;
910c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    yyn++;
911c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    break;
912c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
913c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  case '"':
914c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    if (yyres)
915c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	      yyres[yyn] = '\0';
916c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	    return yyn;
917c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  }
918c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    do_not_strip_quotes: ;
919c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }
920c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
921c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (! yyres)
922c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    return yystrlen (yystr);
923b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
924c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return yystpcpy (yyres, yystr) - yyres;
925c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
926c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
927c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
928c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
929c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   about the unexpected token YYTOKEN for the state stack whose top is
930c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   YYSSP.
931c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
9327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
9337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   not large enough to hold the message.  In that case, also set
9347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
9357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)   required number of bytes is too large to store.  */
9367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)static int
9377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
9387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)                yytype_int16 *yyssp, int yytoken)
9397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles){
9407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
9417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  YYSIZE_T yysize = yysize0;
9427d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  YYSIZE_T yysize1;
9437d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
9447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* Internationalized format string. */
9457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  const char *yyformat = 0;
9467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* Arguments of yyformat. */
9477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
9487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* Number of reported tokens (one for the "unexpected", one per
9497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     "expected"). */
9507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  int yycount = 0;
9517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
9527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* There are many possibilities here to consider:
9537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     - Assume YYFAIL is not used.  It's too flawed to consider.  See
9547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
9557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)       for details.  YYERROR is fine as it does not invoke this
956eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch       function.
9577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     - If this state is a consistent state with a default action, then
9587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)       the only way this function was invoked is if the default action
959c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       is an error action.  In that case, don't check for expected
960c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       tokens because there are none.
961c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     - The only way there can be no lookahead present (in yychar) is if
962c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       this state is a consistent state with a default action.  Thus,
963c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       detecting the absence of a lookahead is sufficient to determine
964c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       that there is no unexpected or expected token to report.  In that
965c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       case, just report a simple "syntax error".
966c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     - Don't assume there isn't a lookahead just because this state is a
967c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       consistent state with a default action.  There might have been a
968c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       previous inconsistent state, consistent state with a non-default
969c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       action, or user semantic action that manipulated yychar.
970c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     - Of course, the expected token list depends on states to have
971c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       correct lookahead information, and it depends on the parser not
972c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       to perform extra reductions after fetching a lookahead from the
973c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       scanner and before detecting a syntax error.  Thus, state merging
974c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       (from LALR or IELR) and default reductions corrupt the expected
975c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       token list.  However, the list is correct for canonical LR with
976c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       one exception: it will still contain any token that will not be
977c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       accepted due to an error action in a later state.
978c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  */
979c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (yytoken != YYEMPTY)
980c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
981c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      int yyn = yypact[*yyssp];
982c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      yyarg[yycount++] = yytname[yytoken];
983c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      if (!yypact_value_is_default (yyn))
984c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        {
985c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          /* Start YYX at -YYN if negative to avoid negative indexes in
986c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)             YYCHECK.  In other words, skip the first -YYN actions for
987c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)             this state because they are default actions.  */
988c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          int yyxbegin = yyn < 0 ? -yyn : 0;
989c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          /* Stay within bounds of both yycheck and yytname.  */
990c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          int yychecklim = YYLAST - yyn + 1;
991c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
992c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          int yyx;
993c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
994c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
995c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
996c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                && !yytable_value_is_error (yytable[yyx + yyn]))
997c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)              {
998c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
999c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                  {
1000eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                    yycount = 1;
1001868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                    yysize = yysize0;
1002eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                    break;
1003eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                  }
1004eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                yyarg[yycount++] = yytname[yyx];
1005eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1006eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                if (! (yysize <= yysize1
1007eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1008eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                  return 2;
1009eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                yysize = yysize1;
1010eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch              }
1011eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        }
1012eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    }
101390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1014c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  switch (yycount)
1015c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
1016eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define YYCASE_(N, S)                      \
1017c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      case N:                               \
1018c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        yyformat = S;                       \
1019c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      break
1020868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YYCASE_(0, YY_("syntax error"));
1021c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      YYCASE_(1, YY_("syntax error, unexpected %s"));
1022c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
102390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1024eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1025eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1026eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# undef YYCASE_
102790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    }
102890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
102990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  yysize1 = yysize + yystrlen (yyformat);
1030eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
103190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    return 2;
1032eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  yysize = yysize1;
1033eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1034eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (*yymsg_alloc < yysize)
1035eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    {
103690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      *yymsg_alloc = 2 * yysize;
1037eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      if (! (yysize <= *yymsg_alloc
1038eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1039eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1040eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      return 1;
1041eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    }
1042eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1043eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  /* Avoid sprintf, as that infringes on the user's name space.
1044eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch     Don't have undefined behavior even if the translation
1045eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch     produced a string with the wrong number of "%s"s.  */
1046eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  {
1047eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    char *yyp = *yymsg;
1048eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    int yyi = 0;
1049eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    while ((*yyp = *yyformat) != '\0')
1050eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1051eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        {
1052eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          yyp += yytnamerr (yyp, yyarg[yyi++]);
1053eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          yyformat += 2;
1054eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        }
1055eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      else
1056eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        {
1057eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          yyp++;
1058eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          yyformat++;
1059eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        }
1060eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  }
1061eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return 0;
1062eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
1063eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif /* YYERROR_VERBOSE */
1064eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1065eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/*-----------------------------------------------.
1066eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch| Release the memory associated to this symbol.  |
1067eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch`-----------------------------------------------*/
1068eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1069eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/*ARGSUSED*/
1070eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if (defined __STDC__ || defined __C99__FUNC__ \
1071eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch     || defined __cplusplus || defined _MSC_VER)
1072eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstatic void
1073eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct list_head *format, char *name)
1074eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#else
1075eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstatic void
1076eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochyydestruct (yymsg, yytype, yyvaluep, format, name)
1077eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const char *yymsg;
1078eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    int yytype;
1079eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    YYSTYPE *yyvaluep;
1080eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    struct list_head *format;
1081eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    char *name;
1082eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif
1083eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch{
1084eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  YYUSE (yyvaluep);
1085eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  YYUSE (format);
1086eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  YYUSE (name);
1087eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1088eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (!yymsg)
1089eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    yymsg = "Deleting";
1090eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1091eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1092eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  switch (yytype)
1093eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    {
1094eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1095c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      default:
1096c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	break;
1097c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }
1098c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
1099eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1100eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1101eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* Prevent warnings from -Wmissing-prototypes.  */
1102eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#ifdef YYPARSE_PARAM
1103eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if defined __STDC__ || defined __cplusplus
1104eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint yyparse (void *YYPARSE_PARAM);
1105eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#else
1106eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint yyparse ();
1107eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif
1108eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#else /* ! YYPARSE_PARAM */
1109eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if defined __STDC__ || defined __cplusplus
1110eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint yyparse (struct list_head *format, char *name);
1111eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#else
1112eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint yyparse ();
1113eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif
1114eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif /* ! YYPARSE_PARAM */
1115eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1116eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1117eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch/* The lookahead symbol.  */
1118eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochint yychar;
11192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* The semantic value of the lookahead symbol.  */
11212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)YYSTYPE yylval;
11222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Number of syntax errors so far.  */
11242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int yynerrs;
11252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*----------.
11282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)| yyparse.  |
11292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`----------*/
11302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef YYPARSE_PARAM
11322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
11332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
11342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int
11352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yyparse (void *YYPARSE_PARAM)
11362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
11372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int
11382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yyparse (YYPARSE_PARAM)
11392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    void *YYPARSE_PARAM;
1140b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif
11412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else /* ! YYPARSE_PARAM */
11422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if (defined __STDC__ || defined __C99__FUNC__ \
11432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     || defined __cplusplus || defined _MSC_VER)
11442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int
11452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yyparse (struct list_head *format, char *name)
11462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
11472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int
11482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yyparse (format, name)
11492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    struct list_head *format;
11502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    char *name;
11512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
11522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
11532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
11542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    int yystate;
11552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    /* Number of tokens to shift before error messages enabled.  */
11562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    int yyerrstatus;
1157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /* The stacks and their tools:
1159c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       `yyss': related to states.
1160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       `yyvs': related to semantic values.
1161c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       Refer to the stacks thru separate pointers, to allow yyoverflow
1163c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)       to reallocate them elsewhere.  */
1164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1165c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /* The state stack.  */
1166c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    yytype_int16 yyssa[YYINITDEPTH];
1167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    yytype_int16 *yyss;
1168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    yytype_int16 *yyssp;
1169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    /* The semantic value stack.  */
1171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYSTYPE yyvsa[YYINITDEPTH];
1172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYSTYPE *yyvs;
1173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYSTYPE *yyvsp;
1174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
11752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    YYSIZE_T yystacksize;
11762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  int yyn;
11782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  int yyresult;
11792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Lookahead token as an internal (translated) token number.  */
1180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  int yytoken;
1181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* The variables used to return semantic value and location from the
11827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     action routines.  */
1183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  YYSTYPE yyval;
1184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if YYERROR_VERBOSE
11862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Buffer for error messages, and its allocated size.  */
1187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  char yymsgbuf[128];
1188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  char *yymsg = yymsgbuf;
11892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
11902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
11912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1193a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
1194a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  /* The number of symbols on the RHS of the reduced rule.
1195a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)     Keep to zero when no symbol should be popped.  */
1196a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  int yylen = 0;
1197a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
1198a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  yytoken = 0;
11992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyss = yyssa;
12002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyvs = yyvsa;
12012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yystacksize = YYINITDEPTH;
1202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  YYDPRINTF ((stderr, "Starting parse\n"));
1204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  yystate = 0;
12062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyerrstatus = 0;
12072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yynerrs = 0;
12082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yychar = YYEMPTY; /* Cause a token to be read.  */
1209b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
1210b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  /* Initialize stack pointers.
1211b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)     Waste one element of value and location stack
121290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     so that they stay on the same level as the state stack.
1213b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)     The wasted elements are never initialized.  */
1214b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  yyssp = yyss;
1215b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  yyvsp = yyvs;
1216b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
1217b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  goto yysetstate;
121890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1219b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/*------------------------------------------------------------.
1220b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)| yynewstate -- Push a new state, which is found in yystate.  |
12212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`------------------------------------------------------------*/
12222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) yynewstate:
12232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* In all cases, when you get here, the value and location stacks
12242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     have just been pushed.  So pushing a state here evens the stacks.  */
12252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyssp++;
12262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
12272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) yysetstate:
12282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  *yyssp = yystate;
12292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
12307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  if (yyss + yystacksize - 1 <= yyssp)
12312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
12322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      /* Get the current used size of the three stacks, in elements.  */
12332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      YYSIZE_T yysize = yyssp - yyss + 1;
12342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
12352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef yyoverflow
12362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      {
12372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	/* Give user a chance to reallocate the stack.  Use copies of
12382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	   these so that the &'s don't force the real ones into
1239c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	   memory.  */
1240c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	YYSTYPE *yyvs1 = yyvs;
1241c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yytype_int16 *yyss1 = yyss;
1242c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1243c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	/* Each stack pointer address is followed by the size of the
1244c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	   data in use in that stack, in bytes.  This used to be a
12457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	   conditional around just the two extra args, but that might
1246c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	   be undefined if yyoverflow is a macro.  */
1247c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yyoverflow (YY_("memory exhausted"),
12482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		    &yyss1, yysize * sizeof (*yyssp),
12492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		    &yyvs1, yysize * sizeof (*yyvsp),
1250c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)		    &yystacksize);
1251c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1252c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yyss = yyss1;
1253c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yyvs = yyvs1;
1254c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      }
1255c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else /* no yyoverflow */
1256c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# ifndef YYSTACK_RELOCATE
1257868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      goto yyexhaustedlab;
12582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# else
12592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      /* Extend the stack our own way.  */
12602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      if (YYMAXDEPTH <= yystacksize)
12612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	goto yyexhaustedlab;
1262c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      yystacksize *= 2;
1263c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      if (YYMAXDEPTH < yystacksize)
1264c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yystacksize = YYMAXDEPTH;
1265c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1266c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      {
1267c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	yytype_int16 *yyss1 = yyss;
12682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	union yyalloc *yyptr =
12692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1270eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch	if (! yyptr)
1271eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch	  goto yyexhaustedlab;
12722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	YYSTACK_RELOCATE (yyss_alloc, yyss);
12732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
12742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#  undef YYSTACK_RELOCATE
12752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	if (yyss1 != yyssa)
12762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	  YYSTACK_FREE (yyss1);
1277c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      }
1278c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# endif
1279c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif /* no yyoverflow */
1280c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1281c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      yyssp = yyss + yysize - 1;
1282c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      yyvsp = yyvs + yysize - 1;
1283c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1284c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1285c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)		  (unsigned long int) yystacksize));
1286c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1287c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      if (yyss + yystacksize - 1 <= yyssp)
1288c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	YYABORT;
1289c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }
1290c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1291c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1292c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1293c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (yystate == YYFINAL)
1294c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    YYACCEPT;
1295c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1296c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  goto yybackup;
1297c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1298c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/*-----------.
1299c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)| yybackup.  |
1300c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)`-----------*/
1301c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)yybackup:
1302c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1303c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* Do appropriate processing given the current state.  Read a
1304c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     lookahead token if we need one and don't already have one.  */
1305c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1306c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* First try to decide what to do without reference to lookahead token.  */
1307c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  yyn = yypact[yystate];
1308c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (yypact_value_is_default (yyn))
1309c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    goto yydefault;
1310c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1311c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* Not known => get a lookahead token if don't already have one.  */
1312c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1313c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1314c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (yychar == YYEMPTY)
1315868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    {
1316868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YYDPRINTF ((stderr, "Reading a token: "));
1317868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yychar = YYLEX;
1318868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }
1319868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1320868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (yychar <= YYEOF)
1321868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    {
1322868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yychar = yytoken = YYEOF;
1323868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YYDPRINTF ((stderr, "Now at end of input.\n"));
1324868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }
1325868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  else
1326868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    {
1327868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yytoken = YYTRANSLATE (yychar);
1328868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1329868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }
1330868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1331868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* If the proper action on seeing token YYTOKEN is to reduce or to
1332868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)     detect an error, take that action.  */
1333868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yyn += yytoken;
1334868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1335868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    goto yydefault;
1336868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yyn = yytable[yyn];
1337868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (yyn <= 0)
1338868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    {
1339868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      if (yytable_value_is_error (yyn))
1340868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)        goto yyerrlab;
1341868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yyn = -yyn;
1342868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      goto yyreduce;
1343868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    }
1344868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1345868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* Count tokens shifted since error; after three, turn off error
1346868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)     status.  */
1347868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (yyerrstatus)
1348868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    yyerrstatus--;
1349868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1350868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* Shift the lookahead token.  */
1351868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1352868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1353868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* Discard the shifted token.  */
1354868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yychar = YYEMPTY;
1355868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1356868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yystate = yyn;
13572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  *++yyvsp = yylval;
13582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1359c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  goto yynewstate;
1360c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
13612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*-----------------------------------------------------------.
13632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)| yydefault -- do the default action for the current state.  |
13642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`-----------------------------------------------------------*/
13652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yydefault:
13662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyn = yydefact[yystate];
13672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (yyn == 0)
13682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    goto yyerrlab;
13692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  goto yyreduce;
13702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*-----------------------------.
1373c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)| yyreduce -- Do a reduction.  |
13742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`-----------------------------*/
13752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)yyreduce:
13762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* yyn is the number of a rule to reduce with.  */
13772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yylen = yyr2[yyn];
13782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1379868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* If YYLEN is nonzero, implement the default value of the action:
13802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     `$$ = $1'.
1381c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1382c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     Otherwise, the following line sets YYVAL to garbage.
1383c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     This behavior is undocumented and Bison
1384868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)     users should not rely upon it.  Assigning to YYVAL
1385c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     unconditionally makes the parser a bit smaller, and it avoids a
1386c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)     GCC warning that YYVAL may be used uninitialized.  */
1387c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  yyval = yyvsp[1-yylen];
13882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YY_REDUCE_PRINT (yyn);
13912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  switch (yyn)
13922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
13932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        case 4:
13942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 1806 of yacc.c  */
13962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 44 "util/pmu.y"
13972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
139890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	ABORT_ON(perf_pmu__new_format(format, name,
13992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      PERF_PMU_FORMAT_VALUE_CONFIG,
14002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      (yyvsp[(3) - (3)].bits)));
14012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
14022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    break;
14032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  case 5:
14052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 1806 of yacc.c  */
14072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 51 "util/pmu.y"
14082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
14092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	ABORT_ON(perf_pmu__new_format(format, name,
14102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      PERF_PMU_FORMAT_VALUE_CONFIG1,
14112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      (yyvsp[(3) - (3)].bits)));
1412c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
1413c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    break;
1414c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1415c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  case 6:
1416c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1417c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Line 1806 of yacc.c  */
1418c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#line 58 "util/pmu.y"
1419c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
14202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	ABORT_ON(perf_pmu__new_format(format, name,
14212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      PERF_PMU_FORMAT_VALUE_CONFIG2,
14222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)				      (yyvsp[(3) - (3)].bits)));
1423868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
142490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    break;
142590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
142690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  case 7:
142790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
142890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/* Line 1806 of yacc.c  */
142990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#line 66 "util/pmu.y"
143090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    {
1431eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch	bitmap_or((yyval.bits), (yyvsp[(1) - (3)].bits), (yyvsp[(3) - (3)].bits), 64);
1432c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
1433c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    break;
143490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1435c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  case 8:
1436c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1437c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Line 1806 of yacc.c  */
1438c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#line 71 "util/pmu.y"
1439eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    {
1440eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch	memcpy((yyval.bits), (yyvsp[(1) - (1)].bits), sizeof((yyvsp[(1) - (1)].bits)));
14412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
14422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    break;
14432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  case 9:
14452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 1806 of yacc.c  */
14472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 77 "util/pmu.y"
14482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
14492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	perf_pmu__set_format((yyval.bits), (yyvsp[(1) - (3)].num), (yyvsp[(3) - (3)].num));
14502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
14512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    break;
14522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  case 10:
14542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 1806 of yacc.c  */
14562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 82 "util/pmu.y"
14572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
14582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	perf_pmu__set_format((yyval.bits), (yyvsp[(1) - (1)].num), 0);
14592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
14602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    break;
14612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 1806 of yacc.c  */
14652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 1466 "util/pmu-bison.c"
14662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      default: break;
14672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
1468c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  /* User semantic actions sometimes alter yychar, and that requires
14692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     that yytoken be updated with the new translation.  We take the
14707d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     approach of translating immediately before every use of yytoken.
14717d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     One alternative is translating here after every semantic action,
14722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     but that translation would be missed if the semantic action invokes
14732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
14742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
14757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     incorrect destructor might then be invoked immediately.  In the
14762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     case of YYERROR or YYBACKUP, subsequent parser actions might lead
14772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     to an incorrect destructor call or verbose syntax error message
147890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     before the lookahead is translated.  */
14792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
14802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYPOPSTACK (yylen);
14822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yylen = 0;
14832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YY_STACK_PRINT (yyss, yyssp);
14842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  *++yyvsp = yyval;
14862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Now `shift' the result of the reduction.  Determine what state
14882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     that goes to, based on the state we popped back to and the rule
14892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     number reduced by.  */
14902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
14912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yyn = yyr1[yyn];
1492a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
1493a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
1494a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
14957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    yystate = yytable[yystate];
1496a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)  else
14977d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    yystate = yydefgoto[yyn - YYNTOKENS];
14987d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
14997d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  goto yynewstate;
15007d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
15017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
15027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)/*------------------------------------.
15037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)| yyerrlab -- here on detecting error |
15047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)`------------------------------------*/
15057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)yyerrlab:
15067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* Make sure we have latest lookahead translation.  See comments at
15077d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)     user semantic actions for why this is necessary.  */
15087d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
15097d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
15107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  /* If not already recovering from an error, report this error.  */
151190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  if (!yyerrstatus)
151290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    {
1513868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      ++yynerrs;
1514868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if ! YYERROR_VERBOSE
1515868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yyerror (format, name, YY_("syntax error"));
1516868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#else
151790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
151890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                        yyssp, yytoken)
1519eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      {
1520eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        char const *yymsgp = YY_("syntax error");
1521eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        int yysyntax_error_status;
1522eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        yysyntax_error_status = YYSYNTAX_ERROR;
1523eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        if (yysyntax_error_status == 0)
1524eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          yymsgp = yymsg;
1525eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        else if (yysyntax_error_status == 1)
1526eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          {
152790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            if (yymsg != yymsgbuf)
152890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)              YYSTACK_FREE (yymsg);
152990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
153090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            if (!yymsg)
153190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)              {
153290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                yymsg = yymsgbuf;
1533868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                yymsg_alloc = sizeof yymsgbuf;
1534868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                yysyntax_error_status = 2;
1535868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)              }
1536868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)            else
153790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)              {
153890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                yysyntax_error_status = YYSYNTAX_ERROR;
153990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                yymsgp = yymsg;
154090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)              }
15412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          }
154290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        yyerror (format, name, yymsgp);
154390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        if (yysyntax_error_status == 2)
154490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)          goto yyexhaustedlab;
15457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      }
15467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# undef YYSYNTAX_ERROR
15477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif
15487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    }
154990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
15507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
15517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
15527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  if (yyerrstatus == 3)
15537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    {
15545e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)      /* If just tried and failed to reuse lookahead token after an
15555e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)	 error, discard it.  */
155690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
15577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      if (yychar <= YYEOF)
15587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	{
15597d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	  /* Return failure if at end of input.  */
15607d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	  if (yychar == YYEOF)
156190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	    YYABORT;
156290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)	}
15637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      else
15647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	{
15657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	  yydestruct ("Error: discarding",
15667dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch		      yytoken, &yylval, format, name);
15677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	  yychar = YYEMPTY;
15687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch	}
15697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    }
15707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
157190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  /* Else will try to reuse lookahead token after shifting the error
15722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     token.  */
1573868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  goto yyerrlab1;
1574868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1575868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1576868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/*---------------------------------------------------.
157790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)| yyerrorlab -- error raised explicitly by YYERROR.  |
157890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)`---------------------------------------------------*/
157990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)yyerrorlab:
158090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
158190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  /* Pacify compilers like GCC when the user code never invokes
158290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     YYERROR and the label yyerrorlab therefore never appears in user
158390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)     code.  */
1584868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (/*CONSTCOND*/ 0)
1585868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)     goto yyerrorlab;
1586868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
15872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Do not reclaim the symbols of the rule which action triggered
15882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     this YYERROR.  */
1589c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  YYPOPSTACK (yylen);
1590c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  yylen = 0;
1591c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  YY_STACK_PRINT (yyss, yyssp);
15927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  yystate = *yyssp;
15937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  goto yyerrlab1;
15947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
1595c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
15962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/*-------------------------------------------------------------.
15972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)| yyerrlab1 -- common code for both syntax error and YYERROR.  |
15982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)`-------------------------------------------------------------*/
1599c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)yyerrlab1:
1600c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
1601c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1602c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  for (;;)
1603c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
16047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      yyn = yypact[yystate];
1605a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)      if (!yypact_value_is_default (yyn))
1606a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)	{
1607a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)	  yyn += YYTERROR;
1608c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
16092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	    {
16102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	      yyn = yytable[yyn];
1611c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	      if (0 < yyn)
1612c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)		break;
1613868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	    }
1614868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	}
1615868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1616868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      /* Pop the current state because it cannot handle the error token.  */
1617868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      if (yyssp == yyss)
1618868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	YYABORT;
1619868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1620868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1621868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      yydestruct ("Error: popping",
16222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		  yystos[yystate], yyvsp, format, name);
16232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      YYPOPSTACK (1);
16242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      yystate = *yyssp;
16252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      YY_STACK_PRINT (yyss, yyssp);
1626c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }
16277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
1628868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  *++yyvsp = yylval;
1629868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1630868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1631868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* Shift the error token.  */
1632868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
1633868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
16342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  yystate = yyn;
16352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  goto yynewstate;
1636868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
163790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
163890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/*-------------------------------------.
163990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)| yyacceptlab -- YYACCEPT comes here.  |
164090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)`-------------------------------------*/
164190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)yyacceptlab:
164290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  yyresult = 0;
164390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  goto yyreturn;
164490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1645868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/*-----------------------------------.
1646868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)| yyabortlab -- YYABORT comes here.  |
1647868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)`-----------------------------------*/
1648868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)yyabortlab:
1649868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yyresult = 1;
1650868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  goto yyreturn;
1651868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
1652868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if !defined(yyoverflow) || YYERROR_VERBOSE
1653868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/*-------------------------------------------------.
1654868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)| yyexhaustedlab -- memory exhaustion comes here.  |
1655868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)`-------------------------------------------------*/
1656868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)yyexhaustedlab:
1657868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yyerror (format, name, YY_("memory exhausted"));
1658868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  yyresult = 2;
1659868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  /* Fall through.  */
1660868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif
166190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
166290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)yyreturn:
166390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  if (yychar != YYEMPTY)
1664c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
16652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      /* Make sure we have latest lookahead translation.  See comments at
16662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)         user semantic actions for why this is necessary.  */
16672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      yytoken = YYTRANSLATE (yychar);
16687d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      yydestruct ("Cleanup: discarding lookahead",
16692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  yytoken, &yylval, format, name);
16702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
16712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Do not reclaim the symbols of the rule which action triggered
16722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)     this YYABORT or YYACCEPT.  */
16732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YYPOPSTACK (yylen);
16742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  YY_STACK_PRINT (yyss, yyssp);
16752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  while (yyssp != yyss)
16762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    {
16772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      yydestruct ("Cleanup: popping",
16782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		  yystos[*yyssp], yyvsp, format, name);
16792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      YYPOPSTACK (1);
16802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
16812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef yyoverflow
1682868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  if (yyss != yyssa)
16832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    YYSTACK_FREE (yyss);
16842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
16852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if YYERROR_VERBOSE
16862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (yymsg != yymsgbuf)
16872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    YYSTACK_FREE (yymsg);
1688c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif
16892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /* Make sure YYID is used.  */
16902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return YYID (yyresult);
16912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
16922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
16932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
16942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
16952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Line 2067 of yacc.c  */
16962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#line 86 "util/pmu.y"
1697c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1698c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
1699c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void perf_pmu_error(struct list_head *list __maybe_unused,
17002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		    char *name __maybe_unused,
17012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)		    char const *msg __maybe_unused)
17022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
17032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
17042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
17052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)