1cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 2 "ldlex.c"
2cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
3cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 4 "ldlex.c"
4cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
5cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define  YY_INT_ALIGNED short int
6cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
7cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* A lexical scanner generated by flex */
8cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
9441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_create_buffer ld_create_buffer
10441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_delete_buffer ld_delete_buffer
11441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_flex_debug ld_flex_debug
12441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_init_buffer ld_init_buffer
13441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_flush_buffer ld_flush_buffer
14441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_load_buffer_state ld_load_buffer_state
15441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_switch_to_buffer ld_switch_to_buffer
16441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyin ldin
17441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyleng ldleng
18441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yylex ldlex
19cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yylineno ldlineno
20441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyout ldout
21441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyrestart ldrestart
22441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yytext ldtext
23cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yywrap ldwrap
24cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yyalloc ldalloc
25cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yyrealloc ldrealloc
26cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yyfree ldfree
27441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
28441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define FLEX_SCANNER
29441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_FLEX_MAJOR_VERSION 2
30441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_FLEX_MINOR_VERSION 5
31cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_FLEX_SUBMINOR_VERSION 35
32cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#if YY_FLEX_SUBMINOR_VERSION > 0
33cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define FLEX_BETA
34cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
35441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
36cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* First, we deal with  platform-specific or compiler-specific issues. */
37cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
38cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* begin standard C headers. */
39441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <stdio.h>
40cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <string.h>
41cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <errno.h>
42cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <stdlib.h>
43441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
44cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* end standard C headers. */
45441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
46cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* flex integer type definitions */
47cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
48cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef FLEXINT_H
49cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define FLEXINT_H
50cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
51cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
53cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
55cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * if you want the limit (max/min) macros for int types.
57cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
58cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef __STDC_LIMIT_MACROS
59cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define __STDC_LIMIT_MACROS 1
60441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
61441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
62cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <inttypes.h>
63cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef int8_t flex_int8_t;
64cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef uint8_t flex_uint8_t;
65cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef int16_t flex_int16_t;
66cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef uint16_t flex_uint16_t;
67cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef int32_t flex_int32_t;
68cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef uint32_t flex_uint32_t;
69cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#else
70cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef signed char flex_int8_t;
71cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef short int flex_int16_t;
72cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef int flex_int32_t;
73cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef unsigned char flex_uint8_t;
74cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef unsigned short int flex_uint16_t;
75cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef unsigned int flex_uint32_t;
76cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif /* ! C99 */
77441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
78cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Limits of integral types. */
79cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT8_MIN
80cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT8_MIN               (-128)
81cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
82cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT16_MIN
83cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT16_MIN              (-32767-1)
84cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
85cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT32_MIN
86cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT32_MIN              (-2147483647-1)
87cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
88cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT8_MAX
89cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT8_MAX               (127)
90cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
91cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT16_MAX
92cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT16_MAX              (32767)
93cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
94cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef INT32_MAX
95cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INT32_MAX              (2147483647)
96cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
97cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef UINT8_MAX
98cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define UINT8_MAX              (255U)
99cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
100cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef UINT16_MAX
101cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define UINT16_MAX             (65535U)
102cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
103cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef UINT32_MAX
104cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define UINT32_MAX             (4294967295U)
105cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
106441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
107cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif /* ! FLEXINT_H */
108441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
109cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifdef __cplusplus
110441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
111441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* The "const" storage-class-modifier is valid. */
112441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_USE_CONST
113441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
114441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else	/* ! __cplusplus */
115441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
116cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* C99 requires __STDC__ to be defined as 1. */
117cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#if defined (__STDC__)
118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
119441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_USE_CONST
120441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
121cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif	/* defined (__STDC__) */
122441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif	/* ! __cplusplus */
123441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
124441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef YY_USE_CONST
125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyconst const
126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
127441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyconst
128441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
129441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
130441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Returned upon end-of-file. */
131441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_NULL 0
132441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
133441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Promotes a possibly negative, possibly signed char to an unsigned
134441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * integer for use as an array index.  If the signed char is negative,
135441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * we want to instead treat it as an 8-bit unsigned char, hence the
136441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * double cast.
137441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
138441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
140441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Enter a start condition.  This macro really ought to take a parameter,
141441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * but we do it the disgusting crufty way forced on us by the ()-less
142441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * definition of BEGIN.
143441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
144cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define BEGIN (yy_start) = 1 + 2 *
145441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
146441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Translate the current start state into a value that can be later handed
147441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * to BEGIN to return to the state.  The YYSTATE alias is for lex
148441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * compatibility.
149441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
150cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_START (((yy_start) - 1) / 2)
151441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YYSTATE YY_START
152441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
153441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Action number for EOF rule of a given start state. */
154441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
156441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Special action meaning "start processing a new file". */
157cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_NEW_FILE ldrestart(ldin  )
158441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
159441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_END_OF_BUFFER_CHAR 0
160441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
161441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Size of default input buffer. */
162cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_BUF_SIZE
163441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_BUF_SIZE 16384
164cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
165cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
166cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* The state buf must be large enough to hold one state per character in the main buffer.
167cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
168cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
169441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
170cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_TYPEDEF_YY_BUFFER_STATE
171cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_TYPEDEF_YY_BUFFER_STATE
172441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecttypedef struct yy_buffer_state *YY_BUFFER_STATE;
173cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
174441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
175cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern int ldleng;
176cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
177cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern FILE *ldin, *ldout;
178441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
179441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define EOB_ACT_CONTINUE_SCAN 0
180441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define EOB_ACT_END_OF_FILE 1
181441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define EOB_ACT_LAST_MATCH 2
182441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
183cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
184cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     *       access to the local variable yy_act. Since yyless() is a macro, it would break
185cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     *       existing scanners that call yyless() from OUTSIDE ldlex.
186cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     *       One obvious solution it to make yy_act a global. I tried that, and saw
187cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     *       a 5% performance hit in a non-ldlineno scanner, because yy_act is
188cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     *       normally declared as a register variable-- so it is not worth it.
189cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     */
190cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    #define  YY_LESS_LINENO(n) \
191cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng            do { \
192cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                int yyl;\
193cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                for ( yyl = n; yyl < ldleng; ++yyl )\
194cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                    if ( ldtext[yyl] == '\n' )\
195cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                        --ldlineno;\
196cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng            }while(0)
197cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
198cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Return all but the first "n" matched characters back to the input stream. */
199441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyless(n) \
200441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	do \
201441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{ \
202cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Undo effects of setting up ldtext. */ \
203cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        int yyless_macro_arg = (n); \
204cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        YY_LESS_LINENO(yyless_macro_arg);\
205cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*yy_cp = (yy_hold_char); \
206441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_RESTORE_YY_MORE_OFFSET \
207cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
208cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_DO_BEFORE_ACTION; /* set up ldtext again */ \
209441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		} \
210441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	while ( 0 )
211441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
212cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define unput(c) yyunput( c, (yytext_ptr)  )
213441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
214cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_TYPEDEF_YY_SIZE_T
215cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_TYPEDEF_YY_SIZE_T
216cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtypedef size_t yy_size_t;
217cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
218441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
219cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_STRUCT_YY_BUFFER_STATE
220cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_STRUCT_YY_BUFFER_STATE
221441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstruct yy_buffer_state
222441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
223441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	FILE *yy_input_file;
224441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
225441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	char *yy_ch_buf;		/* input buffer */
226441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	char *yy_buf_pos;		/* current position in input buffer */
227441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
228441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Size of input buffer in bytes, not including room for EOB
229441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * characters.
230441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
231441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	yy_size_t yy_buf_size;
232441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
233441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Number of characters read into yy_ch_buf, not including EOB
234441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * characters.
235441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
236441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_n_chars;
237441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
238441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Whether we "own" the buffer - i.e., we know we created it,
239441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * and can realloc() it to grow it, and should free() it to
240441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * delete it.
241441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
242441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_is_our_buffer;
243441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
244441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Whether this is an "interactive" input source; if so, and
245441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * if we're using stdio for input, then we want to use getc()
246441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * instead of fread(), to make sure we stop fetching input after
247441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * each newline.
248441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
249441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_is_interactive;
250441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
251441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Whether we're considered to be at the beginning of a line.
252441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * If so, '^' rules will be active on the next match, otherwise
253441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * not.
254441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
255441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_at_bol;
256441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
257cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    int yy_bs_lineno; /**< The line count. */
258cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    int yy_bs_column; /**< The column count. */
259cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
260441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Whether to try to fill the input buffer when we reach the
261441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * end of it.
262441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
263441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_fill_buffer;
264441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
265441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int yy_buffer_status;
266cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
267441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_BUFFER_NEW 0
268441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_BUFFER_NORMAL 1
269441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* When an EOF's been seen but there's still some text to process
270441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
271441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * shouldn't try reading from the input source any more.  We might
272441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * still have a bunch of tokens to match, though, because of
273441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * possible backing-up.
274441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 *
275441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * When we actually see the EOF, we change the status to "new"
276cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 * (via ldrestart()), so that the user can continue scanning by
277cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 * just pointing ldin at a new input file.
278441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
279441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_BUFFER_EOF_PENDING 2
280cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
281441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	};
282cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif /* !YY_STRUCT_YY_BUFFER_STATE */
283441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
284cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Stack of input buffers. */
285cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
286cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
287cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
288441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
289441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* We provide macros for accessing buffer states in case in the
290441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * future we want to put the buffer states in a more general
291441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * "scanner state".
292cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
293cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * Returns the top of the stack, or NULL.
294441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
295cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
296cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
297cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng                          : NULL)
298441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
299cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Same as previous macro, but useful when we know that the buffer stack is not
300cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * NULL or when we need an lvalue. For internal use only.
301cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
302cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
303441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
304cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* yy_hold_char holds the character lost when ldtext is formed. */
305441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic char yy_hold_char;
306441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int yy_n_chars;		/* number of characters read into yy_ch_buf */
307cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldleng;
308441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
309441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Points to current character in buffer. */
310441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic char *yy_c_buf_p = (char *) 0;
311cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_init = 0;		/* whether we need to initialize */
312441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int yy_start = 0;	/* start state number */
313441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
314cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Flag which is used to allow ldwrap()'s to do buffer switches
315cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * instead of setting up a fresh ldin.  A bit of a hack ...
316441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
317441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int yy_did_buffer_switch_on_eof;
318441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
319cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldrestart (FILE *input_file  );
320cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ld_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
321cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_create_buffer (FILE *file,int size  );
322cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ld_delete_buffer (YY_BUFFER_STATE b  );
323cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ld_flush_buffer (YY_BUFFER_STATE b  );
324cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldpush_buffer_state (YY_BUFFER_STATE new_buffer  );
325cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldpop_buffer_state (void );
326cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
327cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void ldensure_buffer_stack (void );
328cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void ld_load_buffer_state (void );
329cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void ld_init_buffer (YY_BUFFER_STATE b,FILE *file  );
330441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
331cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_FLUSH_BUFFER ld_flush_buffer(YY_CURRENT_BUFFER )
332441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
333cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_buffer (char *base,yy_size_t size  );
334cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_string (yyconst char *yy_str  );
335cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_bytes (yyconst char *bytes,int len  );
336441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
337cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid *ldalloc (yy_size_t  );
338cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid *ldrealloc (void *,yy_size_t  );
339cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldfree (void *  );
340441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
341cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yy_new_buffer ld_create_buffer
342441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
343441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_set_interactive(is_interactive) \
344441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{ \
345cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( ! YY_CURRENT_BUFFER ){ \
346cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ldensure_buffer_stack (); \
347cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE =    \
348cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng            ld_create_buffer(ldin,YY_BUF_SIZE ); \
349cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	} \
350cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
351441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
352441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
353441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yy_set_bol(at_bol) \
354441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{ \
355cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( ! YY_CURRENT_BUFFER ){\
356cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ldensure_buffer_stack (); \
357cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE =    \
358cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng            ld_create_buffer(ldin,YY_BUF_SIZE ); \
359cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	} \
360cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
361441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
362441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
363cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
364441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
365cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Begin user sect3 */
366441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
367cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define ldwrap(n) 1
368441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_SKIP_YYWRAP
369cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
370441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecttypedef unsigned char YY_CHAR;
371cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
372cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengFILE *ldin = (FILE *) 0, *ldout = (FILE *) 0;
373cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
374441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecttypedef int yy_state_type;
375441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
376cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern int ldlineno;
377cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
378cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldlineno = 1;
379cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
380cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern char *ldtext;
381cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yytext_ptr ldtext
382cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
383cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yy_state_type yy_get_previous_state (void );
384cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
385cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_get_next_buffer (void );
386cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void yy_fatal_error (yyconst char msg[]  );
387441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
388441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Done after the current pattern has been matched and before the
389cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * corresponding action - sets up ldtext.
390441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
391441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_DO_BEFORE_ACTION \
392cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yytext_ptr) = yy_bp; \
393cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldleng = (size_t) (yy_cp - yy_bp); \
394cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_hold_char) = *yy_cp; \
395441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	*yy_cp = '\0'; \
396cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_c_buf_p) = yy_cp;
397441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
398cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_NUM_RULES 50
399cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_END_OF_BUFFER 51
400cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* This struct is not used in this scanner,
401cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   but its presence is necessary. */
402cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstruct yy_trans_info
403cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	{
404cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	flex_int32_t yy_verify;
405cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	flex_int32_t yy_nxt;
406cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	};
407cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int16_t yy_accept[219] =
408441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
409cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,   51,   49,   48,   48,   41,   42,
410cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       32,   33,   39,   37,   44,   38,   46,   40,   45,   45,
411cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       34,   35,   36,   46,   46,   46,   46,   46,   46,   46,
412cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   49,   49,   46,   46,   30,   43,   31,
413cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       49,    9,    9,   48,   46,   47,   46,   10,   45,   45,
414cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       45,   46,   45,   46,   46,   46,   46,   46,   46,   46,
415cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   46,   46,   46,   46,    0,   29,   46,
416cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,    0,    0,    0,    0,   45,   46,   46,   46,   46,
417cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
418cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,    0,   46,   46,    0,    0,    0,    0,    0,
419cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
420cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   45,   46,   46,   46,   46,   46,   46,   46,   19,
421cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   46,   46,   46,   27,   46,    0,   46,
422cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,    0,    0,    0,    0,    0,    0,    0,    0,   11,
423cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   13,   46,   16,   17,   46,   46,   46,   46,   46,
424cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   46,   46,    0,    0,    0,    0,    0,
425cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,   46,   46,   18,   46,   46,   46,   46,
426cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   46,   46,   20,    0,    2,    0,    0,    0,
427cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        6,    0,    0,   46,   46,   46,   46,   23,   46,   25,
428cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   28,   15,    0,    4,    1,    0,    8,    5,   46,
429cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,   22,   46,   46,    0,    0,   12,   46,   46,
430cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
431cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   46,    3,    7,   46,   46,   24,   46,   46,   46,
432cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   14,   46,   46,   21,   46,   26,    0
433441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
434441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
435cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int32_t yy_ec[256] =
436441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
437441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
438441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        2,    2,    2,    1,    1,    1,    1,    1,    1,    1,
439441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
440441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    2,    1,    1,    4,    1,    5,    6,    1,    7,
441441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        8,    9,   10,   11,   12,   13,   14,   15,   16,   16,
442441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       16,   16,   16,   16,   16,   17,   17,   18,   19,    1,
443441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       20,    1,   21,    1,   22,   23,   24,   25,   26,   27,
444441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       28,   29,   30,   13,   31,   32,   33,   34,   35,   36,
445441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       13,   37,   38,   39,   40,   41,   42,   43,   44,   45,
446441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       46,   47,   48,    1,   49,    1,   50,   51,   52,   53,
447441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
448441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       54,   55,   56,   13,   57,   13,   58,   59,   58,   60,
449441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       61,   13,   13,   13,   62,   13,   13,   13,   13,   63,
450441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       13,   13,   64,   65,   66,   47,    1,    1,    1,    1,
451441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
452441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
453441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
454441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
455441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
456441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
457441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
458441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
459441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
460441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
461441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
462441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
463441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
464441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1
465441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
466441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
467cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int32_t yy_meta[67] =
468441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
469441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    2,    2,    1,    1,    1,    2,    2,    3,    1,
470cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        1,    3,    3,    1,    3,    3,    3,    2,    2,    1,
471441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
472441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
473441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        3,    3,    3,    3,    3,    2,    1,    2,    3,    3,
474441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
475441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        3,    3,    3,    2,    1,    2
476441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
477441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
478cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int16_t yy_base[223] =
479441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
480cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  217,    0,  216,  216, 2250,   65,   67, 2250, 2250,
481cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     2250, 2250,    0, 2250, 2250, 2250,   70,  206,  135,   62,
482cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     2250, 2250, 2250,    0,  186,   70,  127,  146,  179,  210,
483cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      259,  308,  246,   46,    0,  268,  297, 2250, 2250, 2250,
484cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       25, 2250,   42,   70,    0,    0,  304,    0,   48,  224,
485cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      337,  386,  389,  438,  441,  444,  493,  496,  545,  532,
486cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      554,  583,  589,  638,  634,  641,  672,   73, 2250,  691,
487cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      695,   38,  159,   47,  158,   69,  728,  747,  751,  780,
488cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      784,  813,  819,  842,  848,  871,  877,  900,  908,  929,
489cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      937,  958,   81,  966,  987,   52,  158,  155,   69,  154,
490cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
491cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      153,  995, 1018, 1031, 1039, 1070, 1062, 1091, 1120, 1127,
492cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1131, 1160, 1171, 1193, 1204, 1164, 1226, 1233,  151, 1237,
493cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1266,  142,  138,  134,  134,  132,  132,  124,  115, 1277,
494cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1288, 1301, 1322, 1341, 1345, 1374, 1380, 1409, 1430, 1433,
495cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1464, 1485, 1488, 1509, 1538,  114,  135,  110,  104,   81,
496cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      145,   77,   75, 1545, 1549, 1578, 1582, 1589, 1611, 1633,
497cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1640, 1644, 1684, 1693, 2250,   68, 2250,  151,  154,   65,
498cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     2250,  169,  171, 1697, 1728, 1737, 1750, 1772, 1781, 1794,
499cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1803, 1825, 2250,   57, 2250, 2250,   53, 2250, 2250, 1834,
500cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1847, 1838, 1869, 1878, 1900,  173,  181, 1907, 1929, 1936,
501cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
502cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     1960, 1967, 2250, 2250, 1989, 1996, 2000, 2040, 2051, 2029,
503cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     2064, 2085, 2108, 2119, 2142, 2148, 2177, 2250, 2240,   89,
504cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     2243, 2246
505441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
506441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
507cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int16_t yy_def[223] =
508441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
509cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,    1,  219,  219,  218,  218,  218,  218,  218,  218,
510cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  220,  218,  218,  218,  221,  222,  221,   19,
511cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  220,   19,   19,   19,   19,   19,   19,
512cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,  218,  222,   19,   19,  218,  218,  218,
513cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  220,  222,   19,  222,   19,   19,
514441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
515cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,   19,   19,   19,  218,  218,   19,
516cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,  218,  218,  218,  218,   52,   19,   19,   19,   19,
517441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
518cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,  218,   19,   19,  218,  218,  218,  218,  218,
519441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
520cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   19,   19,   19,   19,   19,   19,   19,   19,   19,
521cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,   19,   19,   19,   19,  218,   19,
522cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,  218,  218,  218,  218,  218,  218,  218,  218,   19,
523441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
524cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,   19,  218,  218,  218,  218,  218,
525cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   19,   19,   19,   19,   19,   19,   19,
526cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,  218,  218,  218,  218,  218,  218,
527cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   19,   19,   19,   19,   19,   19,   19,
528cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,  218,  218,  218,  218,  218,  218,  218,   19,
529cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,   19,  218,  218,   19,   19,   19,
530cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
531cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,  218,  218,   19,   19,   19,   19,   19,   19,
532cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,   19,   19,   19,   19,   19,    0,  218,  218,
533cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218
534441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
535441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
536cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int16_t yy_nxt[2317] =
537441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
538441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        6,    7,    8,    6,    9,   10,   11,   12,   13,   14,
539441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       15,   16,   17,   18,   19,   20,   20,   21,   22,   23,
540441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       24,   25,   17,   17,   17,   26,   17,   27,   17,   28,
541441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       29,   17,   17,   17,   30,   31,   17,   32,   17,   17,
542441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       33,   17,   17,   17,   17,   34,   35,    6,   17,   17,
543441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       17,   17,   17,   17,   17,   36,   17,   17,   37,   17,
544441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project       17,   17,   17,   38,   39,   40,   44,   44,   44,   44,
545cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   44,   44,   46,   46,   46,   50,   50,   72,   46,
546cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   73,   68,   46,   47,   47,   47,   68,   68,   46,
547cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   45,   53,   69,   53,   74,   96,   97,   75,  102,
548cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
549cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  102,   47,   56,   47,   99,  100,  197,  122,   93,
550cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  196,   57,  123,   93,   93,   46,  119,  187,   53,
551cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       69,  184,  119,  119,   47,  126,  102,   47,   69,  173,
552cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      127,  172,   47,  170,   46,   46,  167,  167,   46,   46,
553cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       46,   47,   47,   47,   46,   46,  171,  171,   46,   49,
554cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       49,   50,  185,  185,   46,  186,  186,   47,  169,   47,
555cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   58,  168,   51,  166,   51,  153,   47,
556cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      188,  188,  189,  189,  203,  203,   47,   52,   47,   59,
557cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      152,   46,  204,  204,   47,  151,  150,  149,   47,   47,
558cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      148,  147,   51,   47,   47,   47,  146,   52,   69,   46,
559cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
560cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   60,  129,  128,  125,   47,   47,
561cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      124,   47,  101,   98,   48,  218,   47,   54,   47,   43,
562cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       41,   47,  218,   55,   47,   47,   47,  218,   47,  218,
563cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,   47,  218,   50,   50,
564cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  218,  218,   47,   61,
565cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,  218,   53,  218,   53,  218,  218,  218,
566cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   47,   47,  218,  218,
567cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   67,   47,   47,   47,   47,   47,  218,   47,  218,
568cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       62,   53,   47,   47,   47,  218,   47,  218,   47,   47,
569cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,   63,  218,  218,   47,  218,
570cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
571cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,  218,  218,  218,  218,   47,  218,
572cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,   47,  218,   47,   47,
573cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,   70,   47,  218,   47,
574cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   64,   47,  218,   47,   65,   47,   47,
575cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   66,  218,  218,  218,   47,  218,  218,  218,
576cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,  218,  218,   71,  218,   47,
577cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,   47,   47,   47,  218,   47,
578cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
579cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
580cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,   47,  218,  218,  218,  218,   47,
581cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
582cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       76,   76,   76,   47,   47,   47,  218,   76,   76,   76,
583cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       76,   76,   76,  218,  218,  218,   47,  218,   47,   47,
584cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,  218,  218,  218,   47,  218,
585cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,   76,   76,   76,   76,   76,
586cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       76,  218,  218,   47,  218,  218,   47,  218,   47,  218,
587cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,   47,   47,   47,   47,   47,
588cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,   77,   47,  218,
589cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,   47,  218,   47,  218,  218,  218,
590cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   79,   47,  218,  218,   47,  218,  218,   78,
591cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,   47,  218,  218,   47,  218,
592cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
593cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,  218,  218,   47,   47,   47,   47,
594cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   80,  218,  218,  218,
595cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,  218,   47,   47,  218,   47,  218,
596cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       81,  218,  218,  218,  218,   47,  218,  218,   47,  218,
597cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,   47,   47,   47,  218,
598cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,  218,   47,  218,   84,   47,   47,
599cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,   47,  218,  218,  218,   47,   47,
600cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,   47,   47,  218,   47,  218,  218,
601cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       82,  218,  218,   83,   47,  218,   47,   47,  218,   47,
602cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   85,  218,   47,  218,   47,   47,   47,   47,
603cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
604cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,   47,  218,   47,  218,  218,
605cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       86,   47,  218,   47,  218,   47,   47,  218,  218,   47,
606cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   87,  218,   47,  218,  218,  218,  218,
607cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,  218,  218,  218,  218,  218,
608cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,   47,   47,  218,   47,   47,
609cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,   47,   47,  218,   88,
610cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,   47,   89,   47,  218,   47,  218,
611cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,  218,  218,   47,   91,   90,  218,
612cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,  218,  218,   47,   47,   47,  218,
613cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,   47,   47,  218,   47,  218,
614cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
615cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,   47,   47,   47,   92,   47,
616cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,  218,  218,  218,  218,  218,
617cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,  218,   47,  218,   47,  218,   47,
618cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,  218,  218,   47,  218,  218,
619cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,   95,  218,   47,  218,
620cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   94,   47,   47,  218,  103,  218,   47,   47,  218,
621cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,   47,   47,   47,  218,  218,
622cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,   47,  218,   47,
623cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      104,   47,  218,   47,  218,   47,  218,  105,  218,   47,
624cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,   47,   47,   47,  218,   47,   47,
625cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
626cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,   47,  218,  218,  218,   47,   47,
627cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  106,   47,   47,   47,  218,   47,  218,  218,  218,
628cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,  107,  218,  218,   47,   47,   47,   47,
629cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,   47,  218,   47,  218,  218,
630cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,  109,   47,   47,  218,  218,   47,
631cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  108,  218,  218,   47,   47,   47,   47,  218,
632cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,  218,  218,  218,  218,  218,
633cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,   47,   47,  110,   47,  218,
634cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  111,   47,   47,   47,   47,  218,  218,
635cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  112,  218,  218,   47,
636cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
637cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,   47,   47,  218,   47,  218,   47,
638cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,   47,   47,   47,  113,  218,   47,
639cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,  218,  218,   47,  218,
640cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,  218,  114,  218,   47,   47,
641cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      115,  218,   47,   47,   47,   47,  218,  218,  218,  218,
642cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  116,  218,  218,   47,  218,   47,
643cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,  218,   47,  218,   47,  218,   47,
644cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,  117,  218,  218,  218,   47,
645cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   47,  218,   47,  218,
646cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,  118,   47,  218,   47,   47,
647cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
648cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  218,  218,   47,   47,
649cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,  218,   47,  120,   47,  218,   47,
650cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,  218,   47,  218,   47,   47,   47,
651cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,  121,   47,  218,  218,
652cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,   47,   47,   47,   47,   47,   47,
653cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  130,   47,   47,   47,   47,  131,   47,  218,  218,
654cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,  218,  218,  218,  218,  218,   47,
655cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,  218,   47,   47,   47,   47,  218,
656cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  132,  218,   47,   47,   47,  218,   47,  218,
657cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,   47,  134,  218,  218,
658cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
659cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,   47,   47,   47,   47,  218,  133,
660cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,  218,  218,  218,  218,  218,  218,   47,
661cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,   47,  218,  218,   47,  218,  135,
662cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,   47,   47,  218,  218,  218,
663cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,  218,   47,   47,   47,   47,  218,
664cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,  218,  218,  136,   47,  218,   47,
665cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,  218,  218,  218,  218,  218,   47,
666cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      137,  218,  218,   47,   47,   47,   47,   47,   47,   47,
667cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,   47,   47,   47,   47,   47,
668cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,  218,   47,  138,  142,  218,
669cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
670cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      139,   47,   47,   47,  218,  218,   47,   47,   47,   47,
671cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,  218,  218,  140,   47,   47,   47,
672cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,   47,   47,  218,   47,  141,
673cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,   47,   47,  218,  218,  218,
674cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   47,   47,   47,   47,
675cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,   47,   47,  218,   47,  218,
676cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  143,   47,  218,   47,   47,   47,   47,   47,
677cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,   47,  218,  218,  218,   47,
678cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  144,  218,   47,  218,
679cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,   47,  218,   47,   47,
680cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
681cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,  218,   47,   47,   47,
682cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  154,  218,   47,   47,   47,   47,   47,
683cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,  145,  218,  218,  218,   47,  218,
684cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,   47,  218,   47,   47,   47,   47,
685cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,  218,   47,  155,  218,  218,  218,
686cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,   47,   47,   47,   47,   47,
687cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,   47,  218,  218,  218,  218,  218,
688cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,  218,   47,  218,   47,  218,   47,
689cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,  218,  218,   47,   47,   47,
690cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,   47,   47,   47,  218,   47,  218,
691cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
692cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,  218,   47,   47,  218,  156,
693cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,  218,  218,   47,  218,  157,  218,
694cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,   47,  218,  218,  218,  218,
695cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  218,  218,   47,   47,  158,   47,
696cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,   47,   47,   47,   47,   47,   47,
697cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,  218,  159,  218,  218,  218,  218,  218,
698cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  160,   47,   47,  218,   47,   47,  218,  218,  218,
699cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,  218,   47,  218,  218,   47,   47,
700cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,   47,  218,  218,
701cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,   47,   47,  161,  218,   47,
702cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
703cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,  218,   47,  218,  218,  218,
704cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  162,  218,  218,  218,   47,  218,   47,   47,  218,
705cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  163,   47,   47,   47,   47,   47,  218,  218,
706cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
707cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,  218,   47,  218,   47,  218,  218,
708cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,  165,  218,  218,  218,   47,
709cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,   47,   47,   47,  164,   47,  174,
710cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,  175,   47,  218,   47,  218,   47,
711cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,  218,  218,  218,   47,  218,  218,
712cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,   47,   47,   47,   47,  218,
713cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
714cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,   47,   47,   47,   47,  218,
715cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,   47,  218,  218,  218,  218,   47,
716cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,   47,   47,   47,  218,  218,
717cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      176,   47,  218,  177,  218,   47,  178,  218,  218,   47,
718cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,   47,  218,   47,   47,   47,   47,
719cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,   47,   47,   47,  218,   47,   47,
720cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,   47,  218,   47,  218,  218,   47,  218,
721cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,   47,   47,  218,  180,  218,
722cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  179,   47,  218,  218,  218,   47,  218,  218,  218,
723cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  181,  218,  218,   47,  218,   47,   47,   47,
724cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
725cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   47,   47,   47,   47,
726cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      183,   47,   47,   47,   47,  218,   47,  182,  218,  218,
727cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  190,   47,  218,   47,   47,   47,  218,   47,
728cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,   47,  218,  218,  218,   47,
729cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,  218,   47,  218,  218,  218,
730cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,  218,  218,   47,   47,
731cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  192,   47,   47,   47,   47,  218,   47,
732cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  193,  191,  218,  218,   47,
733cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,  218,   47,   47,   47,   47,  218,
734cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,   47,   47,   47,  218,   47,
735cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
736cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,  218,   47,  194,  218,   47,   47,   47,
737cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,  218,  218,   47,   47,   47,
738cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,  218,   47,  218,  218,   47,
739cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  195,  218,   47,   47,   47,   47,  218,   47,   47,
740cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,   47,  218,   47,  218,  218,   47,   47,
741cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,   47,   47,  198,  218,
742cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,   47,   47,   47,   47,   47,  218,
743cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  200,  199,  218,  218,   47,   47,  218,   47,
744cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,   47,  218,   47,  218,   47,
745cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,   47,   47,  218,  218,   47,
746cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
747cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,  218,  218,  201,   47,   47,
748cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,   47,   47,  218,  218,  218,
749cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  202,   47,  218,  218,  218,
750cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,   47,  218,   47,  218,   47,
751cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,   47,   47,   47,  218,  218,  218,   47,
752cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,  218,   47,  205,   47,
753cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,   47,  218,   47,  218,   47,   47,
754cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  206,  218,   47,   47,   47,  218,   47,  218,
755cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,  218,  218,   47,  218,  208,  218,
756cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  207,   47,   47,   47,
757cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
758cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,   47,  218,  218,  218,   47,
759cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,   47,   47,   47,   47,  218,   47,
760cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      209,   47,   47,  218,   47,  218,   47,  218,  210,   47,
761cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,  218,  218,   47,  218,
762cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,   47,   47,   47,   47,   47,  218,  218,  218,
763cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      213,   47,  218,   47,   47,   47,   47,   47,   47,   47,
764cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,  218,  211,   47,   47,   47,  218,  218,
765cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,  212,  218,   47,   47,
766cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,   47,  218,  218,  214,
767cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,  218,   47,   47,  218,   47,   47,  218,   47,
768cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
769cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,  218,  218,  218,   47,  218,   47,  218,
770cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,  218,   47,  218,   47,  218,  218,
771cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,  218,   47,   47,  218,  218,
772cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,   47,   47,   47,  218,  218,   47,  218,
773cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,  218,  218,  215,   47,  218,   47,
774cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,  218,  216,   47,   47,   47,  218,
775cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,   47,   47,   47,   47,   47,  218,  218,  218,  218,
776cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,   47,  218,   47,  218,   47,  218,   47,  218,
777cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,  218,  218,   47,  217,  218,  218,  218,  218,
778cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   47,   47,   47,  218,  218,  218,  218,  218,   47,
779cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
780cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,   47,   47,  218,   47,  218,   47,
781cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,  218,  218,  218,  218,  218,  218,  218,  218,   47,
782cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
783cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,   47,  218,  218,  218,  218,   47,
784cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       42,   42,   42,   47,  218,   47,   46,  218,   46,    5,
785cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
786cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
787cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
788cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
789cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
790cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
791cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
792cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218
793441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
794441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
795cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int16_t yy_chk[2317] =
796441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {   0,
797441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
798441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
799441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
800441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
801441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
802441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
803441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project        1,    1,    1,    1,    1,    1,    7,    7,    8,    8,
804cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       17,   44,   44,   17,   17,   17,   20,   20,   41,   17,
805cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       17,   41,   34,   17,   26,   26,   26,   34,   34,   17,
806cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       49,  220,   20,   34,   20,   43,   72,   72,   43,   76,
807cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
808cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       26,   76,   26,   26,   20,   74,   74,  187,   96,   68,
809cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       49,  184,   26,   96,   68,   68,   17,   93,  170,   20,
810cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       68,  166,   93,   93,   20,   99,   76,   26,   93,  153,
811cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       99,  152,   26,  150,   17,   19,  147,  147,   19,   19,
812cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   27,   27,   27,   19,   19,  151,  151,   19,   19,
813cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       19,   19,  168,  168,   19,  169,  169,   27,  149,   27,
814cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       28,   28,   28,   27,  148,   19,  146,   19,  129,   27,
815cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      172,  172,  173,  173,  196,  196,   28,   19,   28,   28,
816cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      128,   19,  197,  197,   27,  127,  126,  125,   28,   27,
817cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      124,  123,   19,   29,   29,   29,  122,   19,  119,   19,
818cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
819cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       25,   25,   25,   28,   29,  101,  100,   98,   28,   29,
820cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       97,   29,   75,   73,   18,    5,   25,   25,   25,    4,
821cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        2,   29,    0,   25,   30,   30,   30,    0,   25,    0,
822cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,    0,   29,    0,   50,   50,
823cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       30,   29,   30,   25,    0,    0,    0,    0,   25,   30,
824cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   30,    0,   50,    0,   50,    0,    0,    0,
825cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       33,   33,   33,    0,    0,    0,   50,   30,    0,    0,
826cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   33,   30,   31,   31,   31,   33,    0,   33,    0,
827cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       31,   50,   36,   36,   36,    0,   50,    0,   33,   31,
828cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   31,    0,    0,    0,   31,    0,    0,   36,    0,
829cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
830cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       36,   31,    0,   33,    0,    0,    0,    0,   33,    0,
831cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       36,   37,   37,   37,    0,    0,   31,    0,   47,   47,
832cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       47,   31,   32,   32,   32,   36,   36,   37,    0,   37,
833cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       36,    0,    0,   32,   47,    0,   47,   32,   32,   37,
834cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       32,    0,   32,    0,    0,    0,   47,    0,    0,    0,
835cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       32,   51,   51,   51,   37,    0,    0,   37,    0,   37,
836cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   47,    0,    0,    0,   32,   47,   51,    0,   51,
837cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       32,    0,    0,    0,    0,    0,    0,    0,    0,   51,
838cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
839cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,   51,    0,    0,    0,    0,   51,
840cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
841cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       52,   52,   52,   53,   53,   53,    0,   52,   52,   52,
842cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       52,   52,   52,    0,    0,    0,   52,    0,   52,   53,
843cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   53,    0,    0,    0,    0,    0,    0,   52,    0,
844cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   53,    0,    0,    0,   52,   52,   52,   52,   52,
845cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       52,    0,    0,   52,    0,    0,   53,    0,   52,    0,
846cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   53,   54,   54,   54,   55,   55,   55,   56,   56,
847cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       56,    0,    0,    0,    0,    0,    0,   54,   54,    0,
848cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       54,   55,    0,   55,   56,    0,   56,    0,    0,    0,
849cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       54,    0,   56,   55,    0,    0,   56,    0,    0,   55,
850cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,   54,    0,    0,   55,    0,
851cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
852cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       54,   56,    0,   55,    0,    0,   56,   57,   57,   57,
853cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       58,   58,   58,    0,    0,    0,   57,    0,    0,    0,
854cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,   57,    0,   57,   58,    0,   58,    0,
855cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       58,    0,    0,    0,    0,   57,    0,    0,   58,    0,
856cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,    0,   60,   60,   60,    0,
857cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       57,    0,    0,   58,    0,   57,    0,   60,   58,   59,
858cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       59,   59,   60,    0,   60,    0,    0,    0,   61,   61,
859cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       61,    0,    0,    0,   60,   59,    0,   59,    0,    0,
860cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       59,    0,    0,   59,   61,    0,   61,   59,    0,   60,
861cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   61,    0,   60,    0,   61,   62,   62,   62,
862cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
863cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   59,   63,   63,   63,    0,   59,    0,    0,
864cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       62,   61,    0,   62,    0,   62,   61,    0,    0,   63,
865cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   63,    0,   63,    0,   62,    0,    0,    0,    0,
866cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   63,    0,    0,    0,    0,    0,    0,    0,    0,
867cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       62,    0,    0,    0,    0,   62,   63,    0,   65,   65,
868cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       65,   63,   64,   64,   64,   66,   66,   66,    0,   64,
869cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,   65,   64,   65,    0,   64,    0,
870cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       64,   66,    0,   66,    0,    0,   65,   66,   65,    0,
871cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       64,    0,    0,   66,    0,    0,   67,   67,   67,    0,
872cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   65,    0,    0,    0,   64,   65,    0,   66,    0,
873cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
874cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       64,    0,   67,   66,   67,   70,   70,   70,   67,   71,
875cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       71,   71,    0,    0,   67,    0,    0,    0,    0,    0,
876cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   70,    0,   70,    0,   71,    0,   71,    0,   67,
877cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,   70,   67,    0,    0,   71,    0,    0,
878cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   77,   77,   77,    0,   71,    0,   70,    0,
879cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   70,   71,   70,    0,   77,    0,   71,   77,    0,
880cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       77,   78,   78,   78,    0,   79,   79,   79,    0,    0,
881cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       77,    0,    0,    0,    0,    0,    0,   78,    0,   78,
882cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       78,   79,    0,   79,    0,   77,    0,   79,    0,   78,
883cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       77,    0,    0,   79,   80,   80,   80,    0,   81,   81,
884cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
885cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       81,    0,    0,    0,   78,    0,    0,    0,   79,   78,
886cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       80,   80,   80,   79,   81,    0,   81,    0,    0,    0,
887cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   80,   81,    0,    0,   81,   82,   82,   82,
888cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,   83,   83,   83,    0,   80,    0,    0,
889cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   81,   80,   82,   83,   82,   81,    0,    0,   83,
890cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   83,   82,    0,    0,   82,   84,   84,   84,    0,
891cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   83,   85,   85,   85,    0,    0,    0,    0,    0,
892cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       82,    0,   84,    0,   84,   82,   83,   84,   85,    0,
893cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       85,   83,    0,   85,   84,   86,   86,   86,    0,    0,
894cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       85,   87,   87,   87,    0,    0,   86,    0,    0,   84,
895cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
896cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   86,    0,   86,   84,   85,    0,   87,    0,   87,
897cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       85,    0,    0,   86,   88,   88,   88,   87,    0,   87,
898cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,   89,   89,   89,    0,    0,    0,   86,    0,
899cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       88,    0,   88,   86,   87,    0,   88,    0,   89,   87,
900cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       89,    0,   88,   90,   90,   90,    0,    0,    0,    0,
901cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       89,   91,   91,   91,   90,    0,    0,   88,    0,   90,
902cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,   90,   88,    0,    0,   89,    0,   91,    0,   91,
903cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       89,   90,   92,   92,   92,   91,    0,    0,    0,   91,
904cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       94,   94,   94,    0,    0,    0,   90,    0,   92,    0,
905cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       92,   90,    0,    0,   91,   92,   94,    0,   94,   91,
906cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
907cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       92,   95,   95,   95,    0,    0,    0,    0,   94,  102,
908cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      102,  102,    0,    0,    0,   92,   94,   95,    0,   95,
909cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng       92,    0,    0,   94,    0,  102,    0,  102,   94,   95,
910cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  103,  103,  103,    0,   95,  102,    0,    0,
911cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,   95,  104,  104,  104,  103,   95,
912cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      103,  103,  102,  105,  105,  105,  104,  102,    0,    0,
913cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      103,  104,    0,  104,    0,    0,    0,    0,    0,  105,
914cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  105,    0,  104,    0,  103,  107,  107,  107,    0,
915cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      103,  105,  105,    0,  106,  106,  106,    0,  104,    0,
916cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  107,  104,  107,    0,  105,  107,    0,    0,
917cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
918cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      106,  105,  106,    0,  107,  108,  108,  108,    0,  106,
919cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  106,    0,    0,    0,    0,    0,    0,  107,
920cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  108,    0,  108,  107,    0,    0,  106,    0,  108,
921cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  106,  108,  109,  109,  109,    0,    0,    0,
922cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  110,  110,  110,    0,  111,  111,  111,  108,    0,
923cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      109,    0,  109,  108,    0,    0,  109,  110,    0,  110,
924cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  111,  109,  111,    0,    0,    0,    0,    0,  110,
925cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      111,    0,    0,  111,  112,  112,  112,  109,  116,  116,
926cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      116,    0,  109,    0,  110,  113,  113,  113,  111,  110,
927cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      112,    0,  112,  111,  116,    0,  116,  112,  116,    0,
928cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
929cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      113,  113,  112,  113,    0,    0,  116,  114,  114,  114,
930cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  113,    0,    0,  114,  112,  115,  115,
931cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      115,  116,  112,  114,    0,  114,  116,    0,  113,  115,
932cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  113,  115,  114,  115,    0,    0,    0,
933cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      117,  117,  117,    0,    0,    0,  115,  118,  118,  118,
934cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      114,  120,  120,  120,    0,  114,  117,    0,  117,    0,
935cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  115,  118,  118,    0,  118,  115,  120,  117,  120,
936cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,  118,    0,    0,    0,  120,
937cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      121,  121,  121,  117,    0,    0,  120,    0,  117,    0,
938cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      118,  130,  130,  130,  120,  118,  121,    0,  121,  120,
939cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
940cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  131,  131,  131,    0,    0,  130,  121,  130,
941cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  131,    0,  132,  132,  132,  131,  130,
942cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      131,    0,    0,  121,  121,    0,    0,    0,  121,    0,
943cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      131,  132,    0,  132,  130,    0,  133,  133,  133,  130,
944cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  132,    0,  131,  133,    0,    0,    0,
945cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      131,    0,  133,    0,  133,  134,  134,  134,  132,  135,
946cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      135,  135,    0,  132,  133,    0,    0,    0,    0,    0,
947cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  134,    0,  134,    0,  135,    0,  135,    0,  133,
948cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  134,  133,    0,    0,  135,  136,  136,
949cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      136,    0,    0,    0,  137,  137,  137,    0,  134,    0,
950cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
951cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  135,  134,  136,    0,  136,  135,    0,  136,
952cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      137,    0,  137,    0,    0,    0,  136,    0,  137,    0,
953cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  137,  138,  138,  138,    0,    0,    0,    0,
954cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  136,    0,    0,    0,    0,  136,  137,  138,  138,
955cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  138,  137,    0,  139,  139,  139,  140,  140,  140,
956cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  138,    0,    0,  139,    0,    0,    0,    0,    0,
957cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      139,  140,  139,  140,    0,  140,  138,    0,    0,    0,
958cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  138,  139,    0,    0,  140,    0,    0,  141,  141,
959cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      141,    0,    0,    0,    0,    0,    0,  139,    0,    0,
960cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      140,    0,  139,    0,  141,  140,  141,  141,    0,  142,
961cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
962cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      142,  142,  143,  143,  143,    0,  141,    0,    0,    0,
963cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  142,    0,    0,    0,  142,    0,  142,  143,    0,
964cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      143,  141,  143,  144,  144,  144,  141,  142,    0,    0,
965cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      143,    0,    0,    0,    0,    0,    0,    0,    0,  144,
966cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  144,  142,    0,    0,  143,    0,  142,    0,    0,
967cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      143,  144,  145,  145,  145,  145,    0,    0,    0,  154,
968cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      154,  154,    0,  155,  155,  155,  144,  144,  145,  154,
969cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      145,  144,    0,    0,  155,  154,    0,  154,    0,  155,
970cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      145,  155,    0,    0,    0,    0,    0,  154,    0,    0,
971cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  155,  156,  156,  156,  145,  157,  157,  157,    0,
972cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
973cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      145,    0,  154,  158,  158,  158,  155,  154,  156,    0,
974cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      156,  155,  157,    0,  157,    0,    0,    0,    0,  158,
975cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      156,  158,    0,    0,  157,  159,  159,  159,    0,    0,
976cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      157,  158,    0,  158,    0,  156,  159,    0,    0,  157,
977cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      156,  159,    0,  159,  157,    0,  158,  160,  160,  160,
978cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  158,    0,  159,  161,  161,  161,    0,  162,  162,
979cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      162,    0,    0,  160,    0,  160,    0,    0,  159,    0,
980cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      161,    0,  161,  159,  162,  160,  162,    0,  161,    0,
981cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  160,  161,    0,    0,    0,  162,    0,    0,    0,
982cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      160,    0,  162,    0,    0,  160,    0,  161,  163,  163,
983cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
984cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      163,  162,  161,    0,    0,    0,  162,  164,  164,  164,
985cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      164,  174,  174,  174,  163,    0,  163,  163,    0,    0,
986cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  174,  164,    0,  164,  163,  174,    0,  174,
987cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,  164,    0,    0,    0,  174,
988cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  163,  175,  175,  175,    0,  163,    0,    0,    0,
989cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      164,  176,  176,  176,  174,  164,    0,    0,  175,  174,
990cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      175,    0,    0,  176,  177,  177,  177,  176,    0,  176,
991cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      175,    0,    0,    0,    0,  177,  175,    0,    0,  176,
992cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      177,    0,  177,    0,    0,  175,  178,  178,  178,    0,
993cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      175,    0,  177,    0,  176,  179,  179,  179,    0,  176,
994cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
995cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  178,    0,  178,  179,    0,  177,  180,  180,
996cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      180,  179,  177,  179,  178,    0,    0,  181,  181,  181,
997cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  179,  180,    0,  180,    0,    0,  178,
998cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  181,    0,  181,  178,  181,  180,    0,  179,  182,
999cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      182,  182,    0,  179,    0,  181,    0,    0,  190,  190,
1000cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      190,  180,  192,  192,  192,  182,  180,  182,  190,    0,
1001cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      181,  191,  191,  191,  190,  181,  190,  182,  192,    0,
1002cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      192,    0,  192,  191,    0,    0,  190,  191,    0,  191,
1003cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      192,    0,  182,  193,  193,  193,    0,  182,    0,  191,
1004cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  190,  194,  194,  194,  192,  190,    0,    0,  193,
1005cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1006cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      192,  193,    0,    0,  191,    0,    0,  194,  194,  191,
1007cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      194,  193,    0,    0,  195,  195,  195,    0,    0,    0,
1008cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      194,  198,  198,  198,    0,  195,  193,    0,    0,    0,
1009cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      195,  193,  195,    0,    0,  194,    0,  198,    0,  198,
1010cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      194,    0,  195,  199,  199,  199,    0,    0,    0,  198,
1011cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      200,  200,  200,    0,    0,    0,    0,  195,  199,  199,
1012cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  199,  195,    0,  198,    0,  200,    0,  200,  198,
1013cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  199,  200,    0,  201,  201,  201,    0,  200,    0,
1014cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  202,  202,  202,    0,    0,  199,    0,  202,    0,
1015cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      201,  199,  201,  200,    0,    0,  201,  202,  200,  202,
1016cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1017cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  201,  205,  205,  205,    0,    0,    0,  202,
1018cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      206,  206,  206,    0,  207,  207,  207,  201,    0,  205,
1019cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      205,  205,  201,    0,  202,    0,  206,    0,  206,  202,
1020cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      207,  205,  207,    0,    0,    0,    0,    0,  206,    0,
1021cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,  207,  210,  210,  210,  205,    0,    0,    0,
1022cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      210,  205,    0,  206,  208,  208,  208,  207,  206,  210,
1023cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  210,  207,    0,  208,  209,  209,  209,    0,    0,
1024cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      208,  210,  208,    0,    0,    0,  209,    0,  211,  211,
1025cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      211,  209,  208,  209,    0,    0,  210,    0,    0,  211,
1026cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  210,    0,  209,  211,    0,  211,  208,    0,  212,
1027cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1028cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      212,  212,  208,    0,    0,    0,  211,    0,  209,    0,
1029cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  209,    0,  212,    0,  212,    0,    0,
1030cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  211,  213,  213,  213,    0,  211,  212,    0,    0,
1031cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,  214,  214,  214,    0,    0,  213,    0,
1032cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      213,    0,  212,    0,    0,    0,  213,  212,    0,  214,
1033cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      213,  214,    0,    0,    0,  214,  215,  215,  215,    0,
1034cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,  214,  216,  216,  216,  213,    0,    0,    0,    0,
1035cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      213,    0,  215,    0,  215,    0,  214,    0,  216,    0,
1036cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      216,  214,    0,    0,  215,  216,    0,    0,    0,    0,
1037cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      216,  217,  217,  217,    0,    0,    0,    0,    0,  215,
1038cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1039cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,  215,  216,    0,  217,    0,  217,
1040cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      216,    0,    0,    0,    0,    0,    0,    0,    0,  217,
1041cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1042cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        0,    0,    0,    0,  217,    0,    0,    0,    0,  217,
1043cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      219,  219,  219,  221,    0,  221,  222,    0,  222,  218,
1044cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1045cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1046cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1047cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1048cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1049cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1050cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1051cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng      218,  218,  218,  218,  218,  218
1052441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    } ;
1053441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1054cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Table of booleans, true if rule could match eol. */
1055cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yyconst flex_int32_t yy_rule_can_match_eol[51] =
1056cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    {   0,
1057cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
1060cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1061cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic yy_state_type yy_last_accepting_state;
1062cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic char *yy_last_accepting_cpos;
1063cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1064cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern int ld_flex_debug;
1065cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ld_flex_debug = 0;
1066cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1067cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* The intent behind this definition is that it'll catch
1068cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * any uses of REJECT which flex missed.
1069cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
1070cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define REJECT reject_used_but_not_detected
1071441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yymore() yymore_used_but_not_detected
1072441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_MORE_ADJ 0
1073441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_RESTORE_YY_MORE_OFFSET
1074cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengchar *ldtext;
1075cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 1 "ldlex.l"
1076cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 2 "ldlex.l"
1077cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 Red Hat, Inc.
1078cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   This file is part of Red Hat elfutils.
1079441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project   Written by Ulrich Drepper <drepper@redhat.com>, 2001.
1080441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1081cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Red Hat elfutils is free software; you can redistribute it and/or modify
1082cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   it under the terms of the GNU General Public License as published by the
1083cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Free Software Foundation; version 2 of the License.
1084cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1085cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Red Hat elfutils is distributed in the hope that it will be useful, but
1086cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   WITHOUT ANY WARRANTY; without even the implied warranty of
1087cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1088cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   General Public License for more details.
1089cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1090cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   You should have received a copy of the GNU General Public License along
1091cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   with Red Hat elfutils; if not, write to the Free Software Foundation,
1092cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
1093441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1094cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Red Hat elfutils is an included package of the Open Invention Network.
1095cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   An included package of the Open Invention Network is a package for which
1096cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Open Invention Network licensees cross-license their patents.  No patent
1097cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   license is granted, either expressly or impliedly, by designation as an
1098cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   included package.  Should you wish to participate in the Open Invention
1099cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   Network licensing program, please visit www.openinventionnetwork.com
1100cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   <http://www.openinventionnetwork.com>.  */
1101441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1102441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef HAVE_CONFIG_H
1103441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# include <config.h>
1104441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1105441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1106441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <assert.h>
1107441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <ctype.h>
1108441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <elf.h>
1109441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <error.h>
1110441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <inttypes.h>
1111441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <libintl.h>
1112441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <stdbool.h>
1113441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <stdio.h>
1114441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <string.h>
1115441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1116441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <system.h>
1117441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <ld.h>
1118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include "ldscript.h"
1119441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1120441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* We sure use no threads to read the stream, so use the _unlocked
1121441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project   variants of the functions.  */
1122441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#undef getc
1123441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define getc(s) getc_unlocked (s)
1124441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#undef ferror
1125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define ferror(s) ferror_unlocked (s)
1126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#undef fread
1127441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define fread(b, m, n, s) fread_unlocked (b, m, n, s)
1128441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#undef fwrite
1129441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define fwrite(b, m, n, s) fwrite_unlocked (b, m, n, s)
1130441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1131cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* ECHO must be redefined since the default implementation ignores
1132cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   the return value of fwrite_unlocked.  */
1133cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define ECHO do { size_t n__ __attribute__ ((unused)) \
1134cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			   = fwrite (ldtext, ldleng, 1, ldout); } while (0)
1135cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1136441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Defined in ld.c.  */
1137441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectextern int ld_scan_version_script;
1138441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1139441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define MAX_PREPDEPTH 20
1140441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic enum prepstate
1141441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
1142441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  prep_normal,
1143441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  skip_if,
1144441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  skip_to_endif
1145441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project} prepstate[MAX_PREPDEPTH];
1146441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int prepdepth;
1147441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1148441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void eat_comment (void);
1149441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void eat_to_eol (bool empty);
1150441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int attrib_convert (int c);
1151441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void push_state (enum prepstate);
1152441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int pop_state (void);
1153441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int handle_ifdef (void);
1154441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void invalid_char (int ch);
1155cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1156cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 1157 "ldlex.c"
1157cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1158cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define INITIAL 0
1159441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define IGNORE 1
1160441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1161cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_NO_UNISTD_H
1162cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Special case for "unistd.h", since it is non-ANSI. We include it way
1163cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * down here because we want the user's section 1 to have been scanned first.
1164cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * The user has a chance to override it with an option.
1165cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
1166cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <unistd.h>
1167cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
1168cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1169cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_EXTRA_TYPE
1170cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_EXTRA_TYPE void *
1171cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif
1172cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1173cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_init_globals (void );
1174cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1175cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Accessor methods to globals.
1176cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng   These are made visible to non-reentrant scanners for convenience. */
1177cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1178cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldlex_destroy (void );
1179cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1180cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_debug (void );
1181cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1182cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_debug (int debug_flag  );
1183cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1184cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_EXTRA_TYPE ldget_extra (void );
1185cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1186cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_extra (YY_EXTRA_TYPE user_defined  );
1187cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1188cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengFILE *ldget_in (void );
1189cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1190cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_in  (FILE * in_str  );
1191cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1192cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengFILE *ldget_out (void );
1193cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1194cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_out  (FILE * out_str  );
1195cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1196cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_leng (void );
1197cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1198cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengchar *ldget_text (void );
1199cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1200cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_lineno (void );
1201cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1202cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_lineno (int line_number  );
1203441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1204441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Macros after this point can all be overridden by user definitions in
1205441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * section 1.
1206441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1207441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1208441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_SKIP_YYWRAP
1209441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef __cplusplus
1210cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern "C" int ldwrap (void );
1211441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
1212cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern int ldwrap (void );
1213441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1214441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1215441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1216cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static void yyunput (int c,char *buf_ptr  );
1217cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1218441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef yytext_ptr
1219cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void yy_flex_strncpy (char *,yyconst char *,int );
1220441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1221441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1222441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef YY_NEED_STRLEN
1223cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_flex_strlen (yyconst char * );
1224441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1225441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1226441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_NO_INPUT
1227441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1228cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifdef __cplusplus
1229cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yyinput (void );
1230441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
1231cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int input (void );
1232441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1233441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1234441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1235441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1236441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Amount of stuff to slurp up with each read. */
1237441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_READ_BUF_SIZE
1238441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_READ_BUF_SIZE 8192
1239441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1240441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1241441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Copy whatever the last rule matched to the standard output. */
1242441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef ECHO
1243441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* This used to be an fputs(), but since the string might contain NUL's,
1244441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * we now use fwrite().
1245441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1246cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define ECHO fwrite( ldtext, ldleng, 1, ldout )
1247441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1248441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1249441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1250441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * is returned in "result".
1251441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1252441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_INPUT
1253441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_INPUT(buf,result,max_size) \
1254cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1255441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{ \
1256cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		int c = '*'; \
1257cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		unsigned n; \
1258441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		for ( n = 0; n < max_size && \
1259cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			     (c = getc( ldin )) != EOF && c != '\n'; ++n ) \
1260441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			buf[n] = (char) c; \
1261441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		if ( c == '\n' ) \
1262441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			buf[n++] = (char) c; \
1263cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( c == EOF && ferror( ldin ) ) \
1264441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1265441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		result = n; \
1266441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		} \
1267cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	else \
1268cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		{ \
1269cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		errno=0; \
1270cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		while ( (result = fread(buf, 1, max_size, ldin))==0 && ferror(ldin)) \
1271cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			{ \
1272cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			if( errno != EINTR) \
1273cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				{ \
1274cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				YY_FATAL_ERROR( "input in flex scanner failed" ); \
1275cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				break; \
1276cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				} \
1277cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			errno=0; \
1278cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			clearerr(ldin); \
1279cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			} \
1280cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		}\
1281cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng\
1282cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1283441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1284441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1285441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* No semi-colon after return; correct usage is to write "yyterminate();" -
1286441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * we don't want an extra ';' after the "return" because that will cause
1287441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * some compilers to complain about unreachable statements.
1288441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1289441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef yyterminate
1290441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define yyterminate() return YY_NULL
1291441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1292441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1293441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Number of entries by which start-condition stack grows. */
1294441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_START_STACK_INCR
1295441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_START_STACK_INCR 25
1296441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1297441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1298441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Report a fatal error. */
1299441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_FATAL_ERROR
1300441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1301441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1302441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1303cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* end tables serialization structures and prototypes */
1304cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1305441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Default declaration of generated scanner - a define so the user can
1306441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * easily add parameters.
1307441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1308441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_DECL
1309cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_DECL_IS_OURS 1
1310cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1311cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengextern int ldlex (void);
1312441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1313cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_DECL int ldlex (void)
1314cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif /* !YY_DECL */
1315cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1316cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Code executed at the beginning of each rule, after ldtext and ldleng
1317441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * have been set up.
1318441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1319441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_USER_ACTION
1320441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_USER_ACTION
1321441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1322441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1323441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* Code executed at the end of each rule. */
1324441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_BREAK
1325441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_BREAK break;
1326441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1327441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1328441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define YY_RULE_SETUP \
1329cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( ldleng > 0 ) \
1330cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1331cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(ldtext[ldleng - 1] == '\n'); \
1332441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_USER_ACTION
1333441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1334cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** The main scanner function which does all the work.
1335cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
1336441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_DECL
1337cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
1338441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register yy_state_type yy_current_state;
1339cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	register char *yy_cp, *yy_bp;
1340441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register int yy_act;
1341cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1342cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 96 "ldlex.l"
1343441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1344441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				if (unlikely (ld_scan_version_script))
1345441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  {
1346441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    ld_scan_version_script = -1;
1347441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    return kVERSION_SCRIPT;
1348441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  }
1349441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1350cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 1351 "ldlex.c"
1351441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1352cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( !(yy_init) )
1353441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
1354cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_init) = 1;
1355441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1356441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef YY_USER_INIT
1357441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_USER_INIT;
1358441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
1359441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1360cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! (yy_start) )
1361cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_start) = 1;	/* first start state */
1362441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1363cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! ldin )
1364cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			ldin = stdin;
1365441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1366cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! ldout )
1367cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			ldout = stdout;
1368441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1369cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! YY_CURRENT_BUFFER ) {
1370cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			ldensure_buffer_stack ();
1371cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_CURRENT_BUFFER_LVALUE =
1372cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				ld_create_buffer(ldin,YY_BUF_SIZE );
1373cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		}
1374441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1375cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ld_load_buffer_state( );
1376441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
1377441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1378441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	while ( 1 )		/* loops until end-of-file is reached */
1379441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
1380cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_cp = (yy_c_buf_p);
1381441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1382cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Support of ldtext. */
1383cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*yy_cp = (yy_hold_char);
1384441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1385441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* yy_bp points to the position in yy_ch_buf of the start of
1386441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * the current run.
1387441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 */
1388441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_bp = yy_cp;
1389441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1390cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_current_state = (yy_start);
1391441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_current_state += YY_AT_BOL();
1392441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectyy_match:
1393441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		do
1394441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1395441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1396cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			if ( yy_accept[yy_current_state] )
1397cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				{
1398cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(yy_last_accepting_state) = yy_current_state;
1399cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(yy_last_accepting_cpos) = yy_cp;
1400cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				}
1401441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1402441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
1403441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				yy_current_state = (int) yy_def[yy_current_state];
1404cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				if ( yy_current_state >= 219 )
1405441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					yy_c = yy_meta[(unsigned int) yy_c];
1406441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1407441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1408441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			++yy_cp;
1409441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1410cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		while ( yy_current_state != 218 );
1411cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_cp = (yy_last_accepting_cpos);
1412cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_current_state = (yy_last_accepting_state);
1413441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1414441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectyy_find_action:
1415cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_act = yy_accept[yy_current_state];
1416441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1417441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_DO_BEFORE_ACTION;
1418441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1419cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1420441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1421441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			int yyl;
1422cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			for ( yyl = 0; yyl < ldleng; ++yyl )
1423cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				if ( ldtext[yyl] == '\n' )
1424cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1425cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldlineno++;
1426cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng;
1427441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1428441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1429441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectdo_action:	/* This label is used only to access EOF actions. */
1430441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1431441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		switch ( yy_act )
1432441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{ /* beginning of action switch */
1433cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			case 0: /* must back up */
1434cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			/* undo the effects of YY_DO_BEFORE_ACTION */
1435cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			*yy_cp = (yy_hold_char);
1436cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			yy_cp = (yy_last_accepting_cpos);
1437cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			yy_current_state = (yy_last_accepting_state);
1438cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			goto yy_find_action;
1439cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1440441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 1:
1441cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 1 can match eol */
1442cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1443cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
1444cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1445441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1446cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 103 "ldlex.l"
1447441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ BEGIN (handle_ifdef ()); }
1448441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1449441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 2:
1450cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 2 can match eol */
1451cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1452cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 5;
1453cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1454441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1455cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 104 "ldlex.l"
1456441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (true);
1457441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  push_state (skip_to_endif);
1458441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  BEGIN (IGNORE); }
1459441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1460441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 3:
1461cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 3 can match eol */
1462cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1463cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 8;
1464cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1465441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1466cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 107 "ldlex.l"
1467441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (false);
1468441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  push_state (skip_to_endif);
1469441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  BEGIN (IGNORE); }
1470441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1471441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 4:
1472cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 4 can match eol */
1473cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1474cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
1475cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1476441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1477cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 110 "ldlex.l"
1478441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (true) ; }
1479441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1480441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 5:
1481cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 5 can match eol */
1482cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1483cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
1484cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1485441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1486cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 112 "ldlex.l"
1487441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (false);
1488441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  push_state (skip_to_endif); }
1489441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1490441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 6:
1491cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 6 can match eol */
1492cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1493cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 5;
1494cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1495441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1496cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 114 "ldlex.l"
1497441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (true);
1498441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  assert (prepdepth > 0);
1499441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  if (prepstate[prepdepth - 1] == skip_if)
1500441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    {
1501441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      /* Back to normal processing.  */
1502441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      assert (prepdepth == 1);
1503441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      BEGIN (pop_state ());
1504441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    }
1505441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1506441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1507441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 7:
1508cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 7 can match eol */
1509cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1510cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 8;
1511cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1512441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1513cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 123 "ldlex.l"
1514441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ assert (prepdepth > 0);
1515441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  if (prepstate[prepdepth - 1] == skip_if)
1516441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    {
1517441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      /* Maybe this symbol is defined.  */
1518441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      pop_state ();
1519441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      BEGIN (handle_ifdef ());
1520441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    }
1521441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1522441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1523441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 8:
1524cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 8 can match eol */
1525cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng*yy_cp = (yy_hold_char); /* undo effects of setting up ldtext */
1526cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng(yy_c_buf_p) = yy_cp = yy_bp + 6;
1527cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_DO_BEFORE_ACTION; /* set up ldtext again */
1528441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1529cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 131 "ldlex.l"
1530441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_to_eol (true);
1531441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  BEGIN (pop_state ()); }
1532441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1533441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 9:
1534cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 9 can match eol */
1535441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1536cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 133 "ldlex.l"
1537441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ /* nothing */ }
1538441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1539441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 10:
1540441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1541cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 136 "ldlex.l"
1542441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ eat_comment (); }
1543441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1544441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 11:
1545441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1546cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 138 "ldlex.l"
1547441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return kALIGN; }
1548441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1549441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 12:
1550441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1551cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 139 "ldlex.l"
1552cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kAS_NEEDED; }
1553441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1554441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 13:
1555441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1556cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 140 "ldlex.l"
1557cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kENTRY; }
1558441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1559441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 14:
1560441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1561cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 141 "ldlex.l"
1562cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kEXCLUDE_FILE; }
1563441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1564441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 15:
1565441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1566cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 142 "ldlex.l"
1567cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kGLOBAL; }
1568441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1569441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 16:
1570441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1571cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 143 "ldlex.l"
1572cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kGROUP; }
1573441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1574441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 17:
1575441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1576cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 144 "ldlex.l"
1577cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kINPUT; }
1578441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1579441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 18:
1580441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1581cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 145 "ldlex.l"
1582cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kINTERP; }
1583441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1584441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 19:
1585441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1586cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 146 "ldlex.l"
1587cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kKEEP; }
1588441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1589441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 20:
1590441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1591cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 147 "ldlex.l"
1592cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kLOCAL; }
1593441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1594441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 21:
1595441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1596cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 148 "ldlex.l"
1597cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kOUTPUT_FORMAT; }
1598441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1599441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 22:
1600441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1601cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 149 "ldlex.l"
1602cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kPAGESIZE; }
1603441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1604441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 23:
1605441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1606cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 150 "ldlex.l"
1607cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kPROVIDE; }
1608441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1609441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 24:
1610441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1611cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 151 "ldlex.l"
1612cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kSEARCH_DIR; }
1613441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1614441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 25:
1615441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1616cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 152 "ldlex.l"
1617cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kSEGMENT; }
1618441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1619441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 26:
1620441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1621cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 153 "ldlex.l"
1622cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kSIZEOF_HEADERS; }
1623441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1624441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 27:
1625441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1626cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 154 "ldlex.l"
1627cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kSORT; }
1628441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1629441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase 28:
1630441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1631cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 155 "ldlex.l"
1632cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ return kVERSION; }
1633cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_BREAK
1634cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 29:
1635cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_RULE_SETUP
1636cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 157 "ldlex.l"
1637441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ int cnt = 1 ;
1638441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  ldlval.num = 0;
1639cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				  while (cnt < ldleng - 1)
1640cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				    ldlval.num |= attrib_convert (ldtext[cnt++]);
1641441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  return kMODE; }
1642441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1643cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 30:
1644441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1645cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 163 "ldlex.l"
1646441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '{'; }
1647441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1648cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 31:
1649441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1650cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 164 "ldlex.l"
1651441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '}'; }
1652441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1653cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 32:
1654441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1655cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 165 "ldlex.l"
1656441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '('; }
1657441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1658cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 33:
1659441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1660cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 166 "ldlex.l"
1661441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return ')'; }
1662441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1663cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 34:
1664441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1665cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 167 "ldlex.l"
1666441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return ':'; }
1667441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1668cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 35:
1669441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1670cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 168 "ldlex.l"
1671441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return ';'; }
1672441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1673cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 36:
1674441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1675cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 169 "ldlex.l"
1676441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '='; }
1677441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1678cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 37:
1679441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1680cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 170 "ldlex.l"
1681441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.op = exp_plus; return kADD_OP; }
1682441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1683cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 38:
1684441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1685cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 171 "ldlex.l"
1686441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.op = exp_minus; return kADD_OP; }
1687441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1688cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 39:
1689441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1690cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 172 "ldlex.l"
1691441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '*'; }
1692441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1693cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 40:
1694441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1695cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 173 "ldlex.l"
1696441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.op = exp_div; return kMUL_OP; }
1697441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1698cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 41:
1699441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1700cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 174 "ldlex.l"
1701441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.op = exp_mod; return kMUL_OP; }
1702441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1703cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 42:
1704441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1705cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 175 "ldlex.l"
1706441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '&'; }
1707441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1708cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 43:
1709441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1710cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 176 "ldlex.l"
1711441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return '|'; }
1712441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1713cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 44:
1714441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1715cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 178 "ldlex.l"
1716441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ return ','; }
1717441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1718cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 45:
1719441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1720cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 180 "ldlex.l"
1721441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ char *endp;
1722cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				  ldlval.num = strtoumax (ldtext, &endp, 0);
1723441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  if (*endp != '\0')
1724441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    {
1725441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      if (tolower (*endp) == 'k')
1726441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					ldlval.num *= 1024;
1727441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				      else
1728441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					{
1729441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					  assert (tolower (*endp) == 'm');
1730441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					  ldlval.num *= 1024 * 1024;
1731441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					}
1732441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				    }
1733441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  return kNUM; }
1734441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1735cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 46:
1736441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1737cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 194 "ldlex.l"
1738441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.str = obstack_strndup (&ld_state.smem,
1739cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								ldtext, ldleng);
1740441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  return kID; }
1741441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1742cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 47:
1743441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1744cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 198 "ldlex.l"
1745441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ ldlval.str = obstack_strndup (&ld_state.smem,
1746cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								ldtext, ldleng);
1747441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				  return kFILENAME; }
1748441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1749cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 48:
1750cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* rule 48 can match eol */
1751441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1752cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 202 "ldlex.l"
1753441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ /* IGNORE */ }
1754441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1755cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 49:
1756441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1757cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 204 "ldlex.l"
1758cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ invalid_char (*ldtext); }
1759441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1760cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase 50:
1761441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectYY_RULE_SETUP
1762cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 206 "ldlex.l"
1763441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectECHO;
1764441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BREAK
1765cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 1766 "ldlex.c"
1766cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase YY_STATE_EOF(INITIAL):
1767cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengcase YY_STATE_EOF(IGNORE):
1768cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	yyterminate();
1769441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1770441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	case YY_END_OF_BUFFER:
1771441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
1772441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* Amount of text matched not including the EOB char. */
1773cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1774441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1775441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* Undo the effects of YY_DO_BEFORE_ACTION. */
1776cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*yy_cp = (yy_hold_char);
1777441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_RESTORE_YY_MORE_OFFSET
1778441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1779cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1780441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1781441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* We're scanning a new file or input source.  It's
1782441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * possible that this happened because the user
1783cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			 * just pointed ldin at a new source and called
1784cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			 * ldlex().  If so, then we have to assure
1785cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			 * consistency between YY_CURRENT_BUFFER and our
1786441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * globals.  Here is the right place to do so, because
1787441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * this is the first action (other than possibly a
1788441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * back-up) that will match for the new input source.
1789441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 */
1790cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1791cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_CURRENT_BUFFER_LVALUE->yy_input_file = ldin;
1792cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1793441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1794441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1795441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* Note that here we test for yy_c_buf_p "<=" to the position
1796441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * of the first EOB in the buffer, since yy_c_buf_p will
1797441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * already have been incremented past the NUL character
1798441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * (since all states make transitions on EOB to the
1799441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * end-of-buffer state).  Contrast this with the test
1800441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * in input().
1801441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 */
1802cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1803441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{ /* This was really a NUL. */
1804441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			yy_state_type yy_next_state;
1805441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1806cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1807441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1808cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			yy_current_state = yy_get_previous_state(  );
1809441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1810441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* Okay, we're now positioned to make the NUL
1811441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * transition.  We couldn't have
1812441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * yy_get_previous_state() go ahead and do it
1813441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * for us because it doesn't know how to deal
1814441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * with the possibility of jamming (and we don't
1815441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * want to build jamming into it because then it
1816441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * will run more slowly).
1817441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 */
1818441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1819441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			yy_next_state = yy_try_NUL_trans( yy_current_state );
1820441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1821cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1822441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1823441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			if ( yy_next_state )
1824441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
1825441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				/* Consume the NUL. */
1826cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_cp = ++(yy_c_buf_p);
1827441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				yy_current_state = yy_next_state;
1828441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				goto yy_match;
1829441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1830441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1831441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			else
1832441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
1833cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_cp = (yy_last_accepting_cpos);
1834cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_current_state = (yy_last_accepting_state);
1835441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				goto yy_find_action;
1836441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1837441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1838441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1839cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		else switch ( yy_get_next_buffer(  ) )
1840441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1841441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			case EOB_ACT_END_OF_FILE:
1842441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
1843cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(yy_did_buffer_switch_on_eof) = 0;
1844441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1845cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				if ( ldwrap( ) )
1846441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					{
1847441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					/* Note: because we've taken care in
1848441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * yy_get_next_buffer() to have set up
1849cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					 * ldtext, we can now set up
1850441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * yy_c_buf_p so that if some total
1851441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * hoser (like flex itself) wants to
1852441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * call the scanner after we return the
1853441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * YY_NULL, it'll still work - another
1854441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * YY_NULL will get returned.
1855441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 */
1856cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1857441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1858441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					yy_act = YY_STATE_EOF(YY_START);
1859441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					goto do_action;
1860441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					}
1861441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1862441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				else
1863441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					{
1864cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					if ( ! (yy_did_buffer_switch_on_eof) )
1865441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project						YY_NEW_FILE;
1866441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					}
1867441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				break;
1868441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1869441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1870441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			case EOB_ACT_CONTINUE_SCAN:
1871cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(yy_c_buf_p) =
1872cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					(yytext_ptr) + yy_amount_of_matched_text;
1873441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1874cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_current_state = yy_get_previous_state(  );
1875441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1876cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_cp = (yy_c_buf_p);
1877cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1878441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				goto yy_match;
1879441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1880441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			case EOB_ACT_LAST_MATCH:
1881cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(yy_c_buf_p) =
1882cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1883441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1884cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_current_state = yy_get_previous_state(  );
1885441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1886cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_cp = (yy_c_buf_p);
1887cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1888441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				goto yy_find_action;
1889441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1890441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		break;
1891441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
1892441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1893441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	default:
1894441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_FATAL_ERROR(
1895441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			"fatal flex scanner internal error--no action found" );
1896441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	} /* end of action switch */
1897441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		} /* end of scanning one token */
1898cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng} /* end of ldlex */
1899441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1900441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* yy_get_next_buffer - try to read in a new buffer
1901441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *
1902441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * Returns a code representing an action:
1903441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *	EOB_ACT_LAST_MATCH -
1904441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1905441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *	EOB_ACT_END_OF_FILE - end of file
1906441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
1907cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_get_next_buffer (void)
1908cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
1909cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1910cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	register char *source = (yytext_ptr);
1911441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register int number_to_move, i;
1912441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int ret_val;
1913441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1914cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1915441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		YY_FATAL_ERROR(
1916441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		"fatal flex scanner internal error--end of buffer missed" );
1917441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1918cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1919441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{ /* Don't try to fill the buffer, so this is an EOF. */
1920cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1921441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1922441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* We matched a single character, the EOB, so
1923441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * treat this as a final EOF.
1924441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 */
1925441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			return EOB_ACT_END_OF_FILE;
1926441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1927441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1928441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		else
1929441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
1930441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* We matched some text prior to the EOB, first
1931441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 * process it.
1932441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			 */
1933441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			return EOB_ACT_LAST_MATCH;
1934441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1935441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
1936441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1937441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Try to read more data. */
1938441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1939441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* First move last chars to start of buffer. */
1940cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1941441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1942441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	for ( i = 0; i < number_to_move; ++i )
1943441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		*(dest++) = *(source++);
1944441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1945cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1946441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* don't do the read, it's not guaranteed to return an EOF,
1947441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * just force an EOF
1948441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 */
1949cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1950441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1951441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	else
1952441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
1953cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			int num_to_read =
1954cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1955441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1956441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		while ( num_to_read <= 0 )
1957441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{ /* Not enough room in the buffer - grow it. */
1958441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1959441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* just a shorter name for the current buffer */
1960cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1961441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1962441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			int yy_c_buf_p_offset =
1963cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				(int) ((yy_c_buf_p) - b->yy_ch_buf);
1964441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1965441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			if ( b->yy_is_our_buffer )
1966441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
1967441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				int new_size = b->yy_buf_size * 2;
1968441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1969441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				if ( new_size <= 0 )
1970441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					b->yy_buf_size += b->yy_buf_size / 8;
1971441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				else
1972441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					b->yy_buf_size *= 2;
1973441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1974441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				b->yy_ch_buf = (char *)
1975441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					/* Include room in for 2 EOB chars. */
1976cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					ldrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
1977441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
1978441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			else
1979441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				/* Can't grow it, we don't own it. */
1980441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				b->yy_ch_buf = 0;
1981441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1982441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			if ( ! b->yy_ch_buf )
1983441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				YY_FATAL_ERROR(
1984441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				"fatal error - scanner input buffer overflow" );
1985441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1986cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1987441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1988cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1989441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project						number_to_move - 1;
1990cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
1991441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
1992441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1993441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		if ( num_to_read > YY_READ_BUF_SIZE )
1994441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			num_to_read = YY_READ_BUF_SIZE;
1995441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
1996441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* Read in more data. */
1997cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1998cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_n_chars), (size_t) num_to_read );
1999441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2000cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2001441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2002441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2003cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( (yy_n_chars) == 0 )
2004441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
2005441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		if ( number_to_move == YY_MORE_ADJ )
2006441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
2007441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			ret_val = EOB_ACT_END_OF_FILE;
2008cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			ldrestart(ldin  );
2009441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
2010441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2011441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		else
2012441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
2013441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			ret_val = EOB_ACT_LAST_MATCH;
2014cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2015441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				YY_BUFFER_EOF_PENDING;
2016441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
2017441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2018441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2019441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	else
2020441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		ret_val = EOB_ACT_CONTINUE_SCAN;
2021441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2022cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2023cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Extend the array by 50%, plus the number we really need. */
2024cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2025cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ldrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
2026cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2027cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2028cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	}
2029441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2030cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_n_chars) += number_to_move;
2031cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2032cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2033441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2034cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2035441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2036cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	return ret_val;
2037cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2038441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2039441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* yy_get_previous_state - get the state just before the EOB char was reached */
2040441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2041cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static yy_state_type yy_get_previous_state (void)
2042cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2043441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register yy_state_type yy_current_state;
2044441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register char *yy_cp;
2045cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2046cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	yy_current_state = (yy_start);
2047441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	yy_current_state += YY_AT_BOL();
2048441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2049cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2050441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
2051441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2052cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( yy_accept[yy_current_state] )
2053cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			{
2054cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_last_accepting_state) = yy_current_state;
2055cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_last_accepting_cpos) = yy_cp;
2056cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			}
2057441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2058441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{
2059441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			yy_current_state = (int) yy_def[yy_current_state];
2060cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			if ( yy_current_state >= 219 )
2061441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				yy_c = yy_meta[(unsigned int) yy_c];
2062441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
2063441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2064441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2065441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2066441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return yy_current_state;
2067cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2068441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2069441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/* yy_try_NUL_trans - try to make a transition on the NUL character
2070441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *
2071441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * synopsis
2072441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *	next_state = yy_try_NUL_trans( current_state );
2073441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project */
2074cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
2075cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2076441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register int yy_is_jam;
2077cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	register char *yy_cp = (yy_c_buf_p);
2078441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2079441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register YY_CHAR yy_c = 1;
2080cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( yy_accept[yy_current_state] )
2081cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		{
2082cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_last_accepting_state) = yy_current_state;
2083cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_last_accepting_cpos) = yy_cp;
2084cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		}
2085441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2086441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
2087441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_current_state = (int) yy_def[yy_current_state];
2088cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( yy_current_state >= 219 )
2089441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			yy_c = yy_meta[(unsigned int) yy_c];
2090441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2091441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2092cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	yy_is_jam = (yy_current_state == 218);
2093441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2094441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return yy_is_jam ? 0 : yy_current_state;
2095cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2096441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2097cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static void yyunput (int c, register char * yy_bp )
2098cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2099cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	register char *yy_cp;
2100cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2101cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    yy_cp = (yy_c_buf_p);
2102441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2103cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* undo effects of setting up ldtext */
2104cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	*yy_cp = (yy_hold_char);
2105441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2106cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2107441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{ /* need to shift things up to make room */
2108441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* +2 for EOB chars. */
2109cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		register int number_to_move = (yy_n_chars) + 2;
2110cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2111cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2112441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		register char *source =
2113cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2114441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2115cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2116441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			*--dest = *--source;
2117441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_cp += (int) (dest - source);
2119441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		yy_bp += (int) (dest - source);
2120cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2121cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2122441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2123cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2124441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			YY_FATAL_ERROR( "flex scanner push-back overflow" );
2125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2127441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	*--yy_cp = (char) c;
2128441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2129cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    if ( c == '\n' ){
2130cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        --ldlineno;
2131cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    }
2132441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2133cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yytext_ptr) = yy_bp;
2134cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_hold_char) = *yy_cp;
2135cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_c_buf_p) = yy_cp;
2136cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2137441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2138441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef YY_NO_INPUT
2139441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef __cplusplus
2140cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static int yyinput (void)
2141441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
2142cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static int input  (void)
2143441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2144441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2145cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2146cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	int c;
2147cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2148cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	*(yy_c_buf_p) = (yy_hold_char);
2149441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2150cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2151441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
2152441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* yy_c_buf_p now points to the character we want to return.
2153441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * If this occurs *before* the EOB characters, then it's a
2154441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 * valid NUL; if not, then we've hit the end of the buffer.
2155441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		 */
2156cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2157441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			/* This was really a NUL. */
2158cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			*(yy_c_buf_p) = '\0';
2159441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2160441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		else
2161441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			{ /* need more input */
2162cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			int offset = (yy_c_buf_p) - (yytext_ptr);
2163cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			++(yy_c_buf_p);
2164441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2165cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			switch ( yy_get_next_buffer(  ) )
2166441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				{
2167441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				case EOB_ACT_LAST_MATCH:
2168441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					/* This happens because yy_g_n_b()
2169441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * sees that we've accumulated a
2170441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * token and flags that we need to
2171441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * try matching the token before
2172441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * proceeding.  But for input(),
2173441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * there's no matching to consider.
2174441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * So convert the EOB_ACT_LAST_MATCH
2175441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 * to EOB_ACT_END_OF_FILE.
2176441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					 */
2177441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2178441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					/* Reset buffer status. */
2179cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					ldrestart(ldin );
2180441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2181cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					/*FALLTHROUGH*/
2182441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2183441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				case EOB_ACT_END_OF_FILE:
2184441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					{
2185cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					if ( ldwrap( ) )
2186441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project						return EOF;
2187441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2188cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					if ( ! (yy_did_buffer_switch_on_eof) )
2189441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project						YY_NEW_FILE;
2190441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef __cplusplus
2191441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					return yyinput();
2192441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
2193441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					return input();
2194441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2195441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					}
2196441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2197441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				case EOB_ACT_CONTINUE_SCAN:
2198cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng					(yy_c_buf_p) = (yytext_ptr) + offset;
2199441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project					break;
2200441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project				}
2201441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project			}
2202441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2203441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2204cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
2205cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	*(yy_c_buf_p) = '\0';	/* preserve ldtext */
2206cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_hold_char) = *++(yy_c_buf_p);
2207441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2208cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2209cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
2210cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2211cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldlineno++;
2212cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng;
2213441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2214441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return c;
2215cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2216cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif	/* ifndef YY_NO_INPUT */
2217441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2218cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Immediately switch to a different input stream.
2219cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param input_file A readable stream.
2220cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2221cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @note This function does not reset the start condition to @c INITIAL .
2222cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2223cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    void ldrestart  (FILE * input_file )
2224cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2225cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2226cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( ! YY_CURRENT_BUFFER ){
2227cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ldensure_buffer_stack ();
2228cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE =
2229cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng            ld_create_buffer(ldin,YY_BUF_SIZE );
2230441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2231441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2232cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_init_buffer(YY_CURRENT_BUFFER,input_file );
2233cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_load_buffer_state( );
2234cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2235441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2236cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Switch to a different input buffer.
2237cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param new_buffer The new input buffer.
2238cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2239cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2240cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    void ld_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
2241cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2242cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2243cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* TODO. We should be able to replace this entire function body
2244cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 * with
2245cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 *		ldpop_buffer_state();
2246cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 *		ldpush_buffer_state(new_buffer);
2247cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     */
2248cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldensure_buffer_stack ();
2249cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER == new_buffer )
2250441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		return;
2251441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2252cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER )
2253441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		{
2254441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* Flush out information for old buffer. */
2255cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*(yy_c_buf_p) = (yy_hold_char);
2256cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2257cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2258441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		}
2259441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2260cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE = new_buffer;
2261cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_load_buffer_state( );
2262441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2263441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* We don't actually know whether we did this switch during
2264cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 * EOF (ldwrap()) processing, but the only time this flag
2265cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 * is looked at is after ldwrap() is called, so it's safe
2266441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * to go ahead and always set it.
2267441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
2268cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_did_buffer_switch_on_eof) = 1;
2269cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2270441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2271cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void ld_load_buffer_state  (void)
2272cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2273cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2274cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2275cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2276cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_hold_char) = *(yy_c_buf_p);
2277cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2278441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2279cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Allocate and initialize an input buffer state.
2280cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param file A readable stream.
2281cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2282cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2283cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @return the allocated buffer state.
2284cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2285cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    YY_BUFFER_STATE ld_create_buffer  (FILE * file, int  size )
2286cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2287441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BUFFER_STATE b;
2288cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2289cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state )  );
2290441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! b )
2291cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
2292441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2293441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buf_size = size;
2294441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2295441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* yy_ch_buf has to be 2 characters longer than the size given because
2296441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * we need to put in 2 end-of-buffer characters.
2297441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
2298cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	b->yy_ch_buf = (char *) ldalloc(b->yy_buf_size + 2  );
2299441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! b->yy_ch_buf )
2300cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_create_buffer()" );
2301441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2302441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_is_our_buffer = 1;
2303441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2304cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_init_buffer(b,file );
2305441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2306441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return b;
2307cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2308441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2309cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Destroy the buffer.
2310cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param b a buffer created with ld_create_buffer()
2311cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2312cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2313cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    void ld_delete_buffer (YY_BUFFER_STATE  b )
2314cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2315cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2316441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! b )
2317441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		return;
2318441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2319cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2320cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2321441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2322441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( b->yy_is_our_buffer )
2323cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ldfree((void *) b->yy_ch_buf  );
2324441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2325cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldfree((void *) b  );
2326cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2327441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2328cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Initializes or reinitializes a buffer.
2329cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * This function is sometimes called more than once on the same buffer,
2330cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * such as during a ldrestart() or at EOF.
2331cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2332cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    static void ld_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
2333441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2334cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2335cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	int oerrno = errno;
2336cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2337cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_flush_buffer(b );
2338441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2339441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_input_file = file;
2340441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_fill_buffer = 1;
2341441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2342cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* If b is the current buffer, then ld_init_buffer was _probably_
2343cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     * called from ldrestart() or through yy_get_next_buffer.
2344cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     * In that case, we don't want to reset the lineno or column.
2345cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     */
2346cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    if (b != YY_CURRENT_BUFFER){
2347cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        b->yy_bs_lineno = 1;
2348cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        b->yy_bs_column = 0;
2349cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    }
2350441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2351cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        b->yy_is_interactive = 0;
2352cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2353cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	errno = oerrno;
2354cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2355441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2356cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2357cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2358cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2359cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2360cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    void ld_flush_buffer (YY_BUFFER_STATE  b )
2361cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2362cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	if ( ! b )
2363441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		return;
2364441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2365441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_n_chars = 0;
2366441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2367441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* We always need two end-of-buffer characters.  The first causes
2368441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * a transition to the end-of-buffer state.  The second causes
2369441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * a jam in that state.
2370441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
2371441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2372441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2373441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2374441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buf_pos = &b->yy_ch_buf[0];
2375441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2376441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_at_bol = 1;
2377441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buffer_status = YY_BUFFER_NEW;
2378441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2379cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( b == YY_CURRENT_BUFFER )
2380cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ld_load_buffer_state( );
2381cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2382cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2383cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Pushes the new state onto the stack. The new state becomes
2384cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *  the current state. This function will allocate the stack
2385cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *  if necessary.
2386cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *  @param new_buffer The new state.
2387cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2388cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2389cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldpush_buffer_state (YY_BUFFER_STATE new_buffer )
2390cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2391cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	if (new_buffer == NULL)
2392cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		return;
2393cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2394cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldensure_buffer_stack();
2395cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2396cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* This block is copied from ld_switch_to_buffer. */
2397cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ( YY_CURRENT_BUFFER )
2398cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		{
2399cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Flush out information for old buffer. */
2400cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*(yy_c_buf_p) = (yy_hold_char);
2401cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2402cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2403cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		}
2404cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2405cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* Only push if top exists. Otherwise, replace top. */
2406cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if (YY_CURRENT_BUFFER)
2407cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack_top)++;
2408cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE = new_buffer;
2409cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2410cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* copied from ld_switch_to_buffer. */
2411cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_load_buffer_state( );
2412cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_did_buffer_switch_on_eof) = 1;
2413cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2414cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2415cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Removes and deletes the top of the stack, if present.
2416cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *  The next element becomes the new top.
2417cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2418cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2419cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldpop_buffer_state (void)
2420cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2421cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	if (!YY_CURRENT_BUFFER)
2422cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		return;
2423cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2424cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_delete_buffer(YY_CURRENT_BUFFER );
2425cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_CURRENT_BUFFER_LVALUE = NULL;
2426cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ((yy_buffer_stack_top) > 0)
2427cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		--(yy_buffer_stack_top);
2428cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2429cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if (YY_CURRENT_BUFFER) {
2430cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ld_load_buffer_state( );
2431cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_did_buffer_switch_on_eof) = 1;
2432cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	}
2433cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2434cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2435cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Allocates the stack if it does not exist.
2436cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *  Guarantees space for at least one push.
2437cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2438cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void ldensure_buffer_stack (void)
2439cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2440cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	int num_to_alloc;
2441cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2442cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if (!(yy_buffer_stack)) {
2443cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2444cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* First allocation is just for 2 elements, since we don't know if this
2445cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2446cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		 * immediate realloc on the next call.
2447cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng         */
2448cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		num_to_alloc = 1;
2449cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack) = (struct yy_buffer_state**)ldalloc
2450cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								(num_to_alloc * sizeof(struct yy_buffer_state*)
2451cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								);
2452cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! (yy_buffer_stack) )
2453cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
2454cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2455cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2456cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2457cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack_max) = num_to_alloc;
2458cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack_top) = 0;
2459cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		return;
2460441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2461441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2462cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2463441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2464cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Increase the buffer to prepare for a possible push. */
2465cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		int grow_size = 8 /* arbitrary grow size */;
2466cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2467cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		num_to_alloc = (yy_buffer_stack_max) + grow_size;
2468cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack) = (struct yy_buffer_state**)ldrealloc
2469cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								((yy_buffer_stack),
2470cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								num_to_alloc * sizeof(struct yy_buffer_state*)
2471cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng								);
2472cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		if ( ! (yy_buffer_stack) )
2473cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng			YY_FATAL_ERROR( "out of dynamic memory in ldensure_buffer_stack()" );
2474441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2475cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* zero only the new slots.*/
2476cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2477cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_buffer_stack_max) = num_to_alloc;
2478cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	}
2479cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2480cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2481cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Setup the input buffer state to scan directly from a user-specified character buffer.
2482cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param base the character buffer
2483cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param size the size in bytes of the character buffer
2484cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2485cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @return the newly allocated buffer state object.
2486cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2487cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_buffer  (char * base, yy_size_t  size )
2488cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2489cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	YY_BUFFER_STATE b;
2490cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2491441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( size < 2 ||
2492441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
2493441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	     base[size-1] != YY_END_OF_BUFFER_CHAR )
2494441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		/* They forgot to leave room for the EOB's. */
2495441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		return 0;
2496441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2497cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	b = (YY_BUFFER_STATE) ldalloc(sizeof( struct yy_buffer_state )  );
2498441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! b )
2499cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_scan_buffer()" );
2500441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2501441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
2502441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buf_pos = b->yy_ch_buf = base;
2503441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_is_our_buffer = 0;
2504441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_input_file = 0;
2505441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_n_chars = b->yy_buf_size;
2506441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_is_interactive = 0;
2507441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_at_bol = 1;
2508441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_fill_buffer = 0;
2509441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_buffer_status = YY_BUFFER_NEW;
2510441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2511cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ld_switch_to_buffer(b  );
2512441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2513441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return b;
2514cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2515441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2516cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Setup the input buffer state to scan a string. The next call to ldlex() will
2517cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * scan from a @e copy of @a str.
2518cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param yystr a NUL-terminated string to scan
2519cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2520cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @return the newly allocated buffer state object.
2521cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @note If you want to scan bytes that may contain NUL values, then use
2522cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *       ld_scan_bytes() instead.
2523cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2524cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_string (yyconst char * yystr )
2525cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2526cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2527cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	return ld_scan_bytes(yystr,strlen(yystr) );
2528cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2529441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2530cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Setup the input buffer state to scan the given bytes. The next call to ldlex() will
2531cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * scan from a @e copy of @a bytes.
2532cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param bytes the byte buffer to scan
2533cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param len the number of bytes in the buffer pointed to by @a bytes.
2534cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2535cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @return the newly allocated buffer state object.
2536cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2537cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengYY_BUFFER_STATE ld_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
2538cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2539441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	YY_BUFFER_STATE b;
2540441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	char *buf;
2541441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	yy_size_t n;
2542441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	int i;
2543cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2544441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* Get memory for full buffer, including space for trailing EOB's. */
2545cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	n = _yybytes_len + 2;
2546cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	buf = (char *) ldalloc(n  );
2547441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! buf )
2548cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_FATAL_ERROR( "out of dynamic memory in ld_scan_bytes()" );
2549441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2550cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	for ( i = 0; i < _yybytes_len; ++i )
2551cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		buf[i] = yybytes[i];
2552441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2553cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2554441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2555cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	b = ld_scan_buffer(buf,n );
2556441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	if ( ! b )
2557cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_FATAL_ERROR( "bad buffer in ld_scan_bytes()" );
2558441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2559441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* It's okay to grow etc. this buffer, and we should throw it
2560441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * away when we're done.
2561441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
2562441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	b->yy_is_our_buffer = 1;
2563441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2564441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return b;
2565cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2566cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2567cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifndef YY_EXIT_FAILURE
2568cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YY_EXIT_FAILURE 2
2569441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2570441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2571cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void yy_fatal_error (yyconst char* msg )
2572cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2573cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    	(void) fprintf( stderr, "%s\n", msg );
2574cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	exit( YY_EXIT_FAILURE );
2575cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2576441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2577cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Redefine yyless() so it works in section 3 code. */
2578441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2579cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#undef yyless
2580cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define yyless(n) \
2581cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	do \
2582cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		{ \
2583cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		/* Undo effects of setting up ldtext. */ \
2584cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        int yyless_macro_arg = (n); \
2585cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        YY_LESS_LINENO(yyless_macro_arg);\
2586cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ldtext[ldleng] = (yy_hold_char); \
2587cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_c_buf_p) = ldtext + yyless_macro_arg; \
2588cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		(yy_hold_char) = *(yy_c_buf_p); \
2589cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		*(yy_c_buf_p) = '\0'; \
2590cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ldleng = yyless_macro_arg; \
2591cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		} \
2592cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	while ( 0 )
2593441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2594cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Accessor  methods (get/set functions) to struct members. */
2595441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2596cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Get the current line number.
2597cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2598cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2599cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_lineno  (void)
2600cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2601cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2602cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    return ldlineno;
2603cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2604441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2605cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Get the input stream.
2606cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2607cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2608cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengFILE *ldget_in  (void)
2609cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2610cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        return ldin;
2611cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2612441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2613cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Get the output stream.
2614cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2615cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2616cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengFILE *ldget_out  (void)
2617cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2618cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        return ldout;
2619cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2620441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2621cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Get the length of the current token.
2622cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2623cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2624cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_leng  (void)
2625cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2626cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        return ldleng;
2627cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2628441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2629cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Get the current token.
2630cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2631cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2632441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2633cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengchar *ldget_text  (void)
2634cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2635cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        return ldtext;
2636cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2637441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2638cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Set the current line number.
2639cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param line_number
2640cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2641cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2642cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_lineno (int  line_number )
2643cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2644cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2645cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldlineno = line_number;
2646cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2647441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2648cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/** Set the input stream. This does not discard the current
2649cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * input buffer.
2650cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @param in_str A readable stream.
2651cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *
2652cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * @see ld_switch_to_buffer
2653cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2654cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_in (FILE *  in_str )
2655cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2656cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ldin = in_str ;
2657cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2658441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2659cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_out (FILE *  out_str )
2660cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2661cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ldout = out_str ;
2662cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2663441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2664cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldget_debug  (void)
2665cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2666cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        return ld_flex_debug;
2667cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2668cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2669cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldset_debug (int  bdebug )
2670cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2671cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        ld_flex_debug = bdebug ;
2672cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2673441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2674cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_init_globals (void)
2675cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2676cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng        /* Initialization is the same as for the non-reentrant scanner.
2677cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     * This function is called from ldlex_destroy(), so don't allocate here.
2678cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     */
2679cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2680cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* We do not touch ldlineno unless the option is enabled. */
2681cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldlineno =  1;
2682cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2683cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_buffer_stack) = 0;
2684cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_buffer_stack_top) = 0;
2685cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_buffer_stack_max) = 0;
2686cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_c_buf_p) = (char *) 0;
2687cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_init) = 0;
2688cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    (yy_start) = 0;
2689cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2690cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Defined in main.c */
2691cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifdef YY_STDINIT
2692cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldin = stdin;
2693cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldout = stdout;
2694441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else
2695cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldin = (FILE *) 0;
2696cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    ldout = (FILE *) 0;
2697441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2698441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2699cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* For future reference: Set errno on error, since we are called by
2700cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     * ldlex_init()
2701cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     */
2702cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    return 0;
2703cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2704441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2705cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* ldlex_destroy is for both reentrant and non-reentrant scanners. */
2706cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengint ldlex_destroy  (void)
2707cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2708cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2709cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* Pop the buffer stack, destroying each element. */
2710cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	while(YY_CURRENT_BUFFER){
2711cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ld_delete_buffer(YY_CURRENT_BUFFER  );
2712cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		YY_CURRENT_BUFFER_LVALUE = NULL;
2713cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng		ldpop_buffer_state();
2714cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	}
2715441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2716cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	/* Destroy the stack itself. */
2717cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	ldfree((yy_buffer_stack) );
2718cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	(yy_buffer_stack) = NULL;
2719441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2720cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    /* Reset the globals. This is important in a non-reentrant scanner so the next time
2721cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng     * ldlex() is called, initialization will occur. */
2722cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    yy_init_globals( );
2723441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2724cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    return 0;
2725cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2726441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2727cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/*
2728cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng * Internal utility routines.
2729cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng */
2730441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2731441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifndef yytext_ptr
2732cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2733cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2734441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register int i;
2735441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	for ( i = 0; i < n; ++i )
2736441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		s1[i] = s2[i];
2737cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2738441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2739441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2740441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef YY_NEED_STRLEN
2741cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengstatic int yy_flex_strlen (yyconst char * s )
2742cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2743441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	register int n;
2744441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	for ( n = 0; s[n]; ++n )
2745441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		;
2746441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2747441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return n;
2748cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2749441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif
2750441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2751cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid *ldalloc (yy_size_t  size )
2752cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2753441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return (void *) malloc( size );
2754cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2755441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2756cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid *ldrealloc  (void * ptr, yy_size_t  size )
2757cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2758441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	/* The cast to (char *) in the following accommodates both
2759441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * implementations that use char* generic pointers, and those
2760441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * that use void* generic pointers.  It works with the latter
2761441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * because both ANSI C and C++ allow castless assignment from
2762441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * any pointer type to void*, and deal with argument conversions
2763441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 * as though doing an assignment.
2764441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	 */
2765441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	return (void *) realloc( (char *) ptr, size );
2766cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2767441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2768cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengvoid ldfree (void * ptr )
2769cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{
2770cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	free( (char *) ptr );	/* see ldrealloc() for (char *) cast */
2771cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng}
2772cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2773cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define YYTABLES_NAME "yytables"
2774cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2775cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#line 206 "ldlex.l"
2776441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2777441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2778441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2779441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void
2780441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecteat_comment (void)
2781441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2782441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  while (1)
2783441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {
2784441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      int c = input ();
2785441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2786441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      while (c != '*' && c != EOF)
2787441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	c = input ();
2788441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2789441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (c == '*')
2790441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2791441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  c = input ();
2792441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  while (c == '*')
2793441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	    c = input ();
2794441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  if (c == '/')
2795441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	    break;
2796441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2797441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2798441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (c == EOF)
2799441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2800441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  /* XXX Use the setjmp buffer and signal EOF in comment */
2801441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  error (0, 0, gettext ("EOF in comment"));
2802441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  break;
2803441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2804441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    }
2805441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2806441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2807441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2808441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void
2809441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecteat_to_eol (bool empty)
2810441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2811441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  bool warned = false;
2812441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2813441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  while (1)
2814441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {
2815441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      int c = input ();
2816441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2817441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (c == EOF)
2818441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	break;
2819441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (c == '\n')
2820441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2821cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	  ++ldlineno;
2822441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  break;
2823441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2824441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2825441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (empty && ! isspace (c) && ! warned)
2826441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2827cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	  error (0, 0, gettext ("%d: garbage at end of line"), ldlineno);
2828441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  warned = true;
2829441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2830441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    }
2831441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2832441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2833441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2834441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int
2835441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectattrib_convert (int c)
2836441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2837441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (c == 'X')
2838441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    return PF_X;
2839441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (c == 'W')
2840441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    return PF_W;
2841441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  assert (c == 'R');
2842441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  return PF_R;
2843441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2844441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2845441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2846441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void
2847441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectpush_state (enum prepstate state)
2848441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2849441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (prepdepth >= MAX_PREPDEPTH)
2850441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    error (EXIT_FAILURE, 0, gettext ("%d: conditionals nested too deep"),
2851cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	   ldlineno);
2852441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2853441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  prepstate[prepdepth++] = state;
2854441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2855441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2856441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2857441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int
2858441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectpop_state (void)
2859441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2860441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (prepdepth == 0)
2861cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng    error (0, 0, gettext ("%d: unexpected #endif"), ldlineno);
2862441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  else
2863441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    --prepdepth;
2864441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2865441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  return prepdepth == 0 ? INITIAL : IGNORE;
2866441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2867441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2868441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2869441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic int
2870441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecthandle_ifdef (void)
2871441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2872441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  char idbuf[50];
2873441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  char *id = idbuf;
2874441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  size_t idlen = 0;
2875441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  size_t idmax = sizeof (idbuf);
2876441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  bool ignore_ws = true;
2877441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  bool defined = false;
2878441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  int result;
2879441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2880441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  while (1)
2881441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {
2882441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      int c = input ();
2883441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2884441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (isspace (c) && ignore_ws)
2885441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	continue;
2886441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2887441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (c != '_' && (c < 'a' || c > 'z') && (c < 'A' || c > 'Z')
2888441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  && (idlen == 0 || c < '0' || c > '9'))
2889441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2890441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  unput (c);
2891441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  break;
2892441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2893441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2894441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      if (idlen == idmax)
2895441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	{
2896441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  char *newp = (char *) alloca (idmax *= 2);
2897441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	  id = memcpy (newp, id, idlen);
2898441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project	}
2899441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2900441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      id[idlen++] = c;
2901441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      ignore_ws = false;
2902441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    }
2903441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2904441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  /* XXX Compare in a better way.  */
2905441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (idlen == 6 && strncmp (id, "SHARED", 6) == 0)
2906441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    defined = ld_state.file_type == dso_file_type;
2907441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2908441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  if (defined)
2909441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    result = INITIAL;
2910441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  else
2911441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    {
2912441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      push_state (skip_if);
2913441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project      result = IGNORE;
2914441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project    }
2915441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2916441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  return result;
2917441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2918441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2919441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2920441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectstatic void
2921441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectinvalid_char (int ch)
2922441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{
2923441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project  error (0, 0, (isascii (ch)
2924441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		? gettext ("invalid character '%c' at line %d; ignored")
2925441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project		: gettext ("invalid character '\\%o' at line %d; ignored")),
2926cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng	 ch, ldlineno);
2927441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project}
2928441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2929441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project
2930441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project// Local Variables:
2931441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project// mode: C
2932441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project// End:
2933cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng
2934