105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A Bison parser, made by GNU Bison 2.6.5.63-3ada. */ 2cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Bison implementation for Yacc-like parsers in C 405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 505436638acc7c010349a69c3395f1a57c642dc62Ying Wang Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 705436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is free software: you can redistribute it and/or modify 8cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project it under the terms of the GNU General Public License as published by 905436638acc7c010349a69c3395f1a57c642dc62Ying Wang the Free Software Foundation, either version 3 of the License, or 1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (at your option) any later version. 1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 12cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This program is distributed in the hope that it will be useful, 13cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project but WITHOUT ANY WARRANTY; without even the implied warranty of 14cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project GNU General Public License for more details. 1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 17cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project You should have received a copy of the GNU General Public License 1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 20cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* As a special exception, you may create a larger work that contains 21cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project part or all of the Bison parser skeleton and distribute that work 22cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project under terms of your choice, so long as that work isn't itself a 23cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project parser generator using the skeleton or a modified version thereof 24cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project as a parser skeleton. Alternatively, if you modify or redistribute 25cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project the parser skeleton itself, you may (at your option) remove this 26cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project special exception, which will cause the skeleton and the resulting 27cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Bison output files to be licensed under the GNU General Public 28cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project License without this special exception. 2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 30cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This special exception was added by the Free Software Foundation in 31cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project version 2.2 of Bison. */ 32cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 33cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* C LALR(1) parser skeleton written by Richard Stallman, by 34cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project simplifying the original so-called "semantic" parser. */ 35cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 36cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* All symbols defined below should begin with yy or YY, to avoid 37cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project infringing on user name space. This should be done even for local 38cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project variables, as they might otherwise be expanded by user macros. 39cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project There are some unavoidable exceptions within include files to 40cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project define necessary library symbols; they are noted "INFRINGES ON 41cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project USER NAME SPACE" below. */ 42cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 43cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Identify Bison output. */ 44cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYBISON 1 45cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 46cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Bison version. */ 4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYBISON_VERSION "2.6.5.63-3ada" 48cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 49cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Skeleton name. */ 50cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYSKELETON_NAME "yacc.c" 51cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 52cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Pure parsers. */ 53cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYPURE 1 54cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Push parsers. */ 5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYPUSH 0 57cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Pull parsers. */ 5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYPULL 1 60cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Substitute the type names. */ 6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYSTYPE GRAM_STYPE 6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYLTYPE GRAM_LTYPE 6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Substitute the variable and function names. */ 6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyparse gram_parse 6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yylex gram_lex 6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyerror gram_error 6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yylval gram_lval 6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yychar gram_char 7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yydebug gram_debug 7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yynerrs gram_nerrs 7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yylloc gram_lloc 73cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 74cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Copy the first part of user declarations. */ 7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 360 of yacc.c */ 76cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#line 1 "parse-gram.y" 77cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Bison Grammar Parser -*- C -*- 78cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang Copyright (C) 2002-2012 Free Software Foundation, Inc. 80cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 81cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This file is part of Bison, the GNU Compiler Compiler. 82cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is free software: you can redistribute it and/or modify 84cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project it under the terms of the GNU General Public License as published by 8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang the Free Software Foundation, either version 3 of the License, or 86cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project (at your option) any later version. 87cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 88cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This program is distributed in the hope that it will be useful, 89cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project but WITHOUT ANY WARRANTY; without even the implied warranty of 90cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 91cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project GNU General Public License for more details. 92cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 93cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project You should have received a copy of the GNU General Public License 9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang along with this program. If not, see <http://www.gnu.org/licenses/>. */ 95cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 96cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <config.h> 97cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "system.h" 98cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "c-ctype.h" 100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "complain.h" 101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "conflicts.h" 102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "files.h" 103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "getargs.h" 104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "gram.h" 10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "muscle-tab.h" 10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "named-ref.h" 107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "quotearg.h" 108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "reader.h" 109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "symlist.h" 11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "scan-gram.h" 11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "scan-code.h" 11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "xmemdup0.h" 113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYLLOC_DEFAULT(Current, Rhs, N) (Current) = lloc_default (Rhs, N) 115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YYLTYPE lloc_default (YYLTYPE const *, int); 116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_LOCATION_PRINT(File, Loc) \ 118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project location_print (File, Loc) 119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void version_check (location const *loc, char const *version); 121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Request detailed syntax error messages, and pass them to GRAM_ERROR. 123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project FIXME: depends on the undocumented availability of YYLLOC. */ 124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#undef yyerror 125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyerror(Msg) \ 126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project gram_error (&yylloc, Msg) 127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void gram_error (location const *, char const *); 128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 12905436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic char const *char_name (char); 13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/** Add a lex-param or a parse-param. 13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang * 13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang * \param type \a lex_param or \a parse_param 13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang * \param decl the formal argument 13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang * \param loc the location in the source. 13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 13705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void add_param (char const *type, char *decl, location loc); 13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic symbol_class current_class = unknown_sym; 14105436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic uniqstr current_type = NULL; 14205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic symbol *current_lhs_symbol; 143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic location current_lhs_location; 14405436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic named_ref *current_lhs_named_ref; 145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int current_prec = 0; 146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/** Set the new current left-hand side symbol, possibly common 14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang * to several right-hand side parts of rule. 14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 15005436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic 15105436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid 15205436638acc7c010349a69c3395f1a57c642dc62Ying Wangcurrent_lhs(symbol *sym, location loc, named_ref *ref) 15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang current_lhs_symbol = sym; 15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang current_lhs_location = loc; 15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* In order to simplify memory management, named references for lhs 15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang are always assigned by deep copy into the current symbol_list 15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang node. This is because a single named-ref in the grammar may 15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang result in several uses when the user factors lhs between several 16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang rules using "|". Therefore free the parser's original copy. */ 16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang free (current_lhs_named_ref); 16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang current_lhs_named_ref = ref; 16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYTYPE_INT16 int_fast16_t 16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYTYPE_INT8 int_fast8_t 16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYTYPE_UINT16 uint_fast16_t 16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYTYPE_UINT8 uint_fast8_t 17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 360 of yacc.c */ 17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 173 "parse-gram.c" 17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef YY_NULL 17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus && 201103L <= __cplusplus 17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_NULL nullptr 17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_NULL 0 17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Enabling verbose error messages. */ 183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYERROR_VERBOSE 184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# undef YYERROR_VERBOSE 185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYERROR_VERBOSE 1 186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYERROR_VERBOSE 1 188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* In a future release of Bison, this section will be replaced 19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang by #include "parse-gram.h". */ 19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef YY_GRAM_Y_TAB_H_INCLUDED 19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_GRAM_Y_TAB_H_INCLUDED 19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Enabling traces. */ 19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef GRAM_DEBUG 19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined YYDEBUG 19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if YYDEBUG 19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_DEBUG 1 19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_DEBUG 0 20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* ! defined YYDEBUG */ 20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_DEBUG 1 20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif /* ! defined YYDEBUG */ 20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* ! defined GRAM_DEBUG */ 20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 20705436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern int gram_debug; 208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Tokens. */ 21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef GRAM_TOKENTYPE 21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_TOKENTYPE 21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Put the tokens into the symbol table, so that GDB and other debuggers 21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang know about them. */ 21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang enum gram_tokentype { 21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang GRAM_EOF = 0, 21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang STRING = 258, 21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang INT = 259, 21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_TOKEN = 260, 22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NTERM = 261, 22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_TYPE = 262, 22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DESTRUCTOR = 263, 22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_PRINTER = 264, 22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_LEFT = 265, 22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_RIGHT = 266, 22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NONASSOC = 267, 22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_PREC = 268, 22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DPREC = 269, 22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_MERGE = 270, 23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_CODE = 271, 23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DEBUG = 272, 23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DEFAULT_PREC = 273, 23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DEFINE = 274, 23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_DEFINES = 275, 23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_ERROR_VERBOSE = 276, 23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_EXPECT = 277, 23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_EXPECT_RR = 278, 23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_FILE_PREFIX = 279, 23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_GLR_PARSER = 280, 24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_INITIAL_ACTION = 281, 24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_LANGUAGE = 282, 24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_LEX_PARAM = 283, 24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_LOCATIONS = 284, 24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NAME_PREFIX = 285, 24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NO_DEFAULT_PREC = 286, 24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NO_LINES = 287, 24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_NONDETERMINISTIC_PARSER = 288, 24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_OUTPUT = 289, 24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_PARSE_PARAM = 290, 25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_PURE_PARSER = 291, 25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_REQUIRE = 292, 25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_SKELETON = 293, 25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_START = 294, 25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_TOKEN_TABLE = 295, 25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_VERBOSE = 296, 25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_YACC = 297, 25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang BRACED_CODE = 298, 25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang BRACKETED_ID = 299, 25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang CHAR = 300, 26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang EPILOGUE = 301, 26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang EQUAL = 302, 26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang ID = 303, 26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang ID_COLON = 304, 26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_PERCENT = 305, 26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang PIPE = 306, 26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang PROLOGUE = 307, 26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang SEMICOLON = 308, 26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang TYPE = 309, 26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang TYPE_TAG_ANY = 310, 27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang TYPE_TAG_NONE = 311, 27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang PERCENT_UNION = 312 27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang }; 27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Tokens. */ 27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define GRAM_EOF 0 27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define STRING 258 27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define INT 259 27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_TOKEN 260 27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NTERM 261 28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_TYPE 262 28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DESTRUCTOR 263 28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_PRINTER 264 28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_LEFT 265 28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_RIGHT 266 28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NONASSOC 267 28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_PREC 268 28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DPREC 269 28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_MERGE 270 28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_CODE 271 29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DEBUG 272 29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DEFAULT_PREC 273 29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DEFINE 274 29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_DEFINES 275 29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_ERROR_VERBOSE 276 29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_EXPECT 277 29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_EXPECT_RR 278 29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_FILE_PREFIX 279 29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_GLR_PARSER 280 29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_INITIAL_ACTION 281 30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_LANGUAGE 282 30105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_LEX_PARAM 283 30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_LOCATIONS 284 30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NAME_PREFIX 285 30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NO_DEFAULT_PREC 286 30505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NO_LINES 287 30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_NONDETERMINISTIC_PARSER 288 30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_OUTPUT 289 30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_PARSE_PARAM 290 30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_PURE_PARSER 291 31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_REQUIRE 292 31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_SKELETON 293 31205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_START 294 31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_TOKEN_TABLE 295 31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_VERBOSE 296 31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_YACC 297 31605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define BRACED_CODE 298 31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define BRACKETED_ID 299 31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define CHAR 300 31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define EPILOGUE 301 32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define EQUAL 302 32105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define ID 303 32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define ID_COLON 304 32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_PERCENT 305 32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PIPE 306 32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PROLOGUE 307 32605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define SEMICOLON 308 32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define TYPE 309 32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define TYPE_TAG_ANY 310 32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define TYPE_TAG_NONE 311 33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define PERCENT_UNION 312 33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined GRAM_STYPE && ! defined GRAM_STYPE_IS_DECLARED 33505436638acc7c010349a69c3395f1a57c642dc62Ying Wangtypedef union GRAM_STYPE 336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 33705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 376 of yacc.c */ 33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 115 "parse-gram.y" 33905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol *symbol; 341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_list *list; 342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int integer; 34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *chars; 34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang char *code; 345cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project assoc assoc; 346cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project uniqstr uniqstr; 34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang unsigned char character; 34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang named_ref *named_ref; 34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 376 of yacc.c */ 35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 353 "parse-gram.c" 35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} GRAM_STYPE; 35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_STYPE_IS_TRIVIAL 1 35505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gram_stype GRAM_STYPE /* obsolescent; will be withdrawn */ 35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_STYPE_IS_DECLARED 1 357cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 358cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 35905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined GRAM_LTYPE && ! defined GRAM_LTYPE_IS_DECLARED 36005436638acc7c010349a69c3395f1a57c642dc62Ying Wangtypedef struct GRAM_LTYPE 361cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 362cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int first_line; 363cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int first_column; 364cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int last_line; 365cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int last_column; 36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang} GRAM_LTYPE; 36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gram_ltype GRAM_LTYPE /* obsolescent; will be withdrawn */ 36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_LTYPE_IS_DECLARED 1 36905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GRAM_LTYPE_IS_TRIVIAL 1 370cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 371cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 372cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef YYPARSE_PARAM 37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __STDC__ || defined __cplusplus 37505436638acc7c010349a69c3395f1a57c642dc62Ying Wangint gram_parse (void *YYPARSE_PARAM); 37605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 37705436638acc7c010349a69c3395f1a57c642dc62Ying Wangint gram_parse (); 37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else /* ! YYPARSE_PARAM */ 38005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __STDC__ || defined __cplusplus 38105436638acc7c010349a69c3395f1a57c642dc62Ying Wangint gram_parse (void); 38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 38305436638acc7c010349a69c3395f1a57c642dc62Ying Wangint gram_parse (); 38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 38505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* ! YYPARSE_PARAM */ 386cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* !YY_GRAM_Y_TAB_H_INCLUDED */ 38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Copy the second part of user declarations. */ 390cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 379 of yacc.c */ 39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 393 "parse-gram.c" 393cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 394cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef short 395cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# undef short 396cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 397cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 398cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYTYPE_UINT8 399cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef YYTYPE_UINT8 yytype_uint8; 400cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 401cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned char yytype_uint8; 402cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 403cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 404cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYTYPE_INT8 405cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef YYTYPE_INT8 yytype_int8; 406cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#elif (defined __STDC__ || defined __C99__FUNC__ \ 407cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 408cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef signed char yytype_int8; 409cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 410cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef short int yytype_int8; 411cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 412cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 413cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYTYPE_UINT16 414cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef YYTYPE_UINT16 yytype_uint16; 415cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 416cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned short int yytype_uint16; 417cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 418cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 419cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYTYPE_INT16 420cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef YYTYPE_INT16 yytype_int16; 421cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 422cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef short int yytype_int16; 423cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 424cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 425cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YYSIZE_T 426cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifdef __SIZE_TYPE__ 427cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSIZE_T __SIZE_TYPE__ 428cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# elif defined size_t 429cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSIZE_T size_t 430cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 431cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 432cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 433cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSIZE_T size_t 434cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 435cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSIZE_T unsigned int 436cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 437cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 438cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 439cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 440cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 441cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_ 44205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined YYENABLE_NLS && YYENABLE_NLS 443cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# if ENABLE_NLS 444cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 44505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 446cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 447cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 448cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YY_ 44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_(Msgid) Msgid 450cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 451cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 452cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 453cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Suppress unused-variable warnings by "using" E. */ 454cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if ! defined lint || defined __GNUC__ 45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYUSE(E) ((void) (E)) 456cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYUSE(E) /* empty */ 458cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 459cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 460cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Identity function, used to suppress warnings about constant conditions. */ 461cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef lint 46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYID(N) (N) 463cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 464cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 465cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 466cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int 46705436638acc7c010349a69c3395f1a57c642dc62Ying WangYYID (int yyi) 468cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 469cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int 47005436638acc7c010349a69c3395f1a57c642dc62Ying WangYYID (yyi) 47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyi; 472cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 473cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang return yyi; 475cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 476cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 477cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 479cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 480cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The parser invokes alloca or malloc; define the necessary symbols. */ 481cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 482cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifdef YYSTACK_ALLOC 483cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Pacify GCC's `empty if-body' warning. */ 484cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 485cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYSTACK_ALLOC_MAXIMUM 486cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* The OS might guarantee only one guard page at the bottom of the stack, 487cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project and a page size can be as small as 4096 bytes. So we cannot safely 488cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 489cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project to allow for a few compiler-allocated temporary stack slots. */ 490cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 491cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 492cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 493cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_ALLOC YYMALLOC 494cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_FREE YYFREE 495cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYSTACK_ALLOC_MAXIMUM 496cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 497cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 499cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project && ! ((defined YYMALLOC || defined malloc) \ 500cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project && (defined YYFREE || defined free))) 501cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EXIT_SUCCESS 50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define EXIT_SUCCESS 0 504cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 505cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 506cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYMALLOC 507cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYMALLOC malloc 50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 509cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 510cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 511cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 512cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 513cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYFREE 514cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYFREE free 51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 516cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 517cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 518cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 519cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 520cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYCOPY_NEEDED 1 52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 523cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 524cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 525cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (! defined yyoverflow \ 526cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project && (! defined __cplusplus \ 52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang || (defined GRAM_LTYPE_IS_TRIVIAL && GRAM_LTYPE_IS_TRIVIAL \ 52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang && defined GRAM_STYPE_IS_TRIVIAL && GRAM_STYPE_IS_TRIVIAL))) 529cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 530cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* A type that is properly aligned for any stack member. */ 531cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectunion yyalloc 532cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 yyss_alloc; 53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTYPE yyvs_alloc; 53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLTYPE yyls_alloc; 536cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 537cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 538cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The size of the maximum gap between one aligned stack and the next. */ 539cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 540cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 541cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The size of an array large to enough to hold all stacks, each with 542cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project N elements. */ 543cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYSTACK_BYTES(N) \ 544cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 545cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project + 2 * YYSTACK_GAP_MAXIMUM) 546cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYCOPY_NEEDED 1 548cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 549cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Relocate STACK from its old location to the new one. The 550cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project local variables YYSIZE and YYSTACKSIZE give the old and new number of 551cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project elements in the stack, and YYPTR gives the new location of the 552cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project stack. Advance YYPTR to a properly aligned location for the next 553cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project stack. */ 55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 555cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project do \ 556cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { \ 557cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSIZE_T yynewbytes; \ 55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang Stack = &yyptr->Stack_alloc; \ 560cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 561cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyptr += yynewbytes / sizeof (*yyptr); \ 562cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } \ 563cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project while (YYID (0)) 564cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 565cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 566cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Copy COUNT objects from SRC to DST. The source and destination do 56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang not overlap. */ 57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef YYCOPY 57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __GNUC__ && 1 < __GNUC__ 57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYCOPY(Dst, Src, Count) \ 57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYCOPY(Dst, Src, Count) \ 57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang do \ 57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yyi; \ 57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang for (yyi = 0; yyi < (Count); yyi++) \ 58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Dst)[yyi] = (Src)[yyi]; \ 58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (YYID (0)) 58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* !YYCOPY_NEEDED */ 58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYFINAL -- State number of the termination state. */ 588cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYFINAL 3 589cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYLAST -- Last index in YYTABLE. */ 59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYLAST 160 591cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYNTOKENS -- Number of terminals. */ 59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYNTOKENS 58 594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYNNTS -- Number of nonterminals. */ 59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYNNTS 34 596cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYNRULES -- Number of rules. */ 59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYNRULES 108 598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYNRULES -- Number of states. */ 59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYNSTATES 148 600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 601cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 602cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYUNDEFTOK 2 60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYMAXUTOK 312 604cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYTRANSLATE(YYX) \ 606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 607cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 608cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 609cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint8 yytranslate[] = 610cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 611cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 613cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 614cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 615cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 616cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 619cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 620cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 621cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 622cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 625cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 626cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 627cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 628cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 629cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 630cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 631cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 632cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 633cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 634cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 635cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 636cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 637cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 638cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 639cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 640cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 55, 56, 57 643cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 644cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 646cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 647cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYRHS. */ 64805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_uint16 yyprhs[] = 649cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 0, 3, 8, 9, 12, 14, 16, 18, 22, 65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 24, 27, 29, 32, 35, 38, 42, 44, 47, 50, 65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53, 55, 58, 62, 64, 66, 69, 73, 76, 78, 65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 81, 84, 86, 88, 90, 92, 94, 96, 99, 103, 65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 107, 109, 111, 114, 118, 119, 121, 125, 126, 130, 65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 131, 135, 139, 143, 145, 147, 149, 150, 152, 154, 65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 157, 159, 162, 164, 167, 169, 172, 174, 176, 178, 65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 180, 182, 184, 187, 190, 194, 196, 199, 201, 204, 65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 206, 209, 212, 213, 218, 220, 224, 227, 228, 232, 65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 236, 240, 244, 248, 249, 251, 253, 255, 256, 258, 66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 260, 262, 264, 266, 268, 270, 272, 274, 275 661cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 662cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 663cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 664cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_int8 yyrhs[] = 665cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 59, 0, -1, 60, 50, 77, 91, -1, -1, 60, 66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61, -1, 62, -1, 52, -1, 17, -1, 19, 84, 66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 85, -1, 20, -1, 20, 3, -1, 21, -1, 22, 66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, -1, 23, 4, -1, 24, 3, -1, 24, 47, 67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, -1, 25, -1, 26, 43, -1, 27, 3, -1, 67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 28, 43, -1, 29, -1, 30, 3, -1, 30, 47, 67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, -1, 32, -1, 33, -1, 34, 3, -1, 34, 67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 47, 3, -1, 35, 43, -1, 36, -1, 37, 3, 67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 38, 3, -1, 40, -1, 41, -1, 42, -1, 67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53, -1, 67, -1, 64, -1, 39, 89, -1, 8, 67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 43, 73, -1, 9, 43, 73, -1, 18, -1, 31, 67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 16, 86, -1, 16, 48, 86, -1, -1, 48, 67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 57, 63, 86, -1, -1, 6, 65, 76, -1, 67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 5, 66, 76, -1, 7, 54, 72, -1, 68, 68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69, 70, -1, 10, -1, 11, -1, 12, -1, -1, 68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54, -1, 71, -1, 70, 71, -1, 89, -1, 89, 68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, -1, 89, -1, 72, 89, -1, 74, -1, 73, 68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 74, -1, 89, -1, 54, -1, 55, -1, 56, -1, 68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54, -1, 87, -1, 87, 4, -1, 87, 90, -1, 68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 87, 4, 90, -1, 75, -1, 76, 75, -1, 78, 68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 77, 78, -1, 79, -1, 62, 53, -1, 1, 68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53, -1, -1, 88, 83, 80, 81, -1, 82, -1, 68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 81, 51, 82, -1, 81, 53, -1, -1, 82, 89, 68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 83, -1, 82, 43, 83, -1, 82, 13, 89, -1, 69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 82, 14, 4, -1, 82, 15, 54, -1, -1, 44, 69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 48, -1, 3, -1, -1, 48, -1, 3, -1, 69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 43, -1, 48, -1, 45, -1, 49, -1, 87, -1, 69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 90, -1, 3, -1, -1, 50, 46, -1 694cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 695cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 696cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 697cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint16 yyrline[] = 698cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 230, 230, 238, 240, 244, 245, 255, 256, 261, 70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 262, 267, 268, 269, 270, 271, 272, 277, 286, 287, 70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 288, 289, 290, 291, 292, 293, 294, 295, 296, 311, 70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 312, 336, 337, 338, 339, 343, 344, 345, 349, 361, 70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 373, 377, 381, 388, 403, 404, 408, 420, 420, 425, 70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 425, 430, 441, 456, 457, 458, 462, 463, 468, 470, 70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 475, 476, 481, 483, 488, 489, 493, 494, 495, 496, 70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 501, 506, 511, 517, 523, 534, 535, 544, 545, 551, 70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 552, 553, 560, 560, 568, 569, 570, 575, 577, 579, 70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 581, 583, 585, 590, 592, 603, 604, 609, 610, 611, 70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 620, 640, 642, 651, 656, 657, 662, 669, 671 710cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 711cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 712cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG || YYERROR_VERBOSE || 1 714cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 715cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 716cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const char *const yytname[] = 717cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 718cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "\"end of file\"", "error", "$undefined", "\"string\"", "\"integer\"", 71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"", 72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%printer\"", "\"%left\"", "\"%right\"", "\"%nonassoc\"", "\"%prec\"", 72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%dprec\"", "\"%merge\"", "\"%code\"", "\"%debug\"", 722cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "\"%default-prec\"", "\"%define\"", "\"%defines\"", "\"%error-verbose\"", 723cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "\"%expect\"", "\"%expect-rr\"", "\"%file-prefix\"", "\"%glr-parser\"", 72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%initial-action\"", "\"%language\"", "\"%lex-param\"", 72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%locations\"", "\"%name-prefix\"", "\"%no-default-prec\"", 72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%no-lines\"", "\"%nondeterministic-parser\"", "\"%output\"", 72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%parse-param\"", "\"%pure-parser\"", "\"%require\"", "\"%skeleton\"", 72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"%start\"", "\"%token-table\"", "\"%verbose\"", "\"%yacc\"", 72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"{...}\"", "\"[identifier]\"", "\"char\"", "\"epilogue\"", "\"=\"", 73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\"identifier\"", "\"identifier:\"", "\"%%\"", "\"|\"", "\"%{...%}\"", 73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "\";\"", "\"type\"", "\"<*>\"", "\"<>\"", "\"%union\"", "$accept", 73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "input", "prologue_declarations", "prologue_declaration", 73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "grammar_declaration", "union_name", "symbol_declaration", "$@1", "$@2", 73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "precedence_declaration", "precedence_declarator", "type.opt", 73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "symbols.prec", "symbol.prec", "symbols.1", "generic_symlist", 73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "generic_symlist_item", "symbol_def", "symbol_defs.1", "grammar", 73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "rules_or_grammar_declaration", "rules", "$@3", "rhses.1", "rhs", 73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "named_ref.opt", "variable", "content.opt", "braceless", "id", 73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "id_colon", "symbol", "string_as_id", "epilogue.opt", YY_NULL 740cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 741cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 742cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 743cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifdef YYPRINT 744cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 745cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project token YYLEX-NUM. */ 746cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint16 yytoknum[] = 747cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 748cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 749cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 750cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 751cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 752cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 305, 306, 307, 308, 309, 310, 311, 312 754cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 755cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 756cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 757cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 758cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint8 yyr1[] = 759cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 58, 59, 60, 60, 61, 61, 61, 61, 61, 76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 76305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 62, 62, 62, 62, 63, 63, 62, 65, 64, 66, 76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 64, 64, 67, 68, 68, 68, 69, 69, 70, 70, 76605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 71, 71, 72, 72, 73, 73, 74, 74, 74, 74, 76705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 75, 75, 75, 75, 75, 76, 76, 77, 77, 78, 76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 78, 78, 80, 79, 81, 81, 81, 82, 82, 82, 76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 82, 82, 82, 83, 83, 84, 84, 85, 85, 85, 77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 86, 87, 87, 88, 89, 89, 90, 91, 91 771cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 772cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 773cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint8 yyr2[] = 775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 77605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 2, 4, 0, 2, 1, 1, 1, 3, 1, 77705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2, 1, 2, 2, 2, 3, 1, 2, 2, 2, 77805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 2, 3, 1, 1, 2, 3, 2, 1, 2, 77905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2, 1, 1, 1, 1, 1, 1, 2, 3, 3, 78005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 1, 2, 3, 0, 1, 3, 0, 3, 0, 78105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, 3, 3, 1, 1, 1, 0, 1, 1, 2, 78205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 78305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 1, 2, 2, 3, 1, 2, 1, 2, 1, 78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2, 2, 0, 4, 1, 3, 2, 0, 3, 3, 78505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, 3, 3, 0, 1, 1, 1, 0, 1, 1, 78605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 1, 1, 1, 1, 1, 1, 0, 2 787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 788cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 78905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 79005436638acc7c010349a69c3395f1a57c642dc62Ying Wang Performed when YYTABLE doesn't specify something else to do. Zero 791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project means the default is an error. */ 792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint8 yydefact[] = 793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 79405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, 0, 0, 1, 49, 47, 0, 0, 0, 53, 79505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54, 55, 0, 7, 40, 0, 9, 11, 0, 0, 79605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 16, 0, 0, 0, 20, 0, 41, 23, 24, 79705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 0, 28, 0, 0, 0, 31, 32, 33, 0, 79805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6, 34, 44, 4, 5, 36, 35, 56, 0, 0, 79905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 0, 0, 100, 0, 42, 96, 95, 97, 10, 80005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 12, 13, 14, 0, 17, 18, 19, 21, 0, 25, 80105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 27, 29, 30, 106, 102, 101, 104, 37, 105, 80205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 103, 0, 0, 77, 79, 93, 45, 0, 57, 80305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 70, 75, 50, 71, 48, 51, 62, 67, 68, 80405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69, 38, 64, 66, 39, 43, 99, 98, 8, 15, 80505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 22, 26, 81, 80, 0, 78, 2, 94, 82, 46, 80605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 52, 58, 60, 76, 72, 73, 63, 65, 108, 87, 80705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 59, 61, 74, 83, 84, 87, 86, 0, 0, 0, 80805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 93, 93, 85, 90, 91, 92, 89, 88 809cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYDEFGOTO[NTERM-NUM]. */ 81205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_int16 yydefgoto[] = 813cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 81405436638acc7c010349a69c3395f1a57c642dc62Ying Wang -1, 1, 2, 43, 82, 88, 45, 49, 48, 46, 81505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 47, 90, 120, 121, 96, 101, 102, 92, 93, 83, 81605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 84, 85, 129, 133, 134, 118, 58, 108, 55, 77, 81705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 86, 103, 79, 116 818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project STATE-NUM. */ 82205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYPACT_NINF -91 82305436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_int16 yypact[] = 824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 82505436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, 3, 103, -91, -91, -91, -36, 2, 10, -91, 82605436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, 9, -91, -91, 32, 60, -91, 65, 67, 82705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 27, -91, 41, 73, 51, -91, 39, -91, -91, -91, 82805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 40, 52, -91, 93, 95, 33, -91, -91, -91, 15, 82905436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, 53, -91, -91, -91, -91, 46, 43, 43, 83005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33, 11, 11, -91, 61, -91, -91, -91, 35, -91, 83105436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, -91, 100, -91, -91, -91, -91, 102, -91, 83205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 113, -91, -91, -91, -91, -91, -91, -91, -91, -91, 83305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 64, -91, 94, 1, -91, -91, 62, -91, 61, -91, 83405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33, -91, -91, 43, 86, 43, 33, -91, -91, -91, 83505436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, 11, -91, -91, 11, -91, -91, -91, -91, -91, 83605436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, -91, -91, 72, -91, -91, -91, -91, -91, 83705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33, -91, 142, -91, 145, -91, -91, -91, -91, -91, 83805436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, -91, 17, 34, -91, -91, 33, 146, 97, 83905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 62, 62, 34, -91, -91, -91, -91, -91 840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYPGOTO[NTERM-NUM]. */ 84305436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_int16 yypgoto[] = 844cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, -91, -91, 147, -91, -91, -91, -91, -91, 84605436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -91, -91, 37, -91, 106, -60, -33, 105, -91, 84705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69, -91, -91, -91, 24, -48, -91, -91, -49, -20, 84805436638acc7c010349a69c3395f1a57c642dc62Ying Wang -91, -35, -90, -91 849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project positive, shift that token. If negative, reduce the rule which 85305436638acc7c010349a69c3395f1a57c642dc62Ying Wang number is the opposite. If YYTABLE_NINF, syntax error. */ 85405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYTABLE_NINF -108 85505436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_int16 yytable[] = 856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 85705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 78, -107, 80, 3, 125, 105, 4, 5, 6, 7, 85805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 8, 9, 10, 11, 74, 97, 80, 12, 50, 14, 85905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, 5, 6, 7, 8, 9, 10, 11, 94, 94, 86005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 62, 12, 27, 14, 132, 56, 74, 74, 106, 119, 86105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 35, 127, 67, 69, 127, 51, 27, 137, 138, 139, 86205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 81, 114, 53, 52, 35, 122, 75, 54, 42, 76, 86305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 123, 126, 123, 59, 81, 98, 99, 100, 135, 60, 86405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 136, 61, 42, 94, 63, 94, 65, 140, 75, 75, 86505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 57, 76, 76, 107, 64, 122, 68, 70, 75, 74, 86605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 124, 76, 146, 147, 66, 71, 72, 91, 73, 141, 86705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 89, 87, 143, 109, 53, 110, 117, 141, 4, 5, 86805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6, 7, 8, 9, 10, 11, 111, 112, 128, 12, 86905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 87005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 87105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33, 34, 35, 36, 37, 38, 131, 113, 74, 44, 87205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 144, 145, 115, 39, 95, 40, 41, 130, 104, 142, 87305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 42 874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 87605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yypact_value_is_default(Yystate) \ 87705436638acc7c010349a69c3395f1a57c642dc62Ying Wang (!!((Yystate) == (-91))) 87805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 87905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yytable_value_is_error(Yytable_value) \ 88005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYID (0) 88105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 88205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic const yytype_uint8 yycheck[] = 883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 88405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 35, 0, 1, 0, 94, 54, 5, 6, 7, 8, 88505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 9, 10, 11, 12, 3, 50, 1, 16, 54, 18, 88605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 88705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, 16, 31, 18, 124, 3, 3, 3, 3, 88, 88805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 39, 101, 3, 3, 104, 43, 31, 13, 14, 15, 88905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 49, 50, 43, 43, 39, 90, 45, 48, 57, 48, 89005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 93, 96, 95, 3, 49, 54, 55, 56, 51, 4, 89105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53, 4, 57, 93, 47, 95, 3, 43, 45, 45, 89205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 48, 48, 48, 48, 43, 120, 47, 47, 45, 3, 89305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, 48, 140, 141, 43, 43, 3, 54, 3, 134, 89405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54, 48, 137, 3, 43, 3, 44, 142, 5, 6, 89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 7, 8, 9, 10, 11, 12, 3, 53, 46, 16, 89605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 89705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 89805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 37, 38, 39, 40, 41, 42, 4, 53, 3, 2, 89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, 54, 83, 50, 49, 52, 53, 120, 52, 135, 90005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 57 901cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 902cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 903cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 904cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol of state STATE-NUM. */ 905cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic const yytype_uint8 yystos[] = 906cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 0, 59, 60, 0, 5, 6, 7, 8, 9, 10, 90805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 11, 12, 16, 17, 18, 19, 20, 21, 22, 23, 909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 34, 35, 36, 37, 38, 39, 40, 41, 42, 50, 91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 52, 53, 57, 61, 62, 64, 67, 68, 66, 65, 91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54, 43, 43, 43, 48, 86, 3, 48, 84, 3, 91305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4, 4, 3, 47, 43, 3, 43, 3, 47, 3, 91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 47, 43, 3, 3, 3, 45, 48, 87, 89, 90, 91505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1, 49, 62, 77, 78, 79, 88, 48, 63, 54, 91605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69, 54, 75, 76, 87, 76, 72, 89, 54, 55, 91705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 56, 73, 74, 89, 73, 86, 3, 48, 85, 3, 91805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3, 3, 53, 53, 50, 78, 91, 44, 83, 86, 91905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 70, 71, 89, 75, 4, 90, 89, 74, 46, 80, 92005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 71, 4, 90, 81, 82, 51, 53, 13, 14, 15, 92105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 43, 89, 82, 89, 4, 54, 83, 83 922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}; 923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyerrok (yyerrstatus = 0) 925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyclearin (yychar = YYEMPTY) 926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYEMPTY (-2) 927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYEOF 0 928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYACCEPT goto yyacceptlab 930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYABORT goto yyabortlab 931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYERROR goto yyerrorlab 932cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 933cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 934cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Like YYERROR except do call yyerror. This remains here temporarily 935cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project to ease the transition to the new meaning of YYERROR, for GCC. 93605436638acc7c010349a69c3395f1a57c642dc62Ying Wang Once GCC version 2 has supplanted version 1, this can go. However, 93705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFAIL appears to be in use. Nevertheless, it is formally deprecated 93805436638acc7c010349a69c3395f1a57c642dc62Ying Wang in Bison 2.4.2's NEWS entry, where a plan to phase it out is 93905436638acc7c010349a69c3395f1a57c642dc62Ying Wang discussed. */ 940cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 941cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYFAIL goto yyerrlab 94205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined YYFAIL 94305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* This is here to suppress warnings from the GCC cpp's 94405436638acc7c010349a69c3395f1a57c642dc62Ying Wang -Wunused-macros. Normally we don't worry about that warning, but 94505436638acc7c010349a69c3395f1a57c642dc62Ying Wang some users do, and we want to make it easy for users to remove 94605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFAIL uses, which will produce warnings from Bison 2.5. */ 94705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 948cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 949cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYRECOVERING() (!!yyerrstatus) 950cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 95105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYBACKUP(Token, Value) \ 95205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdo \ 95305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yychar == YYEMPTY) \ 95405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 95505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yychar = (Token); \ 95605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yylval = (Value); \ 95705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYPOPSTACK (yylen); \ 95805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yystate = *yyssp; \ 95905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_DISCARD ("YYBACKUP"); \ 96005436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yybackup; \ 96105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 96205436638acc7c010349a69c3395f1a57c642dc62Ying Wang else \ 96305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 964cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerror (YY_("syntax error: cannot back up")); \ 965cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYERROR; \ 966cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } \ 967cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectwhile (YYID (0)) 968cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 96905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Error token number */ 970cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYTERROR 1 971cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYERRCODE 256 972cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 973cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 974cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 975cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project If N is 0, then set CURRENT to the empty location which ends 976cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project the previous symbol: RHS[0] (always defined). */ 977cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 978cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YYLLOC_DEFAULT 97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYLLOC_DEFAULT(Current, Rhs, N) \ 98005436638acc7c010349a69c3395f1a57c642dc62Ying Wang do \ 98105436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (YYID (N)) \ 98205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 98305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 98405436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 98505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 98605436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 98705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 98805436638acc7c010349a69c3395f1a57c642dc62Ying Wang else \ 98905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 99005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).first_line = (Current).last_line = \ 99105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYRHSLOC (Rhs, 0).last_line; \ 99205436638acc7c010349a69c3395f1a57c642dc62Ying Wang (Current).first_column = (Current).last_column = \ 99305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYRHSLOC (Rhs, 0).last_column; \ 99405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 995cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project while (YYID (0)) 996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 997cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 99905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1001cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YY_LOCATION_PRINT -- Print the location on the stream. 1002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This macro was not mandated originally: define only if we know 1003cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project we won't break user code: when these are the locations we know. */ 1004cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_LOCATION_PRINT 100605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined GRAM_LTYPE_IS_TRIVIAL && GRAM_LTYPE_IS_TRIVIAL 100705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_LOCATION_PRINT(File, Loc) \ 100805436638acc7c010349a69c3395f1a57c642dc62Ying Wang do { \ 100905436638acc7c010349a69c3395f1a57c642dc62Ying Wang fprintf (File, "%d.%d", (Loc).first_line, (Loc).first_column); \ 101005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if ((Loc).first_line < (Loc).last_line) \ 101105436638acc7c010349a69c3395f1a57c642dc62Ying Wang fprintf (File, "-%d.%d", (Loc).last_line, (Loc).last_column - 1); \ 101205436638acc7c010349a69c3395f1a57c642dc62Ying Wang else if ((Loc).first_column < (Loc).last_column - 1) \ 101305436638acc7c010349a69c3395f1a57c642dc62Ying Wang fprintf (File, "-%d", (Loc).last_column - 1); \ 101405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } while (0) 1015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 1016cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1017cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1019cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYLEX -- calling `yylex' with the right arguments. */ 1022cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYLEX_PARAM 1023cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) 1024cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYLEX yylex (&yylval, &yylloc) 1026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1027cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1028cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Enable debugging if requested. */ 102905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 1030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYFPRINTF 1032cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1033cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYFPRINTF fprintf 1034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYDPRINTF(Args) \ 1037cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo { \ 1038cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yydebug) \ 1039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF Args; \ 1040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} while (YYID (0)) 1041cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1043cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo { \ 1044cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yydebug) \ 1045cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { \ 1046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (stderr, "%s ", Title); \ 1047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yy_symbol_print (stderr, \ 1048cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Type, Value, Location); \ 1049cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (stderr, "\n"); \ 1050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } \ 1051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} while (YYID (0)) 1052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1053cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1054cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*--------------------------------. 1055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| Print this symbol on YYOUTPUT. | 1056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`--------------------------------*/ 1057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1058cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*ARGSUSED*/ 1059cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1060cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1061cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1062cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) 1063cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1064cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1065cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp) 1066cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project FILE *yyoutput; 1067cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yytype; 1068cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE const * const yyvaluep; 1069cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE const * const yylocationp; 1070cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1071cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 107205436638acc7c010349a69c3395f1a57c642dc62Ying Wang FILE *yyo = yyoutput; 107305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYUSE (yyo); 1074cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (!yyvaluep) 1075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return; 1076cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYUSE (yylocationp); 1077cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifdef YYPRINT 1078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yytype < YYNTOKENS) 1079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 1081cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYUSE (yyoutput); 1082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project switch (yytype) 1084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 3: /* "string" */ 108605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 108705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 205 "parse-gram.y" 108805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fputs (quotearg_style (c_quoting_style, ((*yyvaluep).chars)), stderr); }; 108905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 109005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1091 "parse-gram.c" 1091cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 109205436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 4: /* "integer" */ 109305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 109405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 217 "parse-gram.y" 109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%d", ((*yyvaluep).integer)); }; 109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 109705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1098 "parse-gram.c" 109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 109905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 43: /* "{...}" */ 110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 110105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 207 "parse-gram.y" 110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).code)); }; 110305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 110405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1105 "parse-gram.c" 1105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 110605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 44: /* "[identifier]" */ 110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 110805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 212 "parse-gram.y" 110905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "[%s]", ((*yyvaluep).uniqstr)); }; 111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 111105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1112 "parse-gram.c" 1112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 111305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 45: /* "char" */ 111405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 199 "parse-gram.y" 111605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fputs (char_name (((*yyvaluep).character)), stderr); }; 111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 111805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1119 "parse-gram.c" 1119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 46: /* "epilogue" */ 112105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 207 "parse-gram.y" 112305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }; 112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 112505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1126 "parse-gram.c" 1126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 112705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 48: /* "identifier" */ 112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 112905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 211 "parse-gram.y" 113005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fputs (((*yyvaluep).uniqstr), stderr); }; 113105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 113205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1133 "parse-gram.c" 1133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 113405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 49: /* "identifier:" */ 113505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 113605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 213 "parse-gram.y" 113705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s:", ((*yyvaluep).uniqstr)); }; 113805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 113905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1140 "parse-gram.c" 1140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 114105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 52: /* "%{...%}" */ 114205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 114305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 207 "parse-gram.y" 114405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }; 114505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 114605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1147 "parse-gram.c" 1147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 114805436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 54: /* "type" */ 114905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 115005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 214 "parse-gram.y" 115105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "<%s>", ((*yyvaluep).uniqstr)); }; 115205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 115305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1154 "parse-gram.c" 115405436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 115505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 71: /* symbol.prec */ 115605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 115705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 220 "parse-gram.y" 115805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }; 115905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 116005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1161 "parse-gram.c" 1161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 116205436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 84: /* variable */ 116305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 116405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 211 "parse-gram.y" 116505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fputs (((*yyvaluep).uniqstr), stderr); }; 116605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 116705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1168 "parse-gram.c" 1168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 116905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 85: /* content.opt */ 117005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 117105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 207 "parse-gram.y" 117205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }; 117305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 117405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1175 "parse-gram.c" 1175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 117605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 86: /* braceless */ 117705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 117805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 207 "parse-gram.y" 117905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }; 118005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 118105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1182 "parse-gram.c" 1182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 118305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 87: /* id */ 118405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 118505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 220 "parse-gram.y" 118605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }; 118705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 118805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1189 "parse-gram.c" 1189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 119005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 88: /* id_colon */ 119105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 119205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 221 "parse-gram.y" 119305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s:", ((*yyvaluep).symbol)->tag); }; 119405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 119505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1196 "parse-gram.c" 1196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 119705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 89: /* symbol */ 119805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 119905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 220 "parse-gram.y" 120005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }; 120105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 120205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1203 "parse-gram.c" 1203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 120405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 90: /* string_as_id */ 120505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 120605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 220 "parse-gram.y" 120705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }; 120805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 812 of yacc.c */ 120905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1210 "parse-gram.c" 1210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 1211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project default: 1212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 1213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 1214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*--------------------------------. 1218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| Print this symbol on YYOUTPUT. | 1219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`--------------------------------*/ 1220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) 1225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp) 1228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project FILE *yyoutput; 1229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yytype; 1230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE const * const yyvaluep; 1231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE const * const yylocationp; 1232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yytype < YYNTOKENS) 1235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project else 1237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_LOCATION_PRINT (yyoutput, *yylocationp); 1240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (yyoutput, ": "); 1241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp); 1242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (yyoutput, ")"); 1243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*------------------------------------------------------------------. 1246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| TOP (included). | 1248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`------------------------------------------------------------------*/ 1249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 125305436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 125605436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_stack_print (yybottom, yytop) 125705436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yybottom; 125805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yytop; 1259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (stderr, "Stack now"); 126205436638acc7c010349a69c3395f1a57c642dc62Ying Wang for (; yybottom <= yytop; yybottom++) 126305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 126405436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yybot = *yybottom; 126505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFPRINTF (stderr, " %d", yybot); 126605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 1267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (stderr, "\n"); 1268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_STACK_PRINT(Bottom, Top) \ 1271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo { \ 1272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yydebug) \ 1273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yy_stack_print ((Bottom), (Top)); \ 1274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} while (YYID (0)) 1275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*------------------------------------------------. 1278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| Report that the YYRULE is going to be reduced. | 1279cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`------------------------------------------------*/ 1280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1284cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) 1285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_reduce_print (yyvsp, yylsp, yyrule) 1288cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE *yyvsp; 1289cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE *yylsp; 1290cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yyrule; 1291cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1292cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1293cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yynrhs = yyr2[yyrule]; 1294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yyi; 1295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project unsigned long int yylno = yyrline[yyrule]; 1296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1297cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyrule - 1, yylno); 1298cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* The symbols being reduced. */ 1299cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (yyi = 0; yyi < yynrhs; yyi++) 1300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 130105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFPRINTF (stderr, " $%d = ", yyi + 1); 1302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1303cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project &(yyvsp[(yyi + 1) - (yynrhs)]) 1304cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project , &(yylsp[(yyi + 1) - (yynrhs)]) ); 130505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFPRINTF (stderr, "\n"); 1306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 1307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1309cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_REDUCE_PRINT(Rule) \ 1310cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo { \ 1311cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yydebug) \ 1312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yy_reduce_print (yyvsp, yylsp, Rule); \ 1313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} while (YYID (0)) 1314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1315cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Nonzero means print parse trace. It is left uninitialized so that 1316cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project multiple parsers can coexist. */ 1317cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint yydebug; 131805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else /* !GRAM_DEBUG */ 1319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYDPRINTF(Args) 1320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1321cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_STACK_PRINT(Bottom, Top) 1322cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YY_REDUCE_PRINT(Rule) 132305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* !GRAM_DEBUG */ 1324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYINITDEPTH -- initial size of the parser's stacks. */ 1327cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YYINITDEPTH 1328cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYINITDEPTH 200 1329cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if the built-in stack extension method is used). 1333cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1334cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Do not make this value too large; the results are undefined if 1335cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project evaluated with infinite-precision integer arithmetic. */ 1337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YYMAXDEPTH 1339cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define YYMAXDEPTH 10000 1340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 134205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Given a state stack such that *YYBOTTOM is its bottom, such that 134305436638acc7c010349a69c3395f1a57c642dc62Ying Wang *YYTOP is either its top or is YYTOP_EMPTY to indicate an empty 134405436638acc7c010349a69c3395f1a57c642dc62Ying Wang stack, and such that *YYCAPACITY is the maximum number of elements it 134505436638acc7c010349a69c3395f1a57c642dc62Ying Wang can hold without a reallocation, make sure there is enough room to 134605436638acc7c010349a69c3395f1a57c642dc62Ying Wang store YYADD more elements. If not, allocate a new stack using 134705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_ALLOC, copy the existing elements, and adjust *YYBOTTOM, 134805436638acc7c010349a69c3395f1a57c642dc62Ying Wang *YYTOP, and *YYCAPACITY to reflect the new capacity and memory 134905436638acc7c010349a69c3395f1a57c642dc62Ying Wang location. If *YYBOTTOM != YYBOTTOM_NO_FREE, then free the old stack 135005436638acc7c010349a69c3395f1a57c642dc62Ying Wang using YYSTACK_FREE. Return 0 if successful or if no reallocation is 135105436638acc7c010349a69c3395f1a57c642dc62Ying Wang required. Return 1 if memory is exhausted. */ 135205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int 135305436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_lac_stack_realloc (YYSIZE_T *yycapacity, YYSIZE_T yyadd, 135405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 135505436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *yydebug_prefix, 135605436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *yydebug_suffix, 135705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 135805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 **yybottom, 135905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yybottom_no_free, 136005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 **yytop, yytype_int16 *yytop_empty) 136105436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 136205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize_old = 136305436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yytop == yytop_empty ? 0 : *yytop - *yybottom + 1; 136405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize_new = yysize_old + yyadd; 136505436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (*yycapacity < yysize_new) 136605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 136705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yyalloc = 2 * yysize_new; 136805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yybottom_new; 136905436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Use YYMAXDEPTH for maximum stack size given that the stack 137005436638acc7c010349a69c3395f1a57c642dc62Ying Wang should never need to grow larger than the main state stack 137105436638acc7c010349a69c3395f1a57c642dc62Ying Wang needs to grow without LAC. */ 137205436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (YYMAXDEPTH < yysize_new) 137305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 137405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, "%smax size exceeded%s", yydebug_prefix, 137505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yydebug_suffix)); 137605436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 137705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 137805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (YYMAXDEPTH < yyalloc) 137905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyalloc = YYMAXDEPTH; 138005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yybottom_new = 138105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (yytype_int16*) YYSTACK_ALLOC (yyalloc * sizeof *yybottom_new); 138205436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!yybottom_new) 138305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 138405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, "%srealloc failed%s", yydebug_prefix, 138505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yydebug_suffix)); 138605436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 138705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 138805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (*yytop != yytop_empty) 138905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 139005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCOPY (yybottom_new, *yybottom, yysize_old); 139105436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yytop = yybottom_new + (yysize_old - 1); 139205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (*yybottom != yybottom_no_free) 139405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_FREE (*yybottom); 139505436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yybottom = yybottom_new; 139605436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yycapacity = yyalloc; 139705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 139805436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 0; 139905436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 140005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 140105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Establish the initial context for the current lookahead if no initial 140205436638acc7c010349a69c3395f1a57c642dc62Ying Wang context is currently established. 140305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 140405436638acc7c010349a69c3395f1a57c642dc62Ying Wang We define a context as a snapshot of the parser stacks. We define 140505436638acc7c010349a69c3395f1a57c642dc62Ying Wang the initial context for a lookahead as the context in which the 140605436638acc7c010349a69c3395f1a57c642dc62Ying Wang parser initially examines that lookahead in order to select a 140705436638acc7c010349a69c3395f1a57c642dc62Ying Wang syntactic action. Thus, if the lookahead eventually proves 140805436638acc7c010349a69c3395f1a57c642dc62Ying Wang syntactically unacceptable (possibly in a later context reached via a 140905436638acc7c010349a69c3395f1a57c642dc62Ying Wang series of reductions), the initial context can be used to determine 141005436638acc7c010349a69c3395f1a57c642dc62Ying Wang the exact set of tokens that would be syntactically acceptable in the 141105436638acc7c010349a69c3395f1a57c642dc62Ying Wang lookahead's place. Moreover, it is the context after which any 141205436638acc7c010349a69c3395f1a57c642dc62Ying Wang further semantic actions would be erroneous because they would be 141305436638acc7c010349a69c3395f1a57c642dc62Ying Wang determined by a syntactically unacceptable token. 141405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 141505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_ESTABLISH should be invoked when a reduction is about to be 141605436638acc7c010349a69c3395f1a57c642dc62Ying Wang performed in an inconsistent state (which, for the purposes of LAC, 141705436638acc7c010349a69c3395f1a57c642dc62Ying Wang includes consistent states that don't know they're consistent because 141805436638acc7c010349a69c3395f1a57c642dc62Ying Wang their default reductions have been disabled). Iff there is a 141905436638acc7c010349a69c3395f1a57c642dc62Ying Wang lookahead token, it should also be invoked before reporting a syntax 142005436638acc7c010349a69c3395f1a57c642dc62Ying Wang error. This latter case is for the sake of the debugging output. 142105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 142205436638acc7c010349a69c3395f1a57c642dc62Ying Wang For parse.lac=full, the implementation of YY_LAC_ESTABLISH is as 142305436638acc7c010349a69c3395f1a57c642dc62Ying Wang follows. If no initial context is currently established for the 142405436638acc7c010349a69c3395f1a57c642dc62Ying Wang current lookahead, then check if that lookahead can eventually be 142505436638acc7c010349a69c3395f1a57c642dc62Ying Wang shifted if syntactic actions continue from the current context. 142605436638acc7c010349a69c3395f1a57c642dc62Ying Wang Report a syntax error if it cannot. */ 142705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_LAC_ESTABLISH \ 142805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdo { \ 142905436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!yy_lac_established) \ 143005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 143105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, \ 143205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "LAC: initial context established for %s\n", \ 143305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytname[yytoken])); \ 143405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yy_lac_established = 1; \ 143505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 143605436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yy_lac_status = \ 143705436638acc7c010349a69c3395f1a57c642dc62Ying Wang yy_lac (yyesa, &yyes, &yyes_capacity, yyssp, yytoken); \ 143805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_status == 2) \ 143905436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yyexhaustedlab; \ 144005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_status == 1) \ 144105436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yyerrlab; \ 144205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 144305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 144405436638acc7c010349a69c3395f1a57c642dc62Ying Wang} while (YYID (0)) 144505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 144605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Discard any previous initial lookahead context because of Event, 144705436638acc7c010349a69c3395f1a57c642dc62Ying Wang which may be a lookahead change or an invalidation of the currently 144805436638acc7c010349a69c3395f1a57c642dc62Ying Wang established initial context for the current lookahead. 144905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 145005436638acc7c010349a69c3395f1a57c642dc62Ying Wang The most common example of a lookahead change is a shift. An example 145105436638acc7c010349a69c3395f1a57c642dc62Ying Wang of both cases is syntax error recovery. That is, a syntax error 145205436638acc7c010349a69c3395f1a57c642dc62Ying Wang occurs when the lookahead is syntactically erroneous for the 145305436638acc7c010349a69c3395f1a57c642dc62Ying Wang currently established initial context, so error recovery manipulates 145405436638acc7c010349a69c3395f1a57c642dc62Ying Wang the parser stacks to try to find a new initial context in which the 145505436638acc7c010349a69c3395f1a57c642dc62Ying Wang current lookahead is syntactically acceptable. If it fails to find 145605436638acc7c010349a69c3395f1a57c642dc62Ying Wang such a context, it discards the lookahead. */ 145705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 145805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_LAC_DISCARD(Event) \ 145905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdo { \ 146005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_established) \ 146105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 146205436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yydebug) \ 146305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFPRINTF (stderr, "LAC: initial context discarded due to " \ 146405436638acc7c010349a69c3395f1a57c642dc62Ying Wang Event "\n"); \ 146505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yy_lac_established = 0; \ 146605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 146705436638acc7c010349a69c3395f1a57c642dc62Ying Wang} while (YYID (0)) 146805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 146905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_LAC_DISCARD(Event) yy_lac_established = 0 147005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 147105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 147205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Given the stack whose top is *YYSSP, return 0 iff YYTOKEN can 147305436638acc7c010349a69c3395f1a57c642dc62Ying Wang eventually (after perhaps some reductions) be shifted, return 1 if 147405436638acc7c010349a69c3395f1a57c642dc62Ying Wang not, or return 2 if memory is exhausted. As preconditions and 147505436638acc7c010349a69c3395f1a57c642dc62Ying Wang postconditions: *YYES_CAPACITY is the allocated size of the array to 147605436638acc7c010349a69c3395f1a57c642dc62Ying Wang which *YYES points, and either *YYES = YYESA or *YYES points to an 147705436638acc7c010349a69c3395f1a57c642dc62Ying Wang array allocated with YYSTACK_ALLOC. yy_lac may overwrite the 147805436638acc7c010349a69c3395f1a57c642dc62Ying Wang contents of either array, alter *YYES and *YYES_CAPACITY, and free 147905436638acc7c010349a69c3395f1a57c642dc62Ying Wang any old *YYES other than YYESA. */ 148005436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int 148105436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_lac (yytype_int16 *yyesa, yytype_int16 **yyes, 148205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T *yyes_capacity, yytype_int16 *yyssp, int yytoken) 148305436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 148405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyes_prev = yyssp; 148505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyesp = yyes_prev; 148605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, "LAC: checking lookahead %s:", yytname[yytoken])); 148705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yytoken == YYUNDEFTOK) 148805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 148905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " Always Err\n")); 149005436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 149105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 149205436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (1) 149305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 149405436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyrule = yypact[*yyesp]; 149505436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yypact_value_is_default (yyrule) 149605436638acc7c010349a69c3395f1a57c642dc62Ying Wang || (yyrule += yytoken) < 0 || YYLAST < yyrule 149705436638acc7c010349a69c3395f1a57c642dc62Ying Wang || yycheck[yyrule] != yytoken) 149805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 149905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyrule = yydefact[*yyesp]; 150005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yyrule == 0) 150105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 150205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " Err\n")); 150305436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 150405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 150505436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 150605436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 150705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 150805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyrule = yytable[yyrule]; 150905436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yytable_value_is_error (yyrule)) 151005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 151105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " Err\n")); 151205436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 151305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 151405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (0 < yyrule) 151505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 151605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " S%d\n", yyrule)); 151705436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 0; 151805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 151905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyrule = -yyrule; 152005436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 152105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 152205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yylen = yyr2[yyrule]; 152305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " R%d", yyrule - 1)); 152405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yyesp != yyes_prev) 152505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 152605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize = yyesp - *yyes + 1; 152705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yylen < yysize) 152805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 152905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyesp -= yylen; 153005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yylen = 0; 153105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 153205436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 153305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 153405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yylen -= yysize; 153505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyesp = yyes_prev; 153605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 153705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 153805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yylen) 153905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyesp = yyes_prev -= yylen; 154005436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 154105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 154205436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yystate; 154305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 154405436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yylhs = yyr1[yyrule] - YYNTOKENS; 154505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yystate = yypgoto[yylhs] + *yyesp; 154605436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yystate < 0 || YYLAST < yystate 154705436638acc7c010349a69c3395f1a57c642dc62Ying Wang || yycheck[yystate] != *yyesp) 154805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yystate = yydefgoto[yylhs]; 154905436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 155005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yystate = yytable[yystate]; 155105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 155205436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yyesp == yyes_prev) 155305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 155405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyesp = *yyes; 155505436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yyesp = yystate; 155605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 155705436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 155805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 155905436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_stack_realloc (yyes_capacity, 1, 156005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if GRAM_DEBUG 156105436638acc7c010349a69c3395f1a57c642dc62Ying Wang " (", ")", 156205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 156305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyes, yyesa, &yyesp, yyes_prev)) 156405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 156505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, "\n")); 156605436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 2; 156705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 156805436638acc7c010349a69c3395f1a57c642dc62Ying Wang *++yyesp = yystate; 156905436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 157005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, " G%d", yystate)); 157105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 157205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 157305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 157405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1575cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1576cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if YYERROR_VERBOSE 1577cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1578cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef yystrlen 1579cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# if defined __GLIBC__ && defined _STRING_H 1580cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define yystrlen strlen 1581cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 1582cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Return the length of YYSTR. */ 1583cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1584cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1585cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YYSIZE_T 1586cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyystrlen (const char *yystr) 1587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1588cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YYSIZE_T 1589cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyystrlen (yystr) 1590cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project const char *yystr; 1591cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1593cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSIZE_T yylen; 1594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (yylen = 0; yystr[yylen]; yylen++) 1595cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project continue; 1596cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yylen; 1597cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1599cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1601cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef yystpcpy 1602cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1603cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# define yystpcpy stpcpy 1604cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 1605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDEST. */ 1607cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1608cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1609cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic char * 1610cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyystpcpy (char *yydest, const char *yysrc) 1611cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic char * 1613cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyystpcpy (yydest, yysrc) 1614cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project char *yydest; 1615cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project const char *yysrc; 1616cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project char *yyd = yydest; 1619cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project const char *yys = yysrc; 1620cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1621cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project while ((*yyd++ = *yys++) != '\0') 1622cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project continue; 1623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yyd - 1; 1625cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1626cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1627cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1628cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1629cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef yytnamerr 1630cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1631cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project quotes and backslashes, so that it's suitable for yyerror. The 1632cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project heuristic is that double-quoting is unnecessary unless the string 1633cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project contains an apostrophe, a comma, or backslash (other than 1634cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project backslash-backslash). YYSTR is taken from yytname. If YYRES is 1635cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project null, do not copy; instead, return the length of what the result 1636cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project would have been. */ 1637cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YYSIZE_T 1638cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyytnamerr (char *yyres, const char *yystr) 1639cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1640cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (*yystr == '"') 1641cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 1642cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSIZE_T yyn = 0; 1643cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project char const *yyp = yystr; 1644cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1645cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (;;) 1646cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project switch (*++yyp) 1647cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 1648cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case '\'': 1649cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case ',': 1650cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto do_not_strip_quotes; 1651cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1652cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case '\\': 1653cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (*++yyp != '\\') 1654cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto do_not_strip_quotes; 1655cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Fall through. */ 1656cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project default: 1657cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyres) 1658cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyres[yyn] = *yyp; 1659cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn++; 1660cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 1661cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1662cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case '"': 1663cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyres) 1664cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyres[yyn] = '\0'; 1665cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yyn; 1666cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 1667cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project do_not_strip_quotes: ; 1668cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 1669cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1670cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (! yyres) 1671cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yystrlen (yystr); 1672cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1673cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yystpcpy (yyres, yystr) - yyres; 1674cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1675cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 1676cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 167705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 167805436638acc7c010349a69c3395f1a57c642dc62Ying Wang about the unexpected token YYTOKEN for the state stack whose top is 167905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSSP. In order to see if a particular token T is a 168005436638acc7c010349a69c3395f1a57c642dc62Ying Wang valid looakhead, invoke yy_lac (YYESA, YYES, YYES_CAPACITY, YYSSP, T). 1681cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 168205436638acc7c010349a69c3395f1a57c642dc62Ying Wang Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 168305436638acc7c010349a69c3395f1a57c642dc62Ying Wang not large enough to hold the message. In that case, also set 168405436638acc7c010349a69c3395f1a57c642dc62Ying Wang *YYMSG_ALLOC to the required number of bytes. Return 2 if the 168505436638acc7c010349a69c3395f1a57c642dc62Ying Wang required number of bytes is too large to store or if 168605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yy_lac returned 2. */ 168705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int 168805436638acc7c010349a69c3395f1a57c642dc62Ying Wangyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 168905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyesa, yytype_int16 **yyes, 169005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T *yyes_capacity, yytype_int16 *yyssp, int yytoken) 169105436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 169205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 169305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize = yysize0; 169405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yysize1; 169505436638acc7c010349a69c3395f1a57c642dc62Ying Wang enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 169605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Internationalized format string. */ 169705436638acc7c010349a69c3395f1a57c642dc62Ying Wang const char *yyformat = YY_NULL; 169805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Arguments of yyformat. */ 169905436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 170005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Number of reported tokens (one for the "unexpected", one per 170105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "expected"). */ 170205436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yycount = 0; 170305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 170405436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* There are many possibilities here to consider: 170505436638acc7c010349a69c3395f1a57c642dc62Ying Wang - Assume YYFAIL is not used. It's too flawed to consider. See 170605436638acc7c010349a69c3395f1a57c642dc62Ying Wang <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 170705436638acc7c010349a69c3395f1a57c642dc62Ying Wang for details. YYERROR is fine as it does not invoke this 170805436638acc7c010349a69c3395f1a57c642dc62Ying Wang function. 170905436638acc7c010349a69c3395f1a57c642dc62Ying Wang - If this state is a consistent state with a default action, then 171005436638acc7c010349a69c3395f1a57c642dc62Ying Wang the only way this function was invoked is if the default action 171105436638acc7c010349a69c3395f1a57c642dc62Ying Wang is an error action. In that case, don't check for expected 171205436638acc7c010349a69c3395f1a57c642dc62Ying Wang tokens because there are none. 171305436638acc7c010349a69c3395f1a57c642dc62Ying Wang - The only way there can be no lookahead present (in yychar) is if 171405436638acc7c010349a69c3395f1a57c642dc62Ying Wang this state is a consistent state with a default action. Thus, 171505436638acc7c010349a69c3395f1a57c642dc62Ying Wang detecting the absence of a lookahead is sufficient to determine 171605436638acc7c010349a69c3395f1a57c642dc62Ying Wang that there is no unexpected or expected token to report. In that 171705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case, just report a simple "syntax error". 171805436638acc7c010349a69c3395f1a57c642dc62Ying Wang - Don't assume there isn't a lookahead just because this state is a 171905436638acc7c010349a69c3395f1a57c642dc62Ying Wang consistent state with a default action. There might have been a 172005436638acc7c010349a69c3395f1a57c642dc62Ying Wang previous inconsistent state, consistent state with a non-default 172105436638acc7c010349a69c3395f1a57c642dc62Ying Wang action, or user semantic action that manipulated yychar. 172205436638acc7c010349a69c3395f1a57c642dc62Ying Wang In the first two cases, it might appear that the current syntax 172305436638acc7c010349a69c3395f1a57c642dc62Ying Wang error should have been detected in the previous state when yy_lac 172405436638acc7c010349a69c3395f1a57c642dc62Ying Wang was invoked. However, at that time, there might have been a 172505436638acc7c010349a69c3395f1a57c642dc62Ying Wang different syntax error that discarded a different initial context 172605436638acc7c010349a69c3395f1a57c642dc62Ying Wang during error recovery, leaving behind the current lookahead. 172705436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 172805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yytoken != YYEMPTY) 1729cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 173005436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyn = yypact[*yyssp]; 173105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYDPRINTF ((stderr, "Constructing syntax error message\n")); 173205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyarg[yycount++] = yytname[yytoken]; 173305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!yypact_value_is_default (yyn)) 173405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 173505436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyx; 173605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 173705436638acc7c010349a69c3395f1a57c642dc62Ying Wang for (yyx = 0; yyx < YYNTOKENS; ++yyx) 173805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yyx != YYTERROR && yyx != YYUNDEFTOK) 173905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 174005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 174105436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yy_lac_status = yy_lac (yyesa, yyes, yyes_capacity, 174205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyssp, yyx); 174305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_status == 2) 174405436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 2; 174505436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yy_lac_status == 1) 174605436638acc7c010349a69c3395f1a57c642dc62Ying Wang continue; 174705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 174805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 174905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 175005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yycount = 1; 175105436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysize = yysize0; 175205436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 175305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 175405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyarg[yycount++] = yytname[yyx]; 175505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 175605436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (! (yysize <= yysize1 175705436638acc7c010349a69c3395f1a57c642dc62Ying Wang && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 175805436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 2; 175905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysize = yysize1; 176005436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 176105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 176205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if GRAM_DEBUG 176305436638acc7c010349a69c3395f1a57c642dc62Ying Wang else if (yydebug) 176405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYFPRINTF (stderr, "No expected tokens.\n"); 1765cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 176605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 1767cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 176805436638acc7c010349a69c3395f1a57c642dc62Ying Wang switch (yycount) 176905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 177005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYCASE_(N, S) \ 177105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case N: \ 177205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyformat = S; \ 177305436638acc7c010349a69c3395f1a57c642dc62Ying Wang break 177405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(0, YY_("syntax error")); 177505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(1, YY_("syntax error, unexpected %s")); 177605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 177705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 177805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 177905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 178005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef YYCASE_ 178105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 1782cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 178305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysize1 = yysize + yystrlen (yyformat); 178405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 178505436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 2; 178605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysize = yysize1; 1787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 178805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (*yymsg_alloc < yysize) 178905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 179005436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yymsg_alloc = 2 * yysize; 179105436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (! (yysize <= *yymsg_alloc 179205436638acc7c010349a69c3395f1a57c642dc62Ying Wang && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 179305436638acc7c010349a69c3395f1a57c642dc62Ying Wang *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 179405436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 1; 1795cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 179605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 179705436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Avoid sprintf, as that infringes on the user's name space. 179805436638acc7c010349a69c3395f1a57c642dc62Ying Wang Don't have undefined behavior even if the translation 179905436638acc7c010349a69c3395f1a57c642dc62Ying Wang produced a string with the wrong number of "%s"s. */ 180005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 180105436638acc7c010349a69c3395f1a57c642dc62Ying Wang char *yyp = *yymsg; 180205436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyi = 0; 180305436638acc7c010349a69c3395f1a57c642dc62Ying Wang while ((*yyp = *yyformat) != '\0') 180405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 180505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 180605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyp += yytnamerr (yyp, yyarg[yyi++]); 180705436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyformat += 2; 180805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 180905436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 181005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 181105436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyp++; 181205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyformat++; 181305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 181405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 181505436638acc7c010349a69c3395f1a57c642dc62Ying Wang return 0; 1816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* YYERROR_VERBOSE */ 1818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-----------------------------------------------. 1820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| Release the memory associated to this symbol. | 1821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-----------------------------------------------*/ 1822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*ARGSUSED*/ 1824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1825cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1826cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1827cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) 1828cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1829cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 1830cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyydestruct (yymsg, yytype, yyvaluep, yylocationp) 1831cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project const char *yymsg; 1832cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yytype; 1833cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE *yyvaluep; 1834cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE *yylocationp; 1835cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1836cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 1837cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYUSE (yyvaluep); 1838cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYUSE (yylocationp); 1839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (!yymsg) 1841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yymsg = "Deleting"; 1842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1843cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1844cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project switch (yytype) 1845cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 1846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project default: 1848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 1849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 1850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 1851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1855cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*----------. 1856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyparse. | 1857cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`----------*/ 1858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1859cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YYPARSE_PARAM 1860cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1861cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint 1863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyparse (void *YYPARSE_PARAM) 1864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1865cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint 1866cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyparse (YYPARSE_PARAM) 1867cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project void *YYPARSE_PARAM; 1868cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1869cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else /* ! YYPARSE_PARAM */ 1870cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if (defined __STDC__ || defined __C99__FUNC__ \ 1871cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || defined __cplusplus || defined _MSC_VER) 1872cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint 1873cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyparse (void) 1874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 1875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint 1876cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyparse () 1877cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1878cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 1880cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 188105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The lookahead symbol. */ 1882cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint yychar; 1883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1884cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 188505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 188605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 188705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 188805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _Pragma ("GCC diagnostic push") \ 188905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 189005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 189105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 189205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _Pragma ("GCC diagnostic pop") 189305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 189405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Default value used for initialization, for pacifying older GCCs 189505436638acc7c010349a69c3395f1a57c642dc62Ying Wang or non-GCC compilers. */ 189605436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic YYSTYPE yyval_default; 189705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_INITIAL_VALUE(Value) = Value 189805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 189905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 190005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 190105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_IGNORE_MAYBE_UNINITIALIZED_END 1902cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 190305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef YY_INITIAL_VALUE 190405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YY_INITIAL_VALUE(Value) /* Nothing. */ 190505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 190605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 190705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The semantic value of the lookahead symbol. */ 190805436638acc7c010349a69c3395f1a57c642dc62Ying WangYYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 1909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 191005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Location data for the lookahead symbol. */ 191105436638acc7c010349a69c3395f1a57c642dc62Ying WangYYLTYPE yylloc 191205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined GRAM_LTYPE_IS_TRIVIAL && GRAM_LTYPE_IS_TRIVIAL 191305436638acc7c010349a69c3395f1a57c642dc62Ying Wang = { 1, 1, 1, 1 } 191405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 191505436638acc7c010349a69c3395f1a57c642dc62Ying Wang; 1916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 191805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Number of syntax errors so far. */ 191905436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yynerrs; 1920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 192105436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yystate; 192205436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Number of tokens to shift before error messages enabled. */ 192305436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyerrstatus; 1924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 192505436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The stacks and their tools: 192605436638acc7c010349a69c3395f1a57c642dc62Ying Wang `yyss': related to states. 192705436638acc7c010349a69c3395f1a57c642dc62Ying Wang `yyvs': related to semantic values. 192805436638acc7c010349a69c3395f1a57c642dc62Ying Wang `yyls': related to locations. 1929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 193005436638acc7c010349a69c3395f1a57c642dc62Ying Wang Refer to the stacks through separate pointers, to allow yyoverflow 193105436638acc7c010349a69c3395f1a57c642dc62Ying Wang to reallocate them elsewhere. */ 193205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 193305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The state stack. */ 193405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 yyssa[YYINITDEPTH]; 193505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyss; 193605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyssp; 193705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 193805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The semantic value stack. */ 193905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTYPE yyvsa[YYINITDEPTH]; 194005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTYPE *yyvs; 194105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTYPE *yyvsp; 194205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 194305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The location stack. */ 194405436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLTYPE yylsa[YYINITDEPTH]; 194505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLTYPE *yyls; 194605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLTYPE *yylsp; 194705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 194805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The locations where the error started and ended. */ 194905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLTYPE yyerror_range[3]; 195005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 195105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yystacksize; 1952cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 195305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 yyesa[20]; 195405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytype_int16 *yyes; 195505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yyes_capacity; 1956cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 195705436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yy_lac_established = 0; 195805436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyn; 195905436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yyresult; 196005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Lookahead token as an internal (translated) token number. */ 196105436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yytoken = 0; 1962cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* The variables used to return semantic value and location from the 1963cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project action routines. */ 1964cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE yyval; 1965cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE yyloc; 1966cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 196705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if YYERROR_VERBOSE 196805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Buffer for error messages, and its allocated size. */ 196905436638acc7c010349a69c3395f1a57c642dc62Ying Wang char yymsgbuf[128]; 197005436638acc7c010349a69c3395f1a57c642dc62Ying Wang char *yymsg = yymsgbuf; 197105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 197205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 197305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 197405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 197505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1976cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* The number of symbols on the RHS of the reduced rule. 1977cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Keep to zero when no symbol should be popped. */ 1978cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int yylen = 0; 1979cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 198005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyssp = yyss = yyssa; 198105436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyvsp = yyvs = yyvsa; 198205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yylsp = yyls = yylsa; 198305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yystacksize = YYINITDEPTH; 198405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 198505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyes = yyesa; 198605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyes_capacity = sizeof yyesa / sizeof *yyes; 198705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (YYMAXDEPTH < yyes_capacity) 198805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyes_capacity = YYMAXDEPTH; 198905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1990cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDPRINTF ((stderr, "Starting parse\n")); 1991cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1992cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = 0; 1993cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerrstatus = 0; 1994cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yynerrs = 0; 199505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yychar = YYEMPTY; /* Cause a token to be read. */ 1996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 199705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* User initialization code. */ 199805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1560 of yacc.c */ 199905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 107 "parse-gram.y" 2000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 2001cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Bison's grammar can initial empty locations, hence a default 2002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project location is needed. */ 200305436638acc7c010349a69c3395f1a57c642dc62Ying Wang boundary_set (&yylloc.start, current_file, 1, 1); 200405436638acc7c010349a69c3395f1a57c642dc62Ying Wang boundary_set (&yylloc.end, current_file, 1, 1); 2005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 200605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1560 of yacc.c */ 200705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 2008 "parse-gram.c" 2008cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yylsp[0] = yylloc; 2009cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yysetstate; 2010cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2011cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*------------------------------------------------------------. 2012cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yynewstate -- Push a new state, which is found in yystate. | 2013cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`------------------------------------------------------------*/ 2014cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yynewstate: 2015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* In all cases, when you get here, the value and location stacks 2016cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project have just been pushed. So pushing a state here evens the stacks. */ 2017cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyssp++; 2018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2019cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yysetstate: 2020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *yyssp = yystate; 2021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2022cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyss + yystacksize - 1 <= yyssp) 2023cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2024cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Get the current used size of the three stacks, in elements. */ 2025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSIZE_T yysize = yyssp - yyss + 1; 2026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2027cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef yyoverflow 2028cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2029cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Give user a chance to reallocate the stack. Use copies of 2030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project these so that the &'s don't force the real ones into 2031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project memory. */ 2032cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTYPE *yyvs1 = yyvs; 2033cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yytype_int16 *yyss1 = yyss; 2034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE *yyls1 = yyls; 2035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Each stack pointer address is followed by the size of the 2037cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project data in use in that stack, in bytes. This used to be a 2038cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project conditional around just the two extra args, but that might 2039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project be undefined if yyoverflow is a macro. */ 2040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyoverflow (YY_("memory exhausted"), 2041cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project &yyss1, yysize * sizeof (*yyssp), 2042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project &yyvs1, yysize * sizeof (*yyvsp), 2043cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project &yyls1, yysize * sizeof (*yylsp), 2044cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project &yystacksize); 204505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyls = yyls1; 2047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyss = yyss1; 2048cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyvs = yyvs1; 2049cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else /* no yyoverflow */ 2051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# ifndef YYSTACK_RELOCATE 2052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyexhaustedlab; 2053cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# else 2054cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Extend the stack our own way. */ 2055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (YYMAXDEPTH <= yystacksize) 2056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyexhaustedlab; 2057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystacksize *= 2; 2058cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (YYMAXDEPTH < yystacksize) 2059cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystacksize = YYMAXDEPTH; 2060cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2061cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2062cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yytype_int16 *yyss1 = yyss; 2063cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project union yyalloc *yyptr = 2064cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 2065cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (! yyptr) 2066cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyexhaustedlab; 206705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_RELOCATE (yyss_alloc, yyss); 206805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_RELOCATE (yyvs_alloc, yyvs); 206905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_RELOCATE (yyls_alloc, yyls); 2070cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# undef YYSTACK_RELOCATE 2071cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyss1 != yyssa) 2072cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTACK_FREE (yyss1); 2073cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2074cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# endif 2075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* no yyoverflow */ 2076cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2077cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyssp = yyss + yysize - 1; 2078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyvsp = yyvs + yysize - 1; 2079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yylsp = yyls + yysize - 1; 2080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2081cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDPRINTF ((stderr, "Stack size increased to %lu\n", 2082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project (unsigned long int) yystacksize)); 2083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyss + yystacksize - 1 <= yyssp) 2085cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYABORT; 2086cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2087cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2088cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 2089cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 209005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yystate == YYFINAL) 209105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYACCEPT; 209205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2093cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yybackup; 2094cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2095cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-----------. 2096cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yybackup. | 2097cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-----------*/ 2098cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyybackup: 2099cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Do appropriate processing given the current state. Read a 210105436638acc7c010349a69c3395f1a57c642dc62Ying Wang lookahead token if we need one and don't already have one. */ 2102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 210305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* First try to decide what to do without reference to lookahead token. */ 2104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yypact[yystate]; 210505436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yypact_value_is_default (yyn)) 2106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yydefault; 2107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 210805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Not known => get a lookahead token if don't already have one. */ 2109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 211005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 2111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yychar == YYEMPTY) 2112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDPRINTF ((stderr, "Reading a token: ")); 2114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yychar = YYLEX; 2115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yychar <= YYEOF) 2118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yychar = yytoken = YYEOF; 2120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYDPRINTF ((stderr, "Now at end of input.\n")); 2121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project else 2123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yytoken = YYTRANSLATE (yychar); 2125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 2126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* If the proper action on seeing token YYTOKEN is to reduce or to 2129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project detect an error, take that action. */ 2130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn += yytoken; 2131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 213205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 213305436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_ESTABLISH; 213405436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yydefault; 213505436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 2136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yytable[yyn]; 2137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyn <= 0) 2138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 213905436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yytable_value_is_error (yyn)) 214005436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yyerrlab; 214105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_ESTABLISH; 2142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = -yyn; 2143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyreduce; 2144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Count tokens shifted since error; after three, turn off error 2147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project status. */ 2148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyerrstatus) 2149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerrstatus--; 2150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 215105436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Shift the lookahead token. */ 2152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 2153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 215405436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Discard the shifted token. */ 215505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yychar = YYEMPTY; 215605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_DISCARD ("shift"); 2157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = yyn; 215905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yyvsp = yylval; 216105436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_IGNORE_MAYBE_UNINITIALIZED_END 2162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yylsp = yylloc; 2163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yynewstate; 2164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2166cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-----------------------------------------------------------. 2167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yydefault -- do the default action for the current state. | 2168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-----------------------------------------------------------*/ 2169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyydefault: 2170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yydefact[yystate]; 2171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyn == 0) 2172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyerrlab; 2173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyreduce; 2174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-----------------------------. 2177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyreduce -- Do a reduction. | 2178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-----------------------------*/ 2179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyreduce: 2180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* yyn is the number of a rule to reduce with. */ 2181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yylen = yyr2[yyn]; 2182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* If YYLEN is nonzero, implement the default value of the action: 2184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project `$$ = $1'. 2185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Otherwise, the following line sets YYVAL to garbage. 2187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project This behavior is undocumented and Bison 2188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project users should not rely upon it. Assigning to YYVAL 2189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project unconditionally makes the parser a bit smaller, and it avoids a 2190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project GCC warning that YYVAL may be used uninitialized. */ 2191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyval = yyvsp[1-yylen]; 2192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Default location. */ 2194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); 2195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_REDUCE_PRINT (yyn); 219605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 219705436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yychar_backup = yychar; 219805436638acc7c010349a69c3395f1a57c642dc62Ying Wang switch (yyn) 219905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 220005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 6: 220105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 220205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 246 "parse-gram.y" 2203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 220405436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props plain_code; 220505436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_plain_init (&plain_code, (yyvsp[(1) - (1)].chars), (yylsp[(1) - (1)])); 220605436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&plain_code); 220705436638acc7c010349a69c3395f1a57c642dc62Ying Wang gram_scanner_last_string_free (); 220805436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_code_grow (union_seen ? "post_prologue" : "pre_prologue", 220905436638acc7c010349a69c3395f1a57c642dc62Ying Wang plain_code.code, (yylsp[(1) - (1)])); 221005436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 221105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 2212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 7: 221505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 221605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 255 "parse-gram.y" 221705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { debug = true; } 2218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 8: 222105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 222205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 257 "parse-gram.y" 2223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 222405436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_percent_define_insert ((yyvsp[(2) - (3)].uniqstr), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].chars), 222505436638acc7c010349a69c3395f1a57c642dc62Ying Wang MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); 2226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 9: 223005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 223105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 261 "parse-gram.y" 223205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { defines_flag = true; } 2233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 10: 223605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 223705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 263 "parse-gram.y" 223805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 223905436638acc7c010349a69c3395f1a57c642dc62Ying Wang defines_flag = true; 224005436638acc7c010349a69c3395f1a57c642dc62Ying Wang spec_defines_file = xstrdup ((yyvsp[(2) - (2)].chars)); 224105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 2242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 11: 224505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 224605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 267 "parse-gram.y" 2247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { error_verbose = true; } 2248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 12: 225105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 225205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 268 "parse-gram.y" 2253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { expected_sr_conflicts = (yyvsp[(2) - (2)].integer); } 2254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 13: 225705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 225805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 269 "parse-gram.y" 2259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { expected_rr_conflicts = (yyvsp[(2) - (2)].integer); } 2260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 14: 226305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 226405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 270 "parse-gram.y" 226505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_file_prefix = (yyvsp[(2) - (2)].chars); } 2266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 15: 226905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 227005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 271 "parse-gram.y" 227105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_file_prefix = (yyvsp[(3) - (3)].chars); } 2272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 16: 227505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 227605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 273 "parse-gram.y" 2277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 227805436638acc7c010349a69c3395f1a57c642dc62Ying Wang nondeterministic_parser = true; 227905436638acc7c010349a69c3395f1a57c642dc62Ying Wang glr_parser = true; 2280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 17: 228405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 228505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 278 "parse-gram.y" 228605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 228705436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props action; 228805436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_symbol_action_init (&action, (yyvsp[(2) - (2)].code), (yylsp[(2) - (2)])); 228905436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&action); 229005436638acc7c010349a69c3395f1a57c642dc62Ying Wang gram_scanner_last_string_free (); 229105436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_code_grow ("initial_action", action.code, (yylsp[(2) - (2)])); 229205436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 229305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 2294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 18: 229705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 229805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 286 "parse-gram.y" 229905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { language_argmatch ((yyvsp[(2) - (2)].chars), grammar_prio, (yylsp[(1) - (2)])); } 2300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2301cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 19: 230305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 230405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 287 "parse-gram.y" 230505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { add_param ("lex_param", (yyvsp[(2) - (2)].code), (yylsp[(2) - (2)])); } 2306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 20: 230905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 231005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 288 "parse-gram.y" 231105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { locations_flag = true; } 2312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 21: 231505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 231605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 289 "parse-gram.y" 231705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_name_prefix = (yyvsp[(2) - (2)].chars); } 2318cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 22: 232105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 232205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 290 "parse-gram.y" 232305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_name_prefix = (yyvsp[(3) - (3)].chars); } 2324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 23: 232705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 232805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 291 "parse-gram.y" 232905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { no_lines_flag = true; } 2330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 24: 233305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 233405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 292 "parse-gram.y" 233505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { nondeterministic_parser = true; } 2336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 25: 233905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 234005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 293 "parse-gram.y" 234105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_outfile = (yyvsp[(2) - (2)].chars); } 2342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2343cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2344cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 26: 234505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 234605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 294 "parse-gram.y" 234705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { spec_outfile = (yyvsp[(3) - (3)].chars); } 2348cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2349cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2350cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 27: 235105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 235205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 295 "parse-gram.y" 235305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { add_param ("parse_param", (yyvsp[(2) - (2)].code), (yylsp[(2) - (2)])); } 2354cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2355cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2356cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 28: 235705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 235805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 297 "parse-gram.y" 235905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 236005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* %pure-parser is deprecated in favor of `%define api.pure', so use 236105436638acc7c010349a69c3395f1a57c642dc62Ying Wang `%define api.pure' in a backward-compatible manner here. First, don't 236205436638acc7c010349a69c3395f1a57c642dc62Ying Wang complain if %pure-parser is specified multiple times. */ 236305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!muscle_find_const ("percent_define(api.pure)")) 236405436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_percent_define_insert ("api.pure", (yylsp[(1) - (1)]), "", 236505436638acc7c010349a69c3395f1a57c642dc62Ying Wang MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); 236605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* In all cases, use api.pure now so that the backend doesn't complain if 236705436638acc7c010349a69c3395f1a57c642dc62Ying Wang the skeleton ignores api.pure, but do warn now if there's a previous 236805436638acc7c010349a69c3395f1a57c642dc62Ying Wang conflicting definition from an actual %define. */ 236905436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!muscle_percent_define_flag_if ("api.pure")) 237005436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_percent_define_insert ("api.pure", (yylsp[(1) - (1)]), "", 237105436638acc7c010349a69c3395f1a57c642dc62Ying Wang MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); 237205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 2373cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2374cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2375cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 29: 237605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 237705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 311 "parse-gram.y" 237805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { version_check (&(yylsp[(2) - (2)]), (yyvsp[(2) - (2)].chars)); } 237905436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 238005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 238105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 30: 238205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 238305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 313 "parse-gram.y" 238405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 238505436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *skeleton_user = (yyvsp[(2) - (2)].chars); 238605436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (mbschr (skeleton_user, '/')) 238705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 238805436638acc7c010349a69c3395f1a57c642dc62Ying Wang size_t dir_length = strlen (current_file); 238905436638acc7c010349a69c3395f1a57c642dc62Ying Wang char *skeleton_build; 239005436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (dir_length && current_file[dir_length - 1] != '/') 239105436638acc7c010349a69c3395f1a57c642dc62Ying Wang --dir_length; 239205436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (dir_length && current_file[dir_length - 1] == '/') 239305436638acc7c010349a69c3395f1a57c642dc62Ying Wang --dir_length; 239405436638acc7c010349a69c3395f1a57c642dc62Ying Wang skeleton_build = 239505436638acc7c010349a69c3395f1a57c642dc62Ying Wang xmalloc (dir_length + 1 + strlen (skeleton_user) + 1); 239605436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (dir_length > 0) 239705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 239805436638acc7c010349a69c3395f1a57c642dc62Ying Wang memcpy (skeleton_build, current_file, dir_length); 239905436638acc7c010349a69c3395f1a57c642dc62Ying Wang skeleton_build[dir_length++] = '/'; 240005436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 240105436638acc7c010349a69c3395f1a57c642dc62Ying Wang strcpy (skeleton_build + dir_length, skeleton_user); 240205436638acc7c010349a69c3395f1a57c642dc62Ying Wang skeleton_user = uniqstr_new (skeleton_build); 240305436638acc7c010349a69c3395f1a57c642dc62Ying Wang free (skeleton_build); 240405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 240505436638acc7c010349a69c3395f1a57c642dc62Ying Wang skeleton_arg (skeleton_user, grammar_prio, (yylsp[(1) - (2)])); 240605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 240705436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 240805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 240905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 31: 241005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 241105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 336 "parse-gram.y" 241205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { token_table_flag = true; } 241305436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 241405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 241505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 32: 241605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 241705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 337 "parse-gram.y" 241805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { report_flag |= report_states; } 2419cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2420cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2421cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case 33: 242205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 242305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 338 "parse-gram.y" 242405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { yacc_flag = true; } 242505436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 242605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 242705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 37: 242805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 242905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 346 "parse-gram.y" 2430cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2431cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project grammar_start_symbol_set ((yyvsp[(2) - (2)].symbol), (yylsp[(2) - (2)])); 2432cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2433cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2434cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 243505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 38: 243605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 243705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 350 "parse-gram.y" 2438cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 243905436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props code; 244005436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_symbol_action_init (&code, (yyvsp[(2) - (3)].code), (yylsp[(2) - (3)])); 244105436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&code); 244205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 244305436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list *list; 244405436638acc7c010349a69c3395f1a57c642dc62Ying Wang for (list = (yyvsp[(3) - (3)].list); list; list = list->next) 244505436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list_destructor_set (list, &code); 244605436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list_free ((yyvsp[(3) - (3)].list)); 244705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 244805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 244905436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 2450cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 245105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 39: 245205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 245305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 362 "parse-gram.y" 245405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 245505436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props code; 245605436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_symbol_action_init (&code, (yyvsp[(2) - (3)].code), (yylsp[(2) - (3)])); 245705436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&code); 245805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 245905436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list *list; 246005436638acc7c010349a69c3395f1a57c642dc62Ying Wang for (list = (yyvsp[(3) - (3)].list); list; list = list->next) 246105436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list_printer_set (list, &code); 246205436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_list_free ((yyvsp[(3) - (3)].list)); 246305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 246405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 246505436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 2466cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 246705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 40: 246805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 246905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 374 "parse-gram.y" 247005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 247105436638acc7c010349a69c3395f1a57c642dc62Ying Wang default_prec = true; 2472cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2473cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2474cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 247505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 41: 247605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 247705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 378 "parse-gram.y" 2478cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 247905436638acc7c010349a69c3395f1a57c642dc62Ying Wang default_prec = false; 2480cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2481cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2482cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 248305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 42: 248405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 248505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 382 "parse-gram.y" 2486cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 248705436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Do not invoke muscle_percent_code_grow here since it invokes 248805436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_user_name_list_grow. */ 248905436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_code_grow ("percent_code()", (yyvsp[(2) - (2)].chars), (yylsp[(2) - (2)])); 249005436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 2491cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2492cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2493cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 249405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 43: 249505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 249605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 389 "parse-gram.y" 2497cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 249805436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_percent_code_grow ((yyvsp[(2) - (3)].uniqstr), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].chars), (yylsp[(3) - (3)])); 249905436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 2500cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2501cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2502cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 250305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 44: 250405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 250505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 403 "parse-gram.y" 250605436638acc7c010349a69c3395f1a57c642dc62Ying Wang {} 250705436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 250805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 250905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 45: 251005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 251105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 404 "parse-gram.y" 251205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { muscle_code_grow ("union_name", (yyvsp[(1) - (1)].uniqstr), (yylsp[(1) - (1)])); } 251305436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 251405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 251505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 46: 251605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 251705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 409 "parse-gram.y" 2518cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 251905436638acc7c010349a69c3395f1a57c642dc62Ying Wang union_seen = true; 252005436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_code_grow ("stype", (yyvsp[(3) - (3)].chars), (yylsp[(3) - (3)])); 252105436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 2522cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2523cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2524cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 252505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 47: 252605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 252705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 420 "parse-gram.y" 2528cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { current_class = nterm_sym; } 2529cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2530cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 253105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 48: 253205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 253305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 421 "parse-gram.y" 2534cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2535cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_class = unknown_sym; 2536cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_type = NULL; 2537cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2538cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2539cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 254005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 49: 254105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 254205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 425 "parse-gram.y" 2543cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { current_class = token_sym; } 2544cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2545cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 254605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 50: 254705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 254805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 426 "parse-gram.y" 2549cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2550cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_class = unknown_sym; 2551cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_type = NULL; 2552cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2553cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2554cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 255505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 51: 255605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 255705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 431 "parse-gram.y" 2558cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2559cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_list *list; 256005436638acc7c010349a69c3395f1a57c642dc62Ying Wang tag_seen = true; 2561cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (list = (yyvsp[(3) - (3)].list); list; list = list->next) 256205436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_type_set (list->content.sym, (yyvsp[(2) - (3)].uniqstr), (yylsp[(2) - (3)])); 2563cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_list_free ((yyvsp[(3) - (3)].list)); 2564cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2565cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2566cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 256705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 52: 256805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 256905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 442 "parse-gram.y" 2570cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2571cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_list *list; 2572cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ++current_prec; 2573cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (list = (yyvsp[(3) - (3)].list); list; list = list->next) 2574cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 257505436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_type_set (list->content.sym, current_type, (yylsp[(2) - (3)])); 257605436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_precedence_set (list->content.sym, current_prec, (yyvsp[(1) - (3)].assoc), (yylsp[(1) - (3)])); 2577cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2578cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_list_free ((yyvsp[(3) - (3)].list)); 2579cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_type = NULL; 2580cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2581cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2582cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 258305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 53: 258405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 258505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 456 "parse-gram.y" 2586cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { (yyval.assoc) = left_assoc; } 2587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2588cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 258905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 54: 259005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 259105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 457 "parse-gram.y" 2592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { (yyval.assoc) = right_assoc; } 2593cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 259505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 55: 259605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 259705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 458 "parse-gram.y" 2598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { (yyval.assoc) = non_assoc; } 2599cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 260105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 56: 260205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 260305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 462 "parse-gram.y" 2604cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { current_type = NULL; } 2605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 260705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 57: 260805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 260905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 463 "parse-gram.y" 261005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { current_type = (yyvsp[(1) - (1)].uniqstr); tag_seen = true; } 2611cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 261305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 58: 261405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 261505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 469 "parse-gram.y" 261605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_sym_new ((yyvsp[(1) - (1)].symbol), (yylsp[(1) - (1)])); } 2617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 261905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 59: 262005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 262105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 471 "parse-gram.y" 262205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_prepend ((yyvsp[(1) - (2)].list), symbol_list_sym_new ((yyvsp[(2) - (2)].symbol), (yylsp[(2) - (2)]))); } 2623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 262505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 60: 262605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 262705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 475 "parse-gram.y" 262805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.symbol) = (yyvsp[(1) - (1)].symbol); } 262905436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 263005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 263105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 61: 263205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 263305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 476 "parse-gram.y" 263405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.symbol) = (yyvsp[(1) - (2)].symbol); symbol_user_token_number_set ((yyvsp[(1) - (2)].symbol), (yyvsp[(2) - (2)].integer), (yylsp[(2) - (2)])); } 263505436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 263605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 263705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 62: 263805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 263905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 482 "parse-gram.y" 264005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_sym_new ((yyvsp[(1) - (1)].symbol), (yylsp[(1) - (1)])); } 264105436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 264205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 264305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 63: 264405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 264505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 484 "parse-gram.y" 264605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_prepend ((yyvsp[(1) - (2)].list), symbol_list_sym_new ((yyvsp[(2) - (2)].symbol), (yylsp[(2) - (2)]))); } 264705436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 264805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 264905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 64: 265005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 265105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 488 "parse-gram.y" 265205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = (yyvsp[(1) - (1)].list); } 265305436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 265405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 265505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 65: 265605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 265705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 489 "parse-gram.y" 265805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_prepend ((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); } 265905436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 266005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 266105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 66: 266205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 266305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 493 "parse-gram.y" 266405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_sym_new ((yyvsp[(1) - (1)].symbol), (yylsp[(1) - (1)])); } 266505436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 266605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 266705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 67: 266805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 266905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 494 "parse-gram.y" 267005436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_type_new ((yyvsp[(1) - (1)].uniqstr), (yylsp[(1) - (1)])); } 267105436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 267205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 267305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 68: 267405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 267505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 495 "parse-gram.y" 267605436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_default_tagged_new ((yylsp[(1) - (1)])); } 267705436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 267805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 267905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 69: 268005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 268105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 496 "parse-gram.y" 268205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.list) = symbol_list_default_tagless_new ((yylsp[(1) - (1)])); } 268305436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 268405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 268505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 70: 268605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 268705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 502 "parse-gram.y" 2688cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2689cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project current_type = (yyvsp[(1) - (1)].uniqstr); 269005436638acc7c010349a69c3395f1a57c642dc62Ying Wang tag_seen = true; 2691cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2692cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2693cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 269405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 71: 269505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 269605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 507 "parse-gram.y" 2697cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2698cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_class_set ((yyvsp[(1) - (1)].symbol), current_class, (yylsp[(1) - (1)]), true); 2699cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_type_set ((yyvsp[(1) - (1)].symbol), current_type, (yylsp[(1) - (1)])); 2700cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2701cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2702cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 270305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 72: 270405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 270505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 512 "parse-gram.y" 2706cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2707cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_class_set ((yyvsp[(1) - (2)].symbol), current_class, (yylsp[(1) - (2)]), true); 2708cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_type_set ((yyvsp[(1) - (2)].symbol), current_type, (yylsp[(1) - (2)])); 2709cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_user_token_number_set ((yyvsp[(1) - (2)].symbol), (yyvsp[(2) - (2)].integer), (yylsp[(2) - (2)])); 2710cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2711cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2712cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 271305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 73: 271405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 271505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 518 "parse-gram.y" 2716cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2717cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_class_set ((yyvsp[(1) - (2)].symbol), current_class, (yylsp[(1) - (2)]), true); 2718cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_type_set ((yyvsp[(1) - (2)].symbol), current_type, (yylsp[(1) - (2)])); 2719cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_make_alias ((yyvsp[(1) - (2)].symbol), (yyvsp[(2) - (2)].symbol), (yyloc)); 2720cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2721cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2722cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 272305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 74: 272405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 272505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 524 "parse-gram.y" 2726cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2727cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_class_set ((yyvsp[(1) - (3)].symbol), current_class, (yylsp[(1) - (3)]), true); 2728cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_type_set ((yyvsp[(1) - (3)].symbol), current_type, (yylsp[(1) - (3)])); 2729cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_user_token_number_set ((yyvsp[(1) - (3)].symbol), (yyvsp[(2) - (3)].integer), (yylsp[(2) - (3)])); 2730cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project symbol_make_alias ((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol), (yyloc)); 2731cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2732cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2733cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 273405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 81: 273505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 273605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 554 "parse-gram.y" 2737cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2738cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerrok; 2739cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2740cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2741cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 274205436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 82: 274305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 274405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 560 "parse-gram.y" 274505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { current_lhs ((yyvsp[(1) - (2)].symbol), (yylsp[(1) - (2)]), (yyvsp[(2) - (2)].named_ref)); } 2746cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2747cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 274805436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 83: 274905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 275005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 561 "parse-gram.y" 275105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 275205436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Free the current lhs. */ 275305436638acc7c010349a69c3395f1a57c642dc62Ying Wang current_lhs (0, (yylsp[(1) - (4)]), 0); 275405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 275505436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 275605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 275705436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 84: 275805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 275905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 568 "parse-gram.y" 2760cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { grammar_current_rule_end ((yylsp[(1) - (1)])); } 2761cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2762cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 276305436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 85: 276405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 276505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 569 "parse-gram.y" 2766cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { grammar_current_rule_end ((yylsp[(3) - (3)])); } 2767cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2768cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 276905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 87: 277005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 277105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 575 "parse-gram.y" 277205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { grammar_current_rule_begin (current_lhs_symbol, current_lhs_location, 277305436638acc7c010349a69c3395f1a57c642dc62Ying Wang current_lhs_named_ref); } 2774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 277605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 88: 277705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 277805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 578 "parse-gram.y" 277905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { grammar_current_rule_symbol_append ((yyvsp[(2) - (3)].symbol), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].named_ref)); } 2780cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2781cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 278205436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 89: 278305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 278405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 580 "parse-gram.y" 278505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { grammar_current_rule_action_append ((yyvsp[(2) - (3)].code), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].named_ref)); } 278605436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 278705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 278805436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 90: 278905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 279005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 582 "parse-gram.y" 2791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { grammar_current_rule_prec_set ((yyvsp[(3) - (3)].symbol), (yylsp[(3) - (3)])); } 2792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 279405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 91: 279505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 279605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 584 "parse-gram.y" 2797cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { grammar_current_rule_dprec_set ((yyvsp[(3) - (3)].integer), (yylsp[(3) - (3)])); } 2798cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2799cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 280005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 92: 280105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 280205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 586 "parse-gram.y" 2803cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { grammar_current_rule_merge_set ((yyvsp[(3) - (3)].uniqstr), (yylsp[(3) - (3)])); } 2804cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2805cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 280605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 93: 280705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 280805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 590 "parse-gram.y" 280905436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.named_ref) = 0; } 2810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 281205436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 94: 281305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 281405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 592 "parse-gram.y" 281505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.named_ref) = named_ref_new((yyvsp[(1) - (1)].uniqstr), (yylsp[(1) - (1)])); } 2816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 281805436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 96: 281905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 282005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 604 "parse-gram.y" 282105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.uniqstr) = uniqstr_new ((yyvsp[(1) - (1)].chars)); } 2822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 282405436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 97: 282505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 282605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 609 "parse-gram.y" 282705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.chars) = ""; } 282805436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 282905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 283005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 98: 283105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 283205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 610 "parse-gram.y" 283305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.chars) = (yyvsp[(1) - (1)].uniqstr); } 283405436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 283505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 283605436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 100: 283705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 283805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 621 "parse-gram.y" 2839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 284005436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props plain_code; 284105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (yyvsp[(1) - (1)].code)[strlen ((yyvsp[(1) - (1)].code)) - 1] = '\n'; 284205436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_plain_init (&plain_code, (yyvsp[(1) - (1)].code)+1, (yylsp[(1) - (1)])); 284305436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&plain_code); 284405436638acc7c010349a69c3395f1a57c642dc62Ying Wang gram_scanner_last_string_free (); 284505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (yyval.chars) = plain_code.code; 2846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 284905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 101: 285005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 285105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 641 "parse-gram.y" 285205436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[(1) - (1)].uniqstr), (yylsp[(1) - (1)])); } 2853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 285505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 102: 285605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 285705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 643 "parse-gram.y" 2858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 285905436638acc7c010349a69c3395f1a57c642dc62Ying Wang (yyval.symbol) = symbol_get (char_name ((yyvsp[(1) - (1)].character)), (yylsp[(1) - (1)])); 286005436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_class_set ((yyval.symbol), token_sym, (yylsp[(1) - (1)]), false); 286105436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_user_token_number_set ((yyval.symbol), (yyvsp[(1) - (1)].character), (yylsp[(1) - (1)])); 2862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 2864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 286505436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 103: 286605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 286705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 651 "parse-gram.y" 286805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[(1) - (1)].uniqstr), (yylsp[(1) - (1)])); } 286905436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 287005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 287105436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 106: 287205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 287305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 663 "parse-gram.y" 287405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 287505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (yyval.symbol) = symbol_get (quotearg_style (c_quoting_style, (yyvsp[(1) - (1)].chars)), (yylsp[(1) - (1)])); 287605436638acc7c010349a69c3395f1a57c642dc62Ying Wang symbol_class_set ((yyval.symbol), token_sym, (yylsp[(1) - (1)]), false); 287705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 287805436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 2879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 288005436638acc7c010349a69c3395f1a57c642dc62Ying Wang case 108: 288105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 288205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 672 "parse-gram.y" 288305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 288405436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props plain_code; 288505436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_plain_init (&plain_code, (yyvsp[(2) - (2)].chars), (yylsp[(2) - (2)])); 288605436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_props_translate_code (&plain_code); 288705436638acc7c010349a69c3395f1a57c642dc62Ying Wang gram_scanner_last_string_free (); 288805436638acc7c010349a69c3395f1a57c642dc62Ying Wang muscle_code_grow ("epilogue", plain_code.code, (yylsp[(2) - (2)])); 288905436638acc7c010349a69c3395f1a57c642dc62Ying Wang code_scanner_last_string_free (); 2890cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 289105436638acc7c010349a69c3395f1a57c642dc62Ying Wang break; 289205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 289305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 289405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 1778 of yacc.c */ 289505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 2896 "parse-gram.c" 289605436638acc7c010349a69c3395f1a57c642dc62Ying Wang default: break; 289705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 289805436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yychar_backup != yychar) 289905436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_DISCARD ("yychar change"); 290005436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 290105436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* User semantic actions sometimes alter yychar, and that requires 290205436638acc7c010349a69c3395f1a57c642dc62Ying Wang that yytoken be updated with the new translation. We take the 290305436638acc7c010349a69c3395f1a57c642dc62Ying Wang approach of translating immediately before every use of yytoken. 290405436638acc7c010349a69c3395f1a57c642dc62Ying Wang One alternative is translating here after every semantic action, 290505436638acc7c010349a69c3395f1a57c642dc62Ying Wang but that translation would be missed if the semantic action invokes 290605436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 290705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 290805436638acc7c010349a69c3395f1a57c642dc62Ying Wang incorrect destructor might then be invoked immediately. In the 290905436638acc7c010349a69c3395f1a57c642dc62Ying Wang case of YYERROR or YYBACKUP, subsequent parser actions might lead 291005436638acc7c010349a69c3395f1a57c642dc62Ying Wang to an incorrect destructor call or verbose syntax error message 291105436638acc7c010349a69c3395f1a57c642dc62Ying Wang before the lookahead is translated. */ 2912cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 2913cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2914cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPOPSTACK (yylen); 2915cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yylen = 0; 2916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_STACK_PRINT (yyss, yyssp); 2917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2918cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yyvsp = yyval; 2919cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yylsp = yyloc; 2920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2921cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Now `shift' the result of the reduction. Determine what state 2922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project that goes to, based on the state we popped back to and the rule 2923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project number reduced by. */ 2924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yyr1[yyn]; 2926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 2928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 2929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = yytable[yystate]; 2930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project else 2931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = yydefgoto[yyn - YYNTOKENS]; 2932cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2933cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yynewstate; 2934cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2935cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2936cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*------------------------------------. 2937cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyerrlab -- here on detecting error | 2938cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`------------------------------------*/ 2939cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyerrlab: 294005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Make sure we have latest lookahead translation. See comments at 294105436638acc7c010349a69c3395f1a57c642dc62Ying Wang user semantic actions for why this is necessary. */ 294205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 294305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2944cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* If not already recovering from an error, report this error. */ 2945cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (!yyerrstatus) 2946cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2947cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ++yynerrs; 2948cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if ! YYERROR_VERBOSE 2949cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerror (YY_("syntax error")); 2950cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else 295105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 295205436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyesa, &yyes, &yyes_capacity, \ 295305436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyssp, yytoken) 2954cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 295505436638acc7c010349a69c3395f1a57c642dc62Ying Wang char const *yymsgp = YY_("syntax error"); 295605436638acc7c010349a69c3395f1a57c642dc62Ying Wang int yysyntax_error_status; 295705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yychar != YYEMPTY) 295805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_ESTABLISH; 295905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysyntax_error_status = YYSYNTAX_ERROR; 296005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yysyntax_error_status == 0) 296105436638acc7c010349a69c3395f1a57c642dc62Ying Wang yymsgp = yymsg; 296205436638acc7c010349a69c3395f1a57c642dc62Ying Wang else if (yysyntax_error_status == 1) 296305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 296405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yymsg != yymsgbuf) 296505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_FREE (yymsg); 296605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 296705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!yymsg) 296805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 296905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yymsg = yymsgbuf; 297005436638acc7c010349a69c3395f1a57c642dc62Ying Wang yymsg_alloc = sizeof yymsgbuf; 297105436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysyntax_error_status = 2; 297205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 297305436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 297405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 297505436638acc7c010349a69c3395f1a57c642dc62Ying Wang yysyntax_error_status = YYSYNTAX_ERROR; 297605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yymsgp = yymsg; 297705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 297805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 297905436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyerror (yymsgp); 298005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yysyntax_error_status == 2) 298105436638acc7c010349a69c3395f1a57c642dc62Ying Wang goto yyexhaustedlab; 2982cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 298305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef YYSYNTAX_ERROR 2984cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 2985cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 2986cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 298705436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyerror_range[1] = yylloc; 2988cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2989cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyerrstatus == 3) 2990cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 299105436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* If just tried and failed to reuse lookahead token after an 2992cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project error, discard it. */ 2993cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 2994cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yychar <= YYEOF) 2995cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 2996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Return failure if at end of input. */ 2997cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yychar == YYEOF) 2998cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYABORT; 2999cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project else 3001cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yydestruct ("Error: discarding", 3003cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yytoken, &yylval, &yylloc); 3004cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yychar = YYEMPTY; 3005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3006cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3007cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 300805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Else will try to reuse lookahead token after shifting the error 3009cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project token. */ 3010cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyerrlab1; 3011cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3012cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3013cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*---------------------------------------------------. 3014cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyerrorlab -- error raised explicitly by YYERROR. | 3015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`---------------------------------------------------*/ 3016cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyerrorlab: 3017cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Pacify compilers like GCC when the user code never invokes 3019cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYERROR and the label yyerrorlab therefore never appears in user 3020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project code. */ 3021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (/*CONSTCOND*/ 0) 3022cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyerrorlab; 3023cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 302405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyerror_range[1] = yylsp[1-yylen]; 3025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Do not reclaim the symbols of the rule which action triggered 3026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project this YYERROR. */ 3027cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPOPSTACK (yylen); 3028cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yylen = 0; 3029cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_STACK_PRINT (yyss, yyssp); 3030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = *yyssp; 3031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyerrlab1; 3032cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3033cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-------------------------------------------------------------. 3035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyerrlab1 -- common code for both syntax error and YYERROR. | 3036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-------------------------------------------------------------*/ 3037cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyerrlab1: 3038cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerrstatus = 3; /* Each real token shifted decrements this. */ 3039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (;;) 3041cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yypact[yystate]; 304305436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!yypact_value_is_default (yyn)) 3044cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3045cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn += YYTERROR; 3046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 3047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3048cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyn = yytable[yyn]; 3049cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (0 < yyn) 3050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 3051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3053cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3054cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Pop the current state because it cannot handle the error token. */ 3055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyssp == yyss) 3056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYABORT; 3057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 305805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyerror_range[1] = *yylsp; 3059cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yydestruct ("Error: popping", 3060cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystos[yystate], yyvsp, yylsp); 3061cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPOPSTACK (1); 3062cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = *yyssp; 3063cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_STACK_PRINT (yyss, yyssp); 3064cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3065cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 306605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* If the stack popping above didn't lose the initial context for the 306705436638acc7c010349a69c3395f1a57c642dc62Ying Wang current lookahead token, the shift below will for sure. */ 306805436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_LAC_DISCARD ("error recovery"); 3069cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 307005436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3071cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yyvsp = yylval; 307205436638acc7c010349a69c3395f1a57c642dc62Ying Wang YY_IGNORE_MAYBE_UNINITIALIZED_END 3073cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 307405436638acc7c010349a69c3395f1a57c642dc62Ying Wang yyerror_range[2] = yylloc; 3075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Using YYLLOC is tempting, but would change the location of 307605436638acc7c010349a69c3395f1a57c642dc62Ying Wang the lookahead. YYLOC is available though. */ 307705436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYLLOC_DEFAULT (yyloc, yyerror_range, 2); 3078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *++yylsp = yyloc; 3079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Shift the error token. */ 3081cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 3082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystate = yyn; 3084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yynewstate; 3085cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3086cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3087cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-------------------------------------. 3088cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyacceptlab -- YYACCEPT comes here. | 3089cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-------------------------------------*/ 3090cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyacceptlab: 3091cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyresult = 0; 3092cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyreturn; 3093cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3094cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-----------------------------------. 3095cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyabortlab -- YYABORT comes here. | 3096cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-----------------------------------*/ 3097cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyabortlab: 3098cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyresult = 1; 3099cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project goto yyreturn; 3100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 310105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 3102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*-------------------------------------------------. 3103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| yyexhaustedlab -- memory exhaustion comes here. | 3104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`-------------------------------------------------*/ 3105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyexhaustedlab: 3106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyerror (YY_("memory exhausted")); 3107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yyresult = 2; 3108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Fall through. */ 3109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 3110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyyreturn: 311205436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yychar != YYEMPTY) 311305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 311405436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Make sure we have latest lookahead translation. See comments at 311505436638acc7c010349a69c3395f1a57c642dc62Ying Wang user semantic actions for why this is necessary. */ 311605436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytoken = YYTRANSLATE (yychar); 311705436638acc7c010349a69c3395f1a57c642dc62Ying Wang yydestruct ("Cleanup: discarding lookahead", 311805436638acc7c010349a69c3395f1a57c642dc62Ying Wang yytoken, &yylval, &yylloc); 311905436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 3120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Do not reclaim the symbols of the rule which action triggered 3121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project this YYABORT or YYACCEPT. */ 3122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPOPSTACK (yylen); 3123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YY_STACK_PRINT (yyss, yyssp); 3124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project while (yyssp != yyss) 3125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yydestruct ("Cleanup: popping", 3127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project yystos[*yyssp], yyvsp, yylsp); 3128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYPOPSTACK (1); 3129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef yyoverflow 3131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yyss != yyssa) 3132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTACK_FREE (yyss); 3133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 313405436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (yyes != yyesa) 313505436638acc7c010349a69c3395f1a57c642dc62Ying Wang YYSTACK_FREE (yyes); 3136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if YYERROR_VERBOSE 3137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (yymsg != yymsgbuf) 3138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYSTACK_FREE (yymsg); 3139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif 3140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Make sure YYID is used. */ 3141cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return YYID (yyresult); 3142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 314505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Line 2041 of yacc.c */ 314605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 682 "parse-gram.y" 3147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Return the location of the left-hand side of a rule whose 3151cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project right-hand side is RHS[1] ... RHS[N]. Ignore empty nonterminals in 3152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project the right-hand side, and return an empty location equal to the end 3153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project boundary of RHS[0] if the right-hand side is empty. */ 3154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YYLTYPE 3156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectlloc_default (YYLTYPE const *rhs, int n) 3157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 3158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project int i; 3159cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project YYLTYPE loc; 3160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* SGI MIPSpro 7.4.1m miscompiles "loc.start = loc.end = rhs[n].end;". 3162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project The bug is fixed in 7.4.2m, but play it safe for now. */ 3163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project loc.start = rhs[n].end; 3164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project loc.end = rhs[n].end; 3165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 316605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Ignore empty nonterminals the start of the right-hand side. 3167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Do not bother to ignore them at the end of the right-hand side, 3168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project since empty nonterminals have the same end as their predecessors. */ 3169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (i = 1; i <= n; i++) 3170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (! equal_boundaries (rhs[i].start, rhs[i].end)) 3171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project loc.start = rhs[i].start; 3173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project break; 3174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return loc; 3177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Add a lex-param or a parse-param (depending on TYPE) with 3181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project declaration DECL and location LOC. */ 3182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 3184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectadd_param (char const *type, char *decl, location loc) 3185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 3186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project static char const alphanum[26 + 26 + 1 + 10] = 3187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "abcdefghijklmnopqrstuvwxyz" 3188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 3189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "_" 3190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project "0123456789"; 3191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project char const *name_start = NULL; 3192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project char *p; 3193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Stop on last actual character. */ 3195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project for (p = decl; p[1]; p++) 3196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if ((p == decl 3197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project || ! memchr (alphanum, p[-1], sizeof alphanum)) 3198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project && memchr (alphanum, p[0], sizeof alphanum - 10)) 3199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project name_start = p; 3200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project /* Strip the surrounding '{' and '}', and any blanks just inside 3202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project the braces. */ 320305436638acc7c010349a69c3395f1a57c642dc62Ying Wang --p; 320405436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (c_isspace ((unsigned char) *p)) 320505436638acc7c010349a69c3395f1a57c642dc62Ying Wang --p; 3206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project p[1] = '\0'; 320705436638acc7c010349a69c3395f1a57c642dc62Ying Wang ++decl; 320805436638acc7c010349a69c3395f1a57c642dc62Ying Wang while (c_isspace ((unsigned char) *decl)) 320905436638acc7c010349a69c3395f1a57c642dc62Ying Wang ++decl; 3210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (! name_start) 3212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project complain_at (loc, _("missing identifier in parameter declaration")); 3213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project else 3214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 321505436638acc7c010349a69c3395f1a57c642dc62Ying Wang char *name = xmemdup0 (name_start, strspn (name_start, alphanum)); 3216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project muscle_pair_list_grow (type, decl, name); 3217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project free (name); 3218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 322005436638acc7c010349a69c3395f1a57c642dc62Ying Wang gram_scanner_last_string_free (); 3221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 322305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 3225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectversion_check (location const *loc, char const *version) 3226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 3227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (strverscmp (version, PACKAGE_VERSION) > 0) 3228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project { 3229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project complain_at (*loc, "require bison %s, but have %s", 323005436638acc7c010349a69c3395f1a57c642dc62Ying Wang version, PACKAGE_VERSION); 323105436638acc7c010349a69c3395f1a57c642dc62Ying Wang exit (EX_MISMATCH); 3232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project } 3233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void 3236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectgram_error (location const *loc, char const *msg) 3237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 3238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project complain_at (*loc, "%s", msg); 3239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectchar const * 3242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttoken_name (int type) 3243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{ 3244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project return yytname[YYTRANSLATE (type)]; 3245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} 3246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 324705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic char const * 324805436638acc7c010349a69c3395f1a57c642dc62Ying Wangchar_name (char c) 324905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 325005436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (c == '\'') 325105436638acc7c010349a69c3395f1a57c642dc62Ying Wang return "'\\''"; 325205436638acc7c010349a69c3395f1a57c642dc62Ying Wang else 325305436638acc7c010349a69c3395f1a57c642dc62Ying Wang { 325405436638acc7c010349a69c3395f1a57c642dc62Ying Wang char buf[4]; 325505436638acc7c010349a69c3395f1a57c642dc62Ying Wang buf[0] = '\''; buf[1] = c; buf[2] = '\''; buf[3] = '\0'; 325605436638acc7c010349a69c3395f1a57c642dc62Ying Wang return quotearg_style (escape_quoting_style, buf); 325705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } 325805436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 3259