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