18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef lint
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatic char yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93";
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYBYACC 1
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYMAJOR 1
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYMINOR 9
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define yyclearin (yychar=(-1))
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define yyerrok (yyerrflag=0)
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYRECOVERING (yyerrflag!=0)
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYPREFIX "yy"
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 10 "./parse.y"
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*-
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (c) 1990 The Regents of the University of California.
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * All rights reserved.
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This code is derived from software contributed to Berkeley by
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Vern Paxson.
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The United States Government has rights in this work pursuant
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * to contract no. DE-AC03-76SF00098 between the United States
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Department of Energy and the University of California.
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms with or without
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification are permitted provided that: (1) source distributions retain
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * this entire copyright notice and comment, and (2) distributions including
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * binaries display the following acknowledgement:  ``This product includes
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * software developed by the University of California, Berkeley and its
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * contributors'' in the documentation or other materials provided with the
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * distribution and in all advertising materials mentioning features or use
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of this software.  Neither the name of the University nor the names of
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived from
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * this software without specific prior written permission.
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* $Header: /home/daffy/u0/vern/flex/RCS/parse.y,v 2.28 95/04/21 11:51:51 vern Exp $ */
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Some versions of bison are broken in that they use alloca() but don't
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * declare it properly.  The following is the patented (just kidding!)
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * #ifdef chud to fix the problem, courtesy of Francois Pinard.
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef YYBISON
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* AIX requires this to be the first thing in the file.  What a piece.  */
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# ifdef _AIX
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project #pragma alloca
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# endif
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "flexdef.h"
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* The remainder of the alloca() cruft has to come after including flexdef.h,
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * so HAVE_ALLOCA_H is (possibly) defined.
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef YYBISON
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# ifdef __GNUC__
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#  ifndef alloca
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#   define alloca __builtin_alloca
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#  endif
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# else
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#  if HAVE_ALLOCA_H
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#   include <alloca.h>
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#  else
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#   ifdef __hpux
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid *alloca ();
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#   else
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#    ifdef __TURBOC__
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#     include <malloc.h>
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#    else
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar *alloca ();
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#    endif
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#   endif
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#  endif
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# endif
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Bletch, ^^^^ that was ugly! */
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, rulelen;
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint trlcontxt, xcluflg, currccl, cclsorted, varlength, variable_trail_rule;
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint *scon_stk;
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint scon_stk_ptr;
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatic int madeany = false;  /* whether we've made the '.' character class */
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint previous_continued_action;	/* whether the previous rule's action was '|' */
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Expand a POSIX character class expression. */
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCL_EXPR(func) \
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{ \
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	int c; \
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	for ( c = 0; c < csize; ++c ) \
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		if ( isascii(c) && func(c) ) \
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			ccladd( currccl, c ); \
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* While POSIX defines isblank(), it's not ANSI C. */
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define IS_BLANK(c) ((c) == ' ' || (c) == '\t')
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* On some over-ambitious machines, such as DEC Alpha's, the default
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * token type is "long" instead of "int"; this leads to problems with
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * declaring yylval in flexdef.h.  But so far, all the yacc's I've seen
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * wrap their definitions of YYSTYPE with "#ifndef YYSTYPE"'s, so the
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * following should ensure that the default token type is "int".
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYSTYPE int
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 112 "y.tab.c"
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CHAR 257
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define NUMBER 258
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define SECTEND 259
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define SCDECL 260
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define XSCDECL 261
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define NAME 262
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define PREVCCL 263
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define EOF_OP 264
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define OPTION_OP 265
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define OPT_OUTFILE 266
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define OPT_PREFIX 267
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define OPT_YYCLASS 268
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_ALNUM 269
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_ALPHA 270
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_BLANK 271
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_CNTRL 272
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_DIGIT 273
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_GRAPH 274
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_LOWER 275
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_PRINT 276
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_PUNCT 277
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_SPACE 278
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_UPPER 279
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define CCE_XDIGIT 280
1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYERRCODE 256
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yylhs[] = {                                        -1,
1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    1,    2,    2,    2,    2,    3,    6,    6,    7,
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    7,    7,    8,    9,    9,   10,   10,   10,    4,    4,
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    4,    5,   12,   12,   12,   12,   14,   11,   11,   11,
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   15,   15,   15,   16,   13,   13,   13,   13,   18,   18,
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   17,   19,   19,   20,   20,   20,   20,   20,   20,   20,
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   20,   20,   20,   20,   20,   21,   21,   23,   23,   23,
1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   23,   24,   24,   24,   24,   24,   24,   24,   24,   24,
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   24,   24,   24,   22,   22,
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yylen[] = {                                         2,
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    5,    0,    3,    2,    0,    1,    1,    1,    1,    2,
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    1,    1,    2,    2,    0,    3,    3,    3,    5,    5,
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    2,    1,    1,    1,    0,    4,    3,    0,
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    3,    1,    1,    1,    2,    3,    2,    1,    3,    1,
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    2,    2,    1,    2,    2,    2,    6,    5,    4,    1,
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    1,    1,    3,    3,    1,    3,    4,    4,    2,    2,
1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    1,    1,    1,    2,    0,
1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yydefred[] = {                                      2,
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    6,    0,    7,    8,    9,   15,   21,    0,
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    4,    0,    0,   12,   11,    0,    0,    0,    0,   14,
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    1,    0,   10,    0,    0,    0,    0,    0,   21,
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,   16,   17,   18,   29,   33,   34,    0,   32,    0,
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   26,   55,   52,   25,    0,   50,   75,    0,    0,    0,
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   24,    0,    0,    0,    0,   51,   28,    0,   20,   23,
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,   61,    0,   19,    0,   37,    0,   41,    0,
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,   44,   45,   46,   31,   74,   53,   54,    0,    0,
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   72,   73,   56,   60,   36,    0,    0,   57,    0,   49,
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,   58,    0,   48,   47,
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yydgoto[] = {                                       1,
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    2,    4,    9,   13,   22,   10,   16,   11,   12,   20,
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   23,   50,   51,   29,   38,   39,   52,   53,   54,   55,
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   56,   61,   64,   94,
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yysindex[] = {                                      0,
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0, -235,    0, -191,    0,    0,    0,    0,    0, -207,
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0, -215,  -18,    0,    0, -202,    4,   26,   32,    0,
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   41,    0,  -35,    0, -168, -166, -165,   38, -180,    0,
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  -30,    0,    0,    0,    0,    0,    0,  -16,    0,  -40,
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,   -2,    0,    0,   -2,    8,   93,
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,   -2,  -25,   -2,   15,    0,    0, -153,    0,    0,
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  -27,  -26,    0,  -88,    0,  -23,    0,   -2,    0,   15,
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project -150,    0,    0,    0,    0,    0,    0,    0,   -3,   65,
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,   -2,  -21,    0, -145,    0,
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project -116,    0,  -12,    0,    0,
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yyrindex[] = {                                      0,
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0, -188,    0,    0,    0,    0,    0,    0,    0,    0,
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0, -154,    1,    0,    0, -140,    0,    0,    0,    0,
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project -176,    0,  -28,    0,    0,    0,    0,    0,    0,    0,
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,  -32,
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,   22,    0,
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,  106,    7,  -10,    0,    0,    0,    0,    0,
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,  108,    0,    0,    0,   -7,
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,   46,
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    9,    0,    0,    0,    0,
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yygindex[] = {                                      0,
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,   92,  100,    0,    0,    0,    0,    0,
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,   81,    0,    0,   69,    0,   27,   60,  -29,
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,   66,    0,
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYTABLESIZE 326
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yytable[] = {                                      43,
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   22,   30,   42,   47,   93,   22,   77,   30,  104,   48,
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   67,   22,   95,   30,   78,   46,   40,   22,   39,   21,
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    3,   69,  101,   43,   70,   43,   42,   58,   42,   43,
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   43,   47,   42,   42,   30,   43,   43,   48,   42,   42,
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   30,   21,   40,   46,   39,   57,   30,   40,   14,   39,
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   17,   18,   19,   40,   15,   39,   72,   73,   30,   24,
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   49,   30,   22,   45,   25,   22,   70,    5,    6,    7,
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    5,    5,    5,    8,   62,   36,    5,   74,   66,   27,
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   43,   37,   28,   42,   59,   27,   26,   30,   49,   98,
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   30,   30,   27,   32,   30,   33,   34,   68,   68,   35,
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   68,   63,   65,  100,   13,   13,   13,   97,   37,   99,
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   13,  102,  105,   43,   61,   38,   42,   35,    3,    3,
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    3,   40,   31,   30,    3,   60,   75,   96,   79,    0,
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   40,    0,   39,    0,    0,    0,    0,   71,   59,    0,
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,  103,    0,    0,    0,    0,    0,    0,    0,    0,
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,   80,    0,
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   81,   82,   83,   84,   85,   86,   87,   88,   89,   90,
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   91,   92,    0,    0,    0,    0,    0,    0,    0,    0,
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,   30,   30,   41,   42,   22,   22,   76,
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   30,   30,   43,   44,   22,   22,    0,    0,    0,    0,
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,   43,    0,    0,   42,
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,   43,   80,   42,   42,   30,   30,    0,    0,
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   43,    0,    0,   30,   30,   81,   82,   83,   84,   85,
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   86,   87,   88,   89,   90,   91,   92,    0,   61,    0,
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   61,   61,   59,    0,    0,    0,    0,    0,    0,    0,
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,    0,    0,    0,   59,   59,   59,   59,   59,   59,
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   59,   59,   59,   59,   59,   59,
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yycheck[] = {                                      10,
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    0,   34,   10,   34,   93,   34,   34,   40,  125,   40,
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   36,   40,   36,   46,   41,   46,   10,   46,   10,   60,
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  256,   47,   44,   34,   54,   36,   34,   44,   36,   40,
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   41,   34,   40,   41,   34,   46,   47,   40,   46,   47,
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   40,   60,   36,   46,   36,   62,   46,   41,  256,   41,
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  266,  267,  268,   47,  262,   47,   42,   43,   91,  262,
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   91,   94,   91,   94,   61,   94,   96,  259,  260,  261,
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  259,  260,  261,  265,   48,  256,  265,   63,   52,  256,
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   91,  262,   42,   91,  125,  262,   61,  123,   91,   93,
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  123,   91,   61,  262,   94,  262,  262,  124,  124,   62,
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  124,   94,   10,  125,  259,  260,  261,  258,  262,   45,
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  265,  257,  125,  124,   93,   10,  124,   10,  259,  260,
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  261,   30,   23,  123,  265,   45,   58,   68,   63,   -1,
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  124,   -1,  124,   -1,   -1,   -1,   -1,  123,   93,   -1,
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,  258,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  279,  280,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,  256,  257,  256,  257,  256,  257,  257,
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  263,  264,  263,  264,  263,  264,   -1,   -1,   -1,   -1,
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,  257,
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,  263,  257,  257,  263,  256,  257,   -1,   -1,
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  263,   -1,   -1,  263,  264,  269,  270,  271,  272,  273,
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  274,  275,  276,  277,  278,  279,  280,   -1,  257,   -1,
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  279,  280,  257,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project   -1,   -1,   -1,   -1,  269,  270,  271,  272,  273,  274,
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  275,  276,  277,  278,  279,  280,
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYFINAL 1
2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef YYDEBUG
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYDEBUG 0
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYMAXTOKEN 280
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar *yyname[] = {
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,"'\"'",0,"'$'",0,0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,0,0,0,"'<'","'='","'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"CHAR","NUMBER","SECTEND",
2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"SCDECL","XSCDECL","NAME","PREVCCL","EOF_OP","OPTION_OP","OPT_OUTFILE",
2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"OPT_PREFIX","OPT_YYCLASS","CCE_ALNUM","CCE_ALPHA","CCE_BLANK","CCE_CNTRL",
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"CCE_DIGIT","CCE_GRAPH","CCE_LOWER","CCE_PRINT","CCE_PUNCT","CCE_SPACE",
2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"CCE_UPPER","CCE_XDIGIT",
2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar *yyrule[] = {
2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"$accept : goal",
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"goal : initlex sect1 sect1end sect2 initforrule",
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"initlex :",
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect1 : sect1 startconddecl namelist1",
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect1 : sect1 options",
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect1 :",
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect1 : error",
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect1end : SECTEND",
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"startconddecl : SCDECL",
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"startconddecl : XSCDECL",
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist1 : namelist1 NAME",
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist1 : NAME",
3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist1 : error",
3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"options : OPTION_OP optionlist",
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"optionlist : optionlist option",
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"optionlist :",
3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"option : OPT_OUTFILE '=' NAME",
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"option : OPT_PREFIX '=' NAME",
3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"option : OPT_YYCLASS '=' NAME",
3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect2 : sect2 scon initforrule flexrule '\\n'",
3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect2 : sect2 scon '{' sect2 '}'",
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sect2 :",
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"initforrule :",
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"flexrule : '^' rule",
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"flexrule : rule",
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"flexrule : EOF_OP",
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"flexrule : error",
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"scon_stk_ptr :",
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"scon : '<' scon_stk_ptr namelist2 '>'",
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"scon : '<' '*' '>'",
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"scon :",
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist2 : namelist2 ',' sconname",
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist2 : sconname",
3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"namelist2 : error",
3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"sconname : NAME",
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"rule : re2 re",
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"rule : re2 re '$'",
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"rule : re '$'",
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"rule : re",
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"re : re '|' series",
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"re : series",
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"re2 : re '/'",
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"series : series singleton",
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"series : singleton",
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '*'",
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '+'",
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '?'",
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '{' NUMBER ',' NUMBER '}'",
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '{' NUMBER ',' '}'",
3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : singleton '{' NUMBER '}'",
3488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : '.'",
3498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : fullccl",
3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : PREVCCL",
3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : '\"' string '\"'",
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : '(' re ')'",
3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"singleton : CHAR",
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"fullccl : '[' ccl ']'",
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"fullccl : '[' '^' ccl ']'",
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl : ccl CHAR '-' CHAR",
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl : ccl CHAR",
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl : ccl ccl_expr",
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl :",
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_ALNUM",
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_ALPHA",
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_BLANK",
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_CNTRL",
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_DIGIT",
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_GRAPH",
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_LOWER",
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_PRINT",
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_PUNCT",
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_SPACE",
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_UPPER",
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"ccl_expr : CCE_XDIGIT",
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"string : string CHAR",
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project"string :",
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef YYSTYPE
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef int YYSTYPE;
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef YYSTACKSIZE
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#undef YYMAXDEPTH
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYMAXDEPTH YYSTACKSIZE
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef YYMAXDEPTH
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYSTACKSIZE YYMAXDEPTH
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYSTACKSIZE 500
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYMAXDEPTH 500
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint yydebug;
3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint yynerrs;
3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint yyerrflag;
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint yychar;
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort *yyssp;
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectYYSTYPE *yyvsp;
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectYYSTYPE yyval;
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectYYSTYPE yylval;
3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectshort yyss[YYSTACKSIZE];
3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectYYSTYPE yyvs[YYSTACKSIZE];
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define yystacksize YYSTACKSIZE
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 776 "./parse.y"
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* build_eof_action - build the "<<EOF>>" action for the active start
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *                    conditions
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid build_eof_action()
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	register int i;
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	char action_text[MAXLINE];
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	for ( i = 1; i <= scon_stk_ptr; ++i )
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		{
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		if ( sceof[scon_stk[i]] )
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			format_pinpoint_message(
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				"multiple <<EOF>> rules for start condition %s",
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				scname[scon_stk[i]] );
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		else
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			{
4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			sceof[scon_stk[i]] = true;
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			sprintf( action_text, "case YY_STATE_EOF(%s):\n",
4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				scname[scon_stk[i]] );
4258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			add_action( action_text );
4268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	line_directive_out( (FILE *) 0, 1 );
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	/* This isn't a normal rule after all - don't count it as
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * such, so we don't have any holes in the rule numbering
4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * (which make generating "rule can never match" warnings
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 * more difficult.
4358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	 */
4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	--num_rules;
4378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	++num_eof_rules;
4388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* format_synerr - write out formatted syntax error */
4428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid format_synerr( msg, arg )
4448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar msg[], arg[];
4458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	char errmsg[MAXLINE];
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	(void) sprintf( errmsg, msg, arg );
4498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	synerr( errmsg );
4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* synerr - report a syntax error */
4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid synerr( str )
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar str[];
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	syntaxerror = true;
4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	pinpoint_message( str );
4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* format_warn - write out formatted warning */
4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid format_warn( msg, arg )
4668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar msg[], arg[];
4678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	char warn_msg[MAXLINE];
4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	(void) sprintf( warn_msg, msg, arg );
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	warn( warn_msg );
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* warn - report a warning, unless -w was given */
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid warn( str )
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar str[];
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	line_warning( str, linenum );
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* format_pinpoint_message - write out a message formatted with one string,
4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *			     pinpointing its location
4858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid format_pinpoint_message( msg, arg )
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar msg[], arg[];
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	char errmsg[MAXLINE];
4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	(void) sprintf( errmsg, msg, arg );
4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	pinpoint_message( errmsg );
4948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* pinpoint_message - write out a message, pinpointing its location */
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid pinpoint_message( str )
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar str[];
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	line_pinpoint( str, linenum );
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* line_warning - report a warning at a given line, unless -w was given */
5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid line_warning( str, line )
5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar str[];
5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint line;
5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
5128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	char warning[MAXLINE];
5138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	if ( ! nowarn )
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		{
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		sprintf( warning, "warning, %s", str );
5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		line_pinpoint( warning, line );
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* line_pinpoint - write out a message, pinpointing it at the given line */
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid line_pinpoint( str, line )
5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar str[];
5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint line;
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	fprintf( stderr, "\"%s\", line %d: %s\n", infilename, line, str );
5298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* yyerror - eat up an error message from the parser;
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *	     currently, messages are ignore
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid yyerror( msg )
5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectchar msg[];
5388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
5398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 541 "y.tab.c"
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYABORT goto yyabort
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYREJECT goto yyabort
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYACCEPT goto yyaccept
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define YYERROR goto yyerrlab
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyparse()
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    register int yym, yyn, yystate;
5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    register char *yys;
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    extern char *getenv();
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yys = getenv("YYDEBUG"))
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yyn = *yys;
5568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yyn >= '0' && yyn <= '9')
5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yydebug = yyn - '0';
5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yynerrs = 0;
5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyerrflag = 0;
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yychar = (-1);
5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyssp = yyss;
5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyvsp = yyvs;
5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *yyssp = yystate = 0;
5688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyloop:
5708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yyn = yydefred[yystate]) goto yyreduce;
5718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yychar < 0)
5728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
5738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if ((yychar = yylex()) < 0) yychar = 0;
5748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
5758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yydebug)
5768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
5778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yys = 0;
5788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
5798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if (!yys) yys = "illegal-symbol";
5808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            printf("%sdebug: state %d, reading %d (%s)\n",
5818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    YYPREFIX, yystate, yychar, yys);
5828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
5838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
5858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
5868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
5878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
5888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
5898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yydebug)
5908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            printf("%sdebug: state %d, shifting to state %d\n",
5918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    YYPREFIX, yystate, yytable[yyn]);
5928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
5938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yyssp >= yyss + yystacksize - 1)
5948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
5958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            goto yyoverflow;
5968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
5978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *++yyssp = yystate = yytable[yyn];
5988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *++yyvsp = yylval;
5998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yychar = (-1);
6008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yyerrflag > 0)  --yyerrflag;
6018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        goto yyloop;
6028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
6038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
6048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
6058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
6068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yyn = yytable[yyn];
6078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        goto yyreduce;
6088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
6098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yyerrflag) goto yyinrecovery;
6108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef lint
6118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    goto yynewerror;
6128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyynewerror:
6148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyerror("syntax error");
6158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef lint
6168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    goto yyerrlab;
6178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyerrlab:
6198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ++yynerrs;
6208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyinrecovery:
6218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yyerrflag < 3)
6228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
6238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yyerrflag = 3;
6248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        for (;;)
6258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
6268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
6278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
6288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            {
6298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
6308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (yydebug)
6318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    printf("%sdebug: state %d, error recovery shifting\
6328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
6338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (yyssp >= yyss + yystacksize - 1)
6358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                {
6368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    goto yyoverflow;
6378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                }
6388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                *++yyssp = yystate = yytable[yyn];
6398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                *++yyvsp = yylval;
6408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                goto yyloop;
6418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            }
6428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            else
6438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            {
6448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
6458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (yydebug)
6468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    printf("%sdebug: error recovery discarding state %d\n",
6478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                            YYPREFIX, *yyssp);
6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (yyssp <= yyss) goto yyabort;
6508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                --yyssp;
6518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                --yyvsp;
6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            }
6538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
6548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
6558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
6568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
6578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yychar == 0) goto yyabort;
6588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
6598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yydebug)
6608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
6618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yys = 0;
6628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
6638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if (!yys) yys = "illegal-symbol";
6648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
6658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    YYPREFIX, yystate, yychar, yys);
6668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
6678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yychar = (-1);
6698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        goto yyloop;
6708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
6718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyreduce:
6728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
6738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yydebug)
6748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        printf("%sdebug: state %d, reducing by rule %d (%s)\n",
6758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                YYPREFIX, yystate, yyn, yyrule[yyn]);
6768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yym = yylen[yyn];
6788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyval = yyvsp[1-yym];
6798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    switch (yyn)
6808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
6818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 1:
6828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 113 "./parse.y"
6838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ /* add default rule */
6848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			int def_rule;
6858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			pat = cclinit();
6878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			cclnegate( pat );
6888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			def_rule = mkstate( -pat );
6908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* Remember the number of the default rule so we
6928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * don't generate "can't match" warnings for it.
6938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 */
6948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			default_rule = num_rules;
6958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			finish_rule( def_rule, false, 0, 0 );
6978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			for ( i = 1; i <= lastsc; ++i )
6998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				scset[i] = mkbranch( scset[i], def_rule );
7008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( spprdflt )
7028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				add_action(
7038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				"YY_FATAL_ERROR( \"flex scanner jammed\" )" );
7048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
7058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				add_action( "ECHO" );
7068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			add_action( ";\n\tYY_BREAK\n" );
7088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
7098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 2:
7118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 142 "./parse.y"
7128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ /* initialize for processing rules */
7138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* Create default DFA start condition. */
7158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			scinstal( "INITIAL", false );
7168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
7178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 6:
7198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 153 "./parse.y"
7208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ synerr( "unknown error processing section 1" ); }
7218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 7:
7238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 157 "./parse.y"
7248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			check_options();
7268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			scon_stk = allocate_integer_array( lastsc + 1 );
7278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			scon_stk_ptr = 0;
7288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
7298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 8:
7318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 165 "./parse.y"
7328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ xcluflg = false; }
7338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 9:
7358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 168 "./parse.y"
7368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ xcluflg = true; }
7378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 10:
7398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 172 "./parse.y"
7408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ scinstal( nmstr, xcluflg ); }
7418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 11:
7438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 175 "./parse.y"
7448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ scinstal( nmstr, xcluflg ); }
7458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 12:
7478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 178 "./parse.y"
7488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ synerr( "bad start condition list" ); }
7498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 16:
7518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 189 "./parse.y"
7528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			outfilename = copy_string( nmstr );
7548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			did_outfilename = 1;
7558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
7568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 17:
7588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 194 "./parse.y"
7598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ prefix = copy_string( nmstr ); }
7608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 18:
7628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 196 "./parse.y"
7638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyclass = copy_string( nmstr ); }
7648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 19:
7668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 200 "./parse.y"
7678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ scon_stk_ptr = yyvsp[-3]; }
7688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 20:
7708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 202 "./parse.y"
7718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ scon_stk_ptr = yyvsp[-3]; }
7728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 22:
7748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 207 "./parse.y"
7758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* Initialize for a parse of one rule. */
7778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			trlcontxt = variable_trail_rule = varlength = false;
7788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			trailcnt = headcnt = rulelen = 0;
7798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			current_state_type = STATE_NORMAL;
7808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			previous_continued_action = continued_action;
7818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			in_rule = true;
7828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			new_rule();
7848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
7858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
7868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 23:
7878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 220 "./parse.y"
7888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			pat = yyvsp[0];
7908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			finish_rule( pat, variable_trail_rule,
7918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				headcnt, trailcnt );
7928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( scon_stk_ptr > 0 )
7948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
7958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= scon_stk_ptr; ++i )
7968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					scbol[scon_stk[i]] =
7978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						mkbranch( scbol[scon_stk[i]],
7988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project								pat );
7998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
8028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Add to all non-exclusive start conditions,
8048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * including the default (0) start condition.
8058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
8068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= lastsc; ++i )
8088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( ! scxclu[i] )
8098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						scbol[i] = mkbranch( scbol[i],
8108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project									pat );
8118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( ! bol_needed )
8148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				bol_needed = true;
8168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( performance_report > 1 )
8188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					pinpoint_message(
8198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			"'^' operator results in sub-optimal performance" );
8208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
8228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 24:
8248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 256 "./parse.y"
8258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			pat = yyvsp[0];
8278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			finish_rule( pat, variable_trail_rule,
8288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				headcnt, trailcnt );
8298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( scon_stk_ptr > 0 )
8318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= scon_stk_ptr; ++i )
8338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					scset[scon_stk[i]] =
8348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						mkbranch( scset[scon_stk[i]],
8358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project								pat );
8368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
8398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= lastsc; ++i )
8418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( ! scxclu[i] )
8428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						scset[i] =
8438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							mkbranch( scset[i],
8448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project								pat );
8458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
8478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 25:
8498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 280 "./parse.y"
8508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( scon_stk_ptr > 0 )
8528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				build_eof_action();
8538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
8558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* This EOF applies to all start conditions
8578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * which don't already have EOF actions.
8588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
8598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= lastsc; ++i )
8608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( ! sceof[i] )
8618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						scon_stk[++scon_stk_ptr] = i;
8628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( scon_stk_ptr == 0 )
8648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					warn(
8658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			"all start conditions already have <<EOF>> rules" );
8668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				else
8688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					build_eof_action();
8698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
8708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
8718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 26:
8738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 303 "./parse.y"
8748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ synerr( "unrecognized rule" ); }
8758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 27:
8778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 307 "./parse.y"
8788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = scon_stk_ptr; }
8798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 28:
8818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 311 "./parse.y"
8828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[-2]; }
8838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
8848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 29:
8858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 314 "./parse.y"
8868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = scon_stk_ptr;
8888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			for ( i = 1; i <= lastsc; ++i )
8908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
8918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				int j;
8928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( j = 1; j <= scon_stk_ptr; ++j )
8948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( scon_stk[j] == i )
8958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						break;
8968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( j > scon_stk_ptr )
8988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					scon_stk[++scon_stk_ptr] = i;
8998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
9008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
9018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 30:
9038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 331 "./parse.y"
9048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = scon_stk_ptr; }
9058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 33:
9078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 339 "./parse.y"
9088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ synerr( "bad start condition list" ); }
9098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 34:
9118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 343 "./parse.y"
9128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( (scnum = sclookup( nmstr )) == 0 )
9148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				format_pinpoint_message(
9158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					"undeclared start condition %s",
9168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					nmstr );
9178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
9188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
9198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = 1; i <= scon_stk_ptr; ++i )
9208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( scon_stk[i] == scnum )
9218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						{
9228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						format_warn(
9238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							"<%s> specified twice",
9248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							scname[scnum] );
9258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						break;
9268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						}
9278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( i > scon_stk_ptr )
9298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					scon_stk[++scon_stk_ptr] = scnum;
9308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
9318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
9328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 35:
9348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 366 "./parse.y"
9358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( transchar[lastst[yyvsp[0]]] != SYM_EPSILON )
9378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Provide final transition \now/ so it
9388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * will be marked as a trailing context
9398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * state.
9408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
9418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyvsp[0] = link_machines( yyvsp[0],
9428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						mkstate( SYM_EPSILON ) );
9438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			mark_beginning_as_normal( yyvsp[0] );
9458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			current_state_type = STATE_NORMAL;
9468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( previous_continued_action )
9488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
9498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* We need to treat this as variable trailing
9508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * context so that the backup does not happen
9518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * in the action but before the action switch
9528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * statement.  If the backup happens in the
9538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * action, then the rules "falling into" this
9548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * one's action will *also* do the backup,
9558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * erroneously.
9568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
9578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( ! varlength || headcnt != 0 )
9588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					warn(
9598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		"trailing context made variable due to preceding '|' action" );
9608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Mark as variable. */
9628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				varlength = true;
9638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				headcnt = 0;
9648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
9658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( lex_compat || (varlength && headcnt == 0) )
9678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{ /* variable trailing context rule */
9688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Mark the first part of the rule as the
9698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * accepting "head" part of a trailing
9708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * context rule.
9718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 *
9728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * By the way, we didn't do this at the
9738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * beginning of this production because back
9748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * then current_state_type was set up for a
9758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * trail rule, and add_accept() can create
9768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * a new state ...
9778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
9788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				add_accept( yyvsp[-1],
9798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					num_rules | YY_TRAILING_HEAD_MASK );
9808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				variable_trail_rule = true;
9818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
9828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
9848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				trailcnt = rulelen;
9858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = link_machines( yyvsp[-1], yyvsp[0] );
9878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
9888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 36:
9908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 421 "./parse.y"
9918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ synerr( "trailing context used twice" ); }
9928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
9938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 37:
9948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 424 "./parse.y"
9958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			headcnt = 0;
9978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			trailcnt = 1;
9988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			rulelen = 1;
9998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = false;
10008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			current_state_type = STATE_TRAILING_CONTEXT;
10028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( trlcontxt )
10048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
10058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "trailing context used twice" );
10068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = mkstate( SYM_EPSILON );
10078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
10088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else if ( previous_continued_action )
10108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
10118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* See the comment in the rule for "re2 re"
10128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * above.
10138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
10148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				warn(
10158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		"trailing context made variable due to preceding '|' action" );
10168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				varlength = true;
10188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
10198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( lex_compat || varlength )
10218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
10228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Again, see the comment in the rule for
10238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * "re2 re" above.
10248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
10258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				add_accept( yyvsp[-1],
10268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					num_rules | YY_TRAILING_HEAD_MASK );
10278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				variable_trail_rule = true;
10288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
10298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			trlcontxt = true;
10318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			eps = mkstate( SYM_EPSILON );
10338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = link_machines( yyvsp[-1],
10348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				link_machines( eps, mkstate( '\n' ) ) );
10358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
10368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
10378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 38:
10388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 467 "./parse.y"
10398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[0];
10418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( trlcontxt )
10438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
10448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( lex_compat || (varlength && headcnt == 0) )
10458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					/* Both head and trail are
10468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					 * variable-length.
10478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					 */
10488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					variable_trail_rule = true;
10498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				else
10508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					trailcnt = rulelen;
10518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
10528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
10538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
10548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 39:
10558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 485 "./parse.y"
10568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
10588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkor( yyvsp[-2], yyvsp[0] );
10598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
10608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
10618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 40:
10628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 491 "./parse.y"
10638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[0]; }
10648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
10658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 41:
10668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 496 "./parse.y"
10678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* This rule is written separately so the
10698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * reduction will occur before the trailing
10708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * series is parsed.
10718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 */
10728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( trlcontxt )
10748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "trailing context used twice" );
10758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
10768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				trlcontxt = true;
10778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( varlength )
10798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* We hope the trailing context is
10808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * fixed-length.
10818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
10828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				varlength = false;
10838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
10848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				headcnt = rulelen;
10858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			rulelen = 0;
10878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			current_state_type = STATE_TRAILING_CONTEXT;
10898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[-1];
10908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
10918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
10928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 42:
10938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 523 "./parse.y"
10948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* This is where concatenation of adjacent patterns
10968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * gets done.
10978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 */
10988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = link_machines( yyvsp[-1], yyvsp[0] );
10998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 43:
11028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 531 "./parse.y"
11038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[0]; }
11048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 44:
11068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 535 "./parse.y"
11078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkclos( yyvsp[-1] );
11118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 45:
11148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 542 "./parse.y"
11158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkposcl( yyvsp[-1] );
11188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 46:
11218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 548 "./parse.y"
11228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkopt( yyvsp[-1] );
11258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 47:
11288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 554 "./parse.y"
11298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( yyvsp[-3] > yyvsp[-1] || yyvsp[-3] < 0 )
11338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
11348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "bad iteration values" );
11358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = yyvsp[-5];
11368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
11378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
11388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
11398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( yyvsp[-3] == 0 )
11408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					{
11418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					if ( yyvsp[-1] <= 0 )
11428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						{
11438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						synerr(
11448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						"bad iteration values" );
11458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						yyval = yyvsp[-5];
11468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						}
11478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					else
11488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						yyval = mkopt(
11498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							mkrep( yyvsp[-5], 1, yyvsp[-1] ) );
11508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					}
11518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				else
11528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					yyval = mkrep( yyvsp[-5], yyvsp[-3], yyvsp[-1] );
11538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
11548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 48:
11578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 582 "./parse.y"
11588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( yyvsp[-2] <= 0 )
11628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
11638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "iteration value must be positive" );
11648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = yyvsp[-4];
11658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
11668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
11688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = mkrep( yyvsp[-4], yyvsp[-2], INFINITY );
11698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 49:
11728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 596 "./parse.y"
11738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* The singleton could be something like "(foo)",
11758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * in which case we have no idea what its length
11768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 * is, so we punt here.
11778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			 */
11788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			varlength = true;
11798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( yyvsp[-1] <= 0 )
11818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
11828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "iteration value must be positive" );
11838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = yyvsp[-3];
11848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
11858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
11878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyval = link_machines( yyvsp[-3],
11888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						copysingl( yyvsp[-3], yyvsp[-1] - 1 ) );
11898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
11908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
11918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 50:
11928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 615 "./parse.y"
11938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( ! madeany )
11958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
11968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Create the '.' character class. */
11978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				anyccl = cclinit();
11988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				ccladd( anyccl, '\n' );
11998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				cclnegate( anyccl );
12008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( useecs )
12028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					mkeccl( ccltbl + cclmap[anyccl],
12038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						ccllen[anyccl], nextecm,
12048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						ecgroup, csize, csize );
12058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				madeany = true;
12078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
12088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			++rulelen;
12108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkstate( -anyccl );
12128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 51:
12158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 637 "./parse.y"
12168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( ! cclsorted )
12188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Sort characters for fast searching.  We
12198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * use a shell sort since this list could
12208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * be large.
12218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
12228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				cshell( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]], true );
12238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( useecs )
12258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				mkeccl( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]],
12268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					nextecm, ecgroup, csize, csize );
12278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			++rulelen;
12298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkstate( -yyvsp[0] );
12318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 52:
12348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 655 "./parse.y"
12358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			++rulelen;
12378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkstate( -yyvsp[0] );
12398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 53:
12428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 662 "./parse.y"
12438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[-1]; }
12448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 54:
12468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 665 "./parse.y"
12478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[-1]; }
12488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 55:
12508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 668 "./parse.y"
12518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			++rulelen;
12538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
12558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyvsp[0] = clower( yyvsp[0] );
12568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = mkstate( yyvsp[0] );
12588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 56:
12618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 679 "./parse.y"
12628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = yyvsp[-1]; }
12638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 57:
12658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 682 "./parse.y"
12668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			cclnegate( yyvsp[-1] );
12688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[-1];
12698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
12718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 58:
12728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 689 "./parse.y"
12738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( caseins )
12758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
12768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( yyvsp[-2] >= 'A' && yyvsp[-2] <= 'Z' )
12778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					yyvsp[-2] = clower( yyvsp[-2] );
12788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
12798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					yyvsp[0] = clower( yyvsp[0] );
12808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
12818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( yyvsp[-2] > yyvsp[0] )
12838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				synerr( "negative range in character class" );
12848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			else
12868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				{
12878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				for ( i = yyvsp[-2]; i <= yyvsp[0]; ++i )
12888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					ccladd( yyvsp[-3], i );
12898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* Keep track if this ccl is staying in
12918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * alphabetical order.
12928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
12938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				cclsorted = cclsorted && (yyvsp[-2] > lastchar);
12948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				lastchar = yyvsp[0];
12958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
12968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[-3];
12988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
12998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 59:
13018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 717 "./parse.y"
13028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
13048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyvsp[0] = clower( yyvsp[0] );
13058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			ccladd( yyvsp[-1], yyvsp[0] );
13078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			cclsorted = cclsorted && (yyvsp[0] > lastchar);
13088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			lastchar = yyvsp[0];
13098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[-1];
13108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
13118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 60:
13138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 728 "./parse.y"
13148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			/* Too hard to properly maintain cclsorted. */
13168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			cclsorted = false;
13178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = yyvsp[-1];
13188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
13198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 61:
13218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 735 "./parse.y"
13228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			cclsorted = true;
13248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			lastchar = 0;
13258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			currccl = yyval = cclinit();
13268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
13278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 62:
13298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 742 "./parse.y"
13308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isalnum) }
13318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 63:
13338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 743 "./parse.y"
13348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isalpha) }
13358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 64:
13378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 744 "./parse.y"
13388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(IS_BLANK) }
13398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 65:
13418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 745 "./parse.y"
13428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(iscntrl) }
13438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 66:
13458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 746 "./parse.y"
13468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isdigit) }
13478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 67:
13498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 747 "./parse.y"
13508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isgraph) }
13518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 68:
13538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 748 "./parse.y"
13548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(islower) }
13558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 69:
13578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 749 "./parse.y"
13588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isprint) }
13598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 70:
13618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 750 "./parse.y"
13628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(ispunct) }
13638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 71:
13658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 751 "./parse.y"
13668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isspace) }
13678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 72:
13698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 752 "./parse.y"
13708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( caseins )
13728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					CCL_EXPR(islower)
13738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				else
13748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					CCL_EXPR(isupper)
13758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				}
13768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 73:
13788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 758 "./parse.y"
13798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ CCL_EXPR(isxdigit) }
13808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 74:
13828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 762 "./parse.y"
13838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			if ( caseins && yyvsp[0] >= 'A' && yyvsp[0] <= 'Z' )
13858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				yyvsp[0] = clower( yyvsp[0] );
13868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			++rulelen;
13888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			yyval = link_machines( yyvsp[-1], mkstate( yyvsp[0] ) );
13908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
13918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectcase 75:
13938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 772 "./parse.y"
13948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ yyval = mkstate( SYM_EPSILON ); }
13958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbreak;
13968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#line 1397 "y.tab.c"
13978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
13988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyssp -= yym;
13998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yystate = *yyssp;
14008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyvsp -= yym;
14018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yym = yylhs[yyn];
14028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yystate == 0 && yym == 0)
14038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
14048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
14058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yydebug)
14068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            printf("%sdebug: after reduction, shifting from state 0 to\
14078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project state %d\n", YYPREFIX, YYFINAL);
14088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
14098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yystate = YYFINAL;
14108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *++yyssp = YYFINAL;
14118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *++yyvsp = yyval;
14128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yychar < 0)
14138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
14148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if ((yychar = yylex()) < 0) yychar = 0;
14158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
14168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            if (yydebug)
14178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            {
14188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                yys = 0;
14198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
14208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                if (!yys) yys = "illegal-symbol";
14218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                printf("%sdebug: state %d, reading %d (%s)\n",
14228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                        YYPREFIX, YYFINAL, yychar, yys);
14238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            }
14248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
14258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
14268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (yychar == 0) goto yyaccept;
14278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        goto yyloop;
14288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
14298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
14308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
14318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yystate = yytable[yyn];
14328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
14338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        yystate = yydgoto[yym];
14348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if YYDEBUG
14358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yydebug)
14368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        printf("%sdebug: after reduction, shifting from state %d \
14378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectto state %d\n", YYPREFIX, *yyssp, yystate);
14388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
14398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (yyssp >= yyss + yystacksize - 1)
14408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    {
14418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        goto yyoverflow;
14428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
14438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *++yyssp = yystate;
14448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *++yyvsp = yyval;
14458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    goto yyloop;
14468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyoverflow:
14478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    yyerror("yacc stack overflow");
14488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyabort:
14498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return (1);
14508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectyyaccept:
14518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return (0);
14528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1453