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