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