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)