18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* yylex - scanner front-end for flex */
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*-
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (c) 1990 The Regents of the University of California.
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * All rights reserved.
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This code is derived from software contributed to Berkeley by
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Vern Paxson.
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The United States Government has rights in this work pursuant
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * to contract no. DE-AC03-76SF00098 between the United States
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Department of Energy and the University of California.
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms with or without
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification are permitted provided that: (1) source distributions retain
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * this entire copyright notice and comment, and (2) distributions including
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * binaries display the following acknowledgement:  ``This product includes
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * software developed by the University of California, Berkeley and its
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * contributors'' in the documentation or other materials provided with the
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * distribution and in all advertising materials mentioning features or use
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of this software.  Neither the name of the University nor the names of
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived from
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * this software without specific prior written permission.
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* $Header: /home/daffy/u0/vern/flex/RCS/yylex.c,v 2.13 95/03/04 16:10:41 vern Exp $ */
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <ctype.h>
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "flexdef.h"
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "parse.h"
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* yylex - scan for a regular expression token */
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectint yylex()
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	{
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	int toktype;
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	static int beglin = false;
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	extern char *yytext;
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	if ( eofseen )
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		toktype = EOF;
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	else
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		toktype = flexscan();
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	if ( toktype == EOF || toktype == 0 )
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		{
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		eofseen = 1;
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		if ( sectnum == 1 )
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			{
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			synerr( _( "premature EOF" ) );
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			sectnum = 2;
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			toktype = SECTEND;
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		else
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			toktype = 0;
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	if ( trace )
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		{
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		if ( beglin )
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			{
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			fprintf( stderr, "%d\t", num_rules + 1 );
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			beglin = 0;
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		switch ( toktype )
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			{
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '<':
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '>':
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '^':
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '$':
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '"':
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '[':
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case ']':
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '{':
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '}':
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '|':
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '(':
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case ')':
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '-':
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '/':
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '\\':
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '?':
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '.':
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '*':
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '+':
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case ',':
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				(void) putc( toktype, stderr );
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case '\n':
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				(void) putc( '\n', stderr );
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( sectnum == 2 )
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				beglin = 1;
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case SCDECL:
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fputs( "%s", stderr );
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case XSCDECL:
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fputs( "%x", stderr );
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case SECTEND:
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fputs( "%%\n", stderr );
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				/* We set beglin to be true so we'll start
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * writing out numbers as we echo rules.
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 * flexscan() has already assigned sectnum.
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				 */
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				if ( sectnum == 2 )
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					beglin = 1;
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case NAME:
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "'%s'", nmstr );
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CHAR:
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				switch ( yylval )
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					{
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '<':
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '>':
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '^':
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '$':
1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '"':
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '[':
1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case ']':
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '{':
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '}':
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '|':
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '(':
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case ')':
1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '-':
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '/':
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '\\':
1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '?':
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '.':
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '*':
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case '+':
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					case ',':
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						fprintf( stderr, "\\%c",
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							yylval );
1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						break;
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					default:
1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						if ( ! isascii( yylval ) ||
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						     ! isprint( yylval ) )
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							fprintf( stderr,
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project								"\\%.3o",
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							(unsigned int) yylval );
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project						else
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project							(void) putc( yylval,
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project								stderr );
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					break;
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					}
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case NUMBER:
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "%d", yylval );
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case PREVCCL:
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "[%d]", yylval );
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case EOF_OP:
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "<<EOF>>" );
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case OPTION_OP:
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "%s ", yytext );
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case OPT_OUTFILE:
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case OPT_PREFIX:
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_ALNUM:
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_ALPHA:
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_BLANK:
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_CNTRL:
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_DIGIT:
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_GRAPH:
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_LOWER:
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_PRINT:
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_PUNCT:
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_SPACE:
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_UPPER:
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case CCE_XDIGIT:
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, "%s", yytext );
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			case 0:
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr, _( "End Marker\n" ) );
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			default:
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				fprintf( stderr,
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				_( "*Something Weird* - tok: %d val: %d\n" ),
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project					toktype, yylval );
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project				break;
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project			}
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	return toktype;
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	}
217