1cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#line 2 "scan-skel.c"
2cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
3cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#line 4 "scan-skel.c"
4cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
5cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define  YY_INT_ALIGNED short int
6cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
7cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* A lexical scanner generated by flex */
8cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %not-for-header */
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %if-c-only */
1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %if-not-reentrant */
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_create_buffer skel__create_buffer
1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_delete_buffer skel__delete_buffer
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_flex_debug skel__flex_debug
1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_init_buffer skel__init_buffer
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_flush_buffer skel__flush_buffer
1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_load_buffer_state skel__load_buffer_state
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yy_switch_to_buffer skel__switch_to_buffer
2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyin skel_in
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyleng skel_leng
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yylex skel_lex
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yylineno skel_lineno
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyout skel_out
2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyrestart skel_restart
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yytext skel_text
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yywrap skel_wrap
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyalloc skel_alloc
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyrealloc skel_realloc
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define yyfree skel_free
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %endif */
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %endif */
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %ok-for-header */
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
36cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define FLEX_SCANNER
37cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_FLEX_MAJOR_VERSION 2
38cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_FLEX_MINOR_VERSION 5
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_FLEX_SUBMINOR_VERSION 37
40cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#if YY_FLEX_SUBMINOR_VERSION > 0
41cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define FLEX_BETA
42cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
43cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
44cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
45cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
46cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
47cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
48cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
49cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
50cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
51cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
52cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
53cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
54cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
55cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* First, we deal with  platform-specific or compiler-specific issues. */
56cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
57cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* begin standard C headers. */
58cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
59cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <stdio.h>
60cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <string.h>
61cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <errno.h>
62cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <stdlib.h>
63cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
64cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
65cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-tables-serialization */
66cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
67cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* end standard C headers. */
68cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
69cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-or-c++ */
70cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* flex integer type definitions */
71cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
72cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef FLEXINT_H
73cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define FLEXINT_H
74cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
75cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
76cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang * if you want the limit (max/min) macros for int types.
8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef __STDC_LIMIT_MACROS
8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define __STDC_LIMIT_MACROS 1
8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
86cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <inttypes.h>
87cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef int8_t flex_int8_t;
88cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef uint8_t flex_uint8_t;
89cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef int16_t flex_int16_t;
90cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef uint16_t flex_uint16_t;
91cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef int32_t flex_int32_t;
92cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef uint32_t flex_uint32_t;
93cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
94cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef signed char flex_int8_t;
95cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef short int flex_int16_t;
96cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef int flex_int32_t;
97cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned char flex_uint8_t;
98cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned short int flex_uint16_t;
99cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned int flex_uint32_t;
100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Limits of integral types. */
102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT8_MIN
103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT8_MIN               (-128)
104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT16_MIN
106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT16_MIN              (-32767-1)
107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT32_MIN
109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT32_MIN              (-2147483647-1)
110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT8_MAX
112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT8_MAX               (127)
113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT16_MAX
115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT16_MAX              (32767)
116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef INT32_MAX
118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INT32_MAX              (2147483647)
119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef UINT8_MAX
121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define UINT8_MAX              (255U)
122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef UINT16_MAX
124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define UINT16_MAX             (65535U)
125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef UINT32_MAX
127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define UINT32_MAX             (4294967295U)
128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* ! C99 */
13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* ! FLEXINT_H */
133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
134cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
135cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef __cplusplus
140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
141cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The "const" storage-class-modifier is valid. */
142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_USE_CONST
143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else	/* ! __cplusplus */
145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* C99 requires __STDC__ to be defined as 1. */
14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined (__STDC__)
148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_USE_CONST
150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif	/* defined (__STDC__) */
152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif	/* ! __cplusplus */
153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YY_USE_CONST
155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyconst const
156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyconst
158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
159cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Returned upon end-of-file. */
163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_NULL 0
164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
166cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Promotes a possibly negative, possibly signed char to an unsigned
169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * integer for use as an array index.  If the signed char is negative,
170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * we want to instead treat it as an 8-bit unsigned char, hence the
171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * double cast.
172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-not-reentrant */
180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Enter a start condition.  This macro really ought to take a parameter,
184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * but we do it the disgusting crufty way forced on us by the ()-less
185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * definition of BEGIN.
186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define BEGIN (yy_start) = 1 + 2 *
188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Translate the current start state into a value that can be later handed
190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * to BEGIN to return to the state.  The YYSTATE alias is for lex
191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * compatibility.
192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_START (((yy_start) - 1) / 2)
194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYSTATE YY_START
195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Action number for EOF rule of a given start state. */
197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Special action meaning "start processing a new file". */
200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_NEW_FILE skel_restart(skel_in  )
201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_END_OF_BUFFER_CHAR 0
203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Size of default input buffer. */
205cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_BUF_SIZE
206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_BUF_SIZE 16384
207cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The state buf must be large enough to hold one state per character in the main buffer.
21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_TYPEDEF_YY_BUFFER_STATE
214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_TYPEDEF_YY_BUFFER_STATE
215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef struct yy_buffer_state *YY_BUFFER_STATE;
216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef YY_TYPEDEF_YY_SIZE_T
21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_TYPEDEF_YY_SIZE_T
22005436638acc7c010349a69c3395f1a57c642dc62Ying Wangtypedef size_t yy_size_t;
22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-not-reentrant */
22405436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern yy_size_t skel_leng;
225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-not-reentrant */
229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern FILE *skel_in, *skel_out;
230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define EOB_ACT_CONTINUE_SCAN 0
234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define EOB_ACT_END_OF_FILE 1
235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define EOB_ACT_LAST_MATCH 2
236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    #define YY_LESS_LINENO(n)
238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Return all but the first "n" matched characters back to the input stream. */
240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyless(n) \
241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	do \
242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{ \
243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Undo effects of setting up skel_text. */ \
244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        int yyless_macro_arg = (n); \
245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        YY_LESS_LINENO(yyless_macro_arg);\
246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*yy_cp = (yy_hold_char); \
247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_RESTORE_YY_MORE_OFFSET \
248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_DO_BEFORE_ACTION; /* set up skel_text again */ \
250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		} \
251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	while ( 0 )
252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define unput(c) yyunput( c, (yytext_ptr)  )
254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_STRUCT_YY_BUFFER_STATE
256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_STRUCT_YY_BUFFER_STATE
257cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstruct yy_buffer_state
258cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	{
259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	FILE *yy_input_file;
261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
263cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
264cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
265cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	char *yy_ch_buf;		/* input buffer */
267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	char *yy_buf_pos;		/* current position in input buffer */
268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Size of input buffer in bytes, not including room for EOB
270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * characters.
271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	yy_size_t yy_buf_size;
273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Number of characters read into yy_ch_buf, not including EOB
275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * characters.
276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	yy_size_t yy_n_chars;
278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
279cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Whether we "own" the buffer - i.e., we know we created it,
280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * and can realloc() it to grow it, and should free() it to
281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * delete it.
282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int yy_is_our_buffer;
284cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Whether this is an "interactive" input source; if so, and
286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * if we're using stdio for input, then we want to use getc()
287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * instead of fread(), to make sure we stop fetching input after
288cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * each newline.
289cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
290cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int yy_is_interactive;
291cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
292cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Whether we're considered to be at the beginning of a line.
293cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * If so, '^' rules will be active on the next match, otherwise
294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * not.
295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int yy_at_bol;
297cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
298cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    int yy_bs_lineno; /**< The line count. */
299cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    int yy_bs_column; /**< The column count. */
300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
301cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Whether to try to fill the input buffer when we reach the
302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * end of it.
303cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
304cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int yy_fill_buffer;
305cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int yy_buffer_status;
307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_BUFFER_NEW 0
309cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_BUFFER_NORMAL 1
310cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* When an EOF's been seen but there's still some text to process
311cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * shouldn't try reading from the input source any more.  We might
313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * still have a bunch of tokens to match, though, because of
314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * possible backing-up.
315cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 *
316cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * When we actually see the EOF, we change the status to "new"
317cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * (via skel_restart()), so that the user can continue scanning by
318cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * just pointing skel_in at a new input file.
319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_BUFFER_EOF_PENDING 2
321cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
322cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	};
323cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* !YY_STRUCT_YY_BUFFER_STATE */
324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
327cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
328cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-not-reentrant */
329cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Stack of input buffers. */
331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
333cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
334cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
335cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
339cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* We provide macros for accessing buffer states in case in the
340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * future we want to put the buffer states in a more general
341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * "scanner state".
342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
343cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * Returns the top of the stack, or NULL.
344cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
345cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
346cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
347cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project                          : NULL)
348cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
349cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Same as previous macro, but useful when we know that the buffer stack is not
350cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * NULL or when we need an lvalue. For internal use only.
351cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
352cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
353cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
354cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
355cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
356cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-not-reentrant */
357cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
358cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
359cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* yy_hold_char holds the character lost when skel_text is formed. */
360cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic char yy_hold_char;
36105436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
36205436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_size_t skel_leng;
363cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
364cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Points to current character in buffer. */
365cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic char *yy_c_buf_p = (char *) 0;
36605436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int yy_init = 0;		/* whether we need to initialize */
367cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_start = 0;	/* start state number */
368cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
369cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Flag which is used to allow skel_wrap()'s to do buffer switches
370cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * instead of setting up a fresh skel_in.  A bit of a hack ...
371cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
372cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_did_buffer_switch_on_eof;
373cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
374cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
375cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
376cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
377cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_restart (FILE *input_file  );
378cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel__switch_to_buffer (YY_BUFFER_STATE new_buffer  );
379cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_BUFFER_STATE skel__create_buffer (FILE *file,int size  );
380cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel__delete_buffer (YY_BUFFER_STATE b  );
381cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel__flush_buffer (YY_BUFFER_STATE b  );
382cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_push_buffer_state (YY_BUFFER_STATE new_buffer  );
383cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_pop_buffer_state (void );
384cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
385cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void skel_ensure_buffer_stack (void );
386cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void skel__load_buffer_state (void );
387cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void skel__init_buffer (YY_BUFFER_STATE b,FILE *file  );
388cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
389cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_FLUSH_BUFFER skel__flush_buffer(YY_CURRENT_BUFFER )
390cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
391cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_BUFFER_STATE skel__scan_buffer (char *base,yy_size_t size  );
392cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_BUFFER_STATE skel__scan_string (yyconst char *yy_str  );
39305436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_BUFFER_STATE skel__scan_bytes (yyconst char *bytes,yy_size_t len  );
394cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
395cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
396cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
397cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid *skel_alloc (yy_size_t  );
398cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid *skel_realloc (void *,yy_size_t  );
399cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_free (void *  );
400cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
401cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yy_new_buffer skel__create_buffer
402cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
403cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yy_set_interactive(is_interactive) \
404cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	{ \
405cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! YY_CURRENT_BUFFER ){ \
406cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel_ensure_buffer_stack (); \
407cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE =    \
408cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project            skel__create_buffer(skel_in,YY_BUF_SIZE ); \
409cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	} \
410cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
411cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
412cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
413cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yy_set_bol(at_bol) \
414cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	{ \
415cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! YY_CURRENT_BUFFER ){\
416cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel_ensure_buffer_stack (); \
417cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE =    \
418cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project            skel__create_buffer(skel_in,YY_BUF_SIZE ); \
419cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	} \
420cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
421cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
422cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
423cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
424cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
425cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [1.0] skel_text/skel_in/skel_out/yy_state_type/skel_lineno etc. def's & init go here */
426cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Begin user sect3 */
427cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
42805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define skel_wrap() 1
429cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_SKIP_YYWRAP
430cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
431cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define FLEX_DEBUG
432cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
433cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef unsigned char YY_CHAR;
434cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
435cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFILE *skel_in = (FILE *) 0, *skel_out = (FILE *) 0;
436cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
437cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttypedef int yy_state_type;
438cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
439cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern int skel_lineno;
440cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
441cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint skel_lineno = 1;
442cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
443cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern char *skel_text;
444cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yytext_ptr skel_text
445cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
446cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
447cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
448cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic yy_state_type yy_get_previous_state (void );
449cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
450cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_get_next_buffer (void );
451cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void yy_fatal_error (yyconst char msg[]  );
452cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
453cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
454cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
455cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Done after the current pattern has been matched and before the
456cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * corresponding action - sets up skel_text.
457cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
458cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_DO_BEFORE_ACTION \
459cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yytext_ptr) = yy_bp; \
460cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [2.0] code to fiddle skel_text and skel_leng for yymore() goes here \ */\
461cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_leng = (size_t) (yy_cp - yy_bp); \
462cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_hold_char) = *yy_cp; \
463cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	*yy_cp = '\0'; \
464cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [3.0] code to copy yytext_ptr to skel_text[] goes here, if %array \ */\
465cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_c_buf_p) = yy_cp;
466cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
467cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_NUM_RULES 22
46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_END_OF_BUFFER 23
470cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* This struct is not used in this scanner,
471cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   but its presence is necessary. */
472cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstruct yy_trans_info
473cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	{
474cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	flex_int32_t yy_verify;
475cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	flex_int32_t yy_nxt;
476cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	};
47705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_accept[45] =
478cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        0,    0,    0,    0,    0,    0,   23,   11,   10,    9,
48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       12,   19,   21,   20,   20,   11,    9,    5,    1,    9,
48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        4,    9,    2,    3,   12,   19,   17,   18,   13,   16,
48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       14,   15,    8,    9,    9,    9,    9,    9,    9,    9,
48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang        9,    7,    6,    0
484cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
485cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
486cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic yyconst flex_int32_t yy_ec[256] =
487cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
490cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    2,    1,    1,    1,    1,    1,    1,    1,    4,
49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang        5,    1,    1,    5,    1,    1,    1,    1,    1,    1,
493cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    1,    6,    1,    1,    1,    1,    1,    1,
495cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
496cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    1,    1,    7,    8,    7,    7,    7,    7,
498cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        9,   10,    7,    7,   11,    7,    7,   12,    7,   13,
50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       14,    7,    7,    7,    7,    7,    7,    7,    7,    7,
50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        7,    7,   15,    1,   16,    1,    1,    1,    1,    1,
502cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
503cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
504cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
505cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
506cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
507cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
508cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
509cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
510cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
511cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
512cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
513cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        1,    1,    1,    1,    1
516cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
517cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
51805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int32_t yy_meta[17] =
519cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    2,    3,    1,    4,    1,    5,    1,    1,
52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        1,    1,    1,    1,    5,    5
522cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
523cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
52405436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_base[53] =
525cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang        0,    1,   60,   26,    6,    8,   29,    0,  105,   11,
52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang        0,   25,  105,  105,  105,    0,    0,  105,  105,   41,
52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang      105,   46,  105,  105,    0,  105,  105,  105,  105,  105,
52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang      105,  105,  105,   60,    4,   23,   25,   28,   43,   38,
53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       57,  105,  105,  105,   71,   76,   81,   86,   91,   96,
53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        0,  101
532cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
533cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
53405436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_def[53] =
535cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       45,   45,   46,   46,   47,   47,   44,   48,   44,   44,
53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       49,   50,   44,   44,   44,   48,   51,   44,   44,   52,
53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44,   44,   44,   44,   49,   44,   44,   44,   44,   44,
53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44,   44,   44,   52,   34,   34,   34,   34,   34,   34,
54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       34,   44,   44,    0,   44,   44,   44,   44,   44,   44,
54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44,   44
542cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
543cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
54405436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_nxt[122] =
545cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       17,   44,    9,    9,   44,   10,   10,   14,   15,   14,
54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       15,   17,   17,   18,   37,   17,   19,   20,   21,   20,
54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       20,   20,   20,   20,   22,   23,   24,   27,   44,   28,
54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       29,   12,   30,   20,   38,   20,   40,   39,   20,   31,
55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       32,   17,   17,   42,   33,   17,   17,   17,   20,   33,
55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       17,   41,   20,   20,   20,   34,   20,   35,   20,   20,
55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       17,   17,   43,   33,   17,   12,   44,   20,   44,   44,
55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       36,    8,    8,    8,    8,    8,   11,   11,   11,   11,
55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       11,   13,   13,   13,   13,   13,   16,   44,   16,   44,
55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       16,   25,   25,   25,   44,   25,   26,   26,   26,   26,
55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       26,   20,   44,   20,    7,   44,   44,   44,   44,   44,
55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44
560cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
561cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
56205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_chk[122] =
563cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       51,    0,    1,    2,    0,    1,    2,    5,    5,    6,
56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        6,   10,   10,   10,   35,   10,   10,   10,   10,   10,
56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       10,   10,   10,   10,   10,   10,   10,   12,    7,   12,
56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       12,    4,   12,   36,   36,   37,   38,   37,   38,   12,
56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       12,   20,   20,   40,   20,   20,   22,   22,   40,   22,
56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       22,   39,   22,   39,   22,   22,   22,   22,   22,   22,
57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       34,   34,   41,   34,   34,    3,    0,   41,    0,    0,
57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       34,   45,   45,   45,   45,   45,   46,   46,   46,   46,
57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       46,   47,   47,   47,   47,   47,   48,    0,   48,    0,
57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       48,   49,   49,   49,    0,   49,   50,   50,   50,   50,
57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       50,   52,    0,   52,   44,   44,   44,   44,   44,   44,
57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       44
578cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
579cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
580cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic yy_state_type yy_last_accepting_state;
581cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic char *yy_last_accepting_cpos;
582cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
583cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern int skel__flex_debug;
584cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint skel__flex_debug = 1;
585cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
58605436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic yyconst flex_int16_t yy_rule_linenum[22] =
587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {   0,
58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       72,   73,   74,   75,   76,   78,   79,   81,   90,   91,
58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       92,  105,  107,  108,  109,  110,  111,  113,  134,  139,
59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang      140
591cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    } ;
592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
593cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* The intent behind this definition is that it'll catch
594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * any uses of REJECT which flex missed.
595cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
596cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define REJECT reject_used_but_not_detected
597cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yymore() yymore_used_but_not_detected
598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_MORE_ADJ 0
599cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_RESTORE_YY_MORE_OFFSET
600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectchar *skel_text;
601cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#line 1 "scan-skel.l"
602cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Scan Bison Skeletons.                                       -*- C -*-
603cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   This file is part of Bison, the GNU Compiler Compiler.
607cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is free software: you can redistribute it and/or modify
60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   it under the terms of the GNU General Public License as published by
61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   the Free Software Foundation, either version 3 of the License, or
61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (at your option) any later version.
612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is distributed in the hope that it will be useful,
61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   but WITHOUT ANY WARRANTY; without even the implied warranty of
61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   GNU General Public License for more details.
617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   You should have received a copy of the GNU General Public License
61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_NO_INPUT 1
62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 24 "scan-skel.l"
622cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Work around a bug in flex 2.5.31.  See Debian bug 333231
623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>.  */
624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#undef skel_wrap
625cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define skel_wrap() 1
626cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define FLEX_PREFIX(Id) skel_ ## Id
62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include "flex-scanner.h"
629cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include <dirname.h>
631cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <error.h>
632cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <quotearg.h>
633cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
634cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "complain.h"
635cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "getargs.h"
636cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "files.h"
637cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include "scan-skel.h"
638cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define YY_DECL static int skel_lex (void)
64005436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_DECL;
641cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
642cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define QPUTS(String) \
643cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project   fputs (quotearg_style (c_quoting_style, String), skel_out)
644cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
64505436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void at_directive_perform (int at_directive_argc,
64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                  char *at_directive_argv[],
64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                  char **outnamep, int *out_linenop);
64805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void fail_for_at_directive_too_many_args (char const *at_directive_name);
64905436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void fail_for_at_directive_too_few_args (char const *at_directive_name);
65005436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void fail_for_invalid_at (char const *at);
65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
652cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 654 "scan-skel.c"
654cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
655cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define INITIAL 0
65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define SC_AT_DIRECTIVE_ARGS 1
65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define SC_AT_DIRECTIVE_SKIP_WS 2
658cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
659cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_NO_UNISTD_H
660cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Special case for "unistd.h", since it is non-ANSI. We include it way
661cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * down here because we want the user's section 1 to have been scanned first.
662cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * The user has a chance to override it with an option.
663cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
664cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
665cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <unistd.h>
666cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
667cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
668cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
669cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
670cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
671cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_EXTRA_TYPE
672cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_EXTRA_TYPE void *
673cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
674cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
675cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Reentrant structure and macros (non-C++). */
676cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %if-c-only */
67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
67905436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int yy_init_globals (void );
68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %endif */
682cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
683cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %endif End reentrant structures and macros. */
68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Accessor methods to globals.
68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   These are made visible to non-reentrant scanners for convenience. */
68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
68905436638acc7c010349a69c3395f1a57c642dc62Ying Wangint skel_lex_destroy (void );
69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
69105436638acc7c010349a69c3395f1a57c642dc62Ying Wangint skel_get_debug (void );
69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
69305436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid skel_set_debug (int debug_flag  );
69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
69505436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_EXTRA_TYPE skel_get_extra (void );
69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
69705436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid skel_set_extra (YY_EXTRA_TYPE user_defined  );
69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
69905436638acc7c010349a69c3395f1a57c642dc62Ying WangFILE *skel_get_in (void );
70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70105436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid skel_set_in  (FILE * in_str  );
70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70305436638acc7c010349a69c3395f1a57c642dc62Ying WangFILE *skel_get_out (void );
70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70505436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid skel_set_out  (FILE * out_str  );
70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70705436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_size_t skel_get_leng (void );
70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70905436638acc7c010349a69c3395f1a57c642dc62Ying Wangchar *skel_get_text (void );
71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
71105436638acc7c010349a69c3395f1a57c642dc62Ying Wangint skel_get_lineno (void );
71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
71305436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid skel_set_lineno (int line_number  );
71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
715cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-bison-bridge */
716cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
717cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
718cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Macros after this point can all be overridden by user definitions in
719cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * section 1.
720cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
721cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
722cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_SKIP_YYWRAP
723cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef __cplusplus
724cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern "C" int skel_wrap (void );
725cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
726cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern int skel_wrap (void );
727cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
728cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
729cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
730cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
731cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
732cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
733cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
734cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
735cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
736cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef yytext_ptr
737cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void yy_flex_strncpy (char *,yyconst char *,int );
738cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
739cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
740cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YY_NEED_STRLEN
741cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_flex_strlen (yyconst char * );
742cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
743cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
744cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_NO_INPUT
745cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
746cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
747cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
748cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef __cplusplus
749cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yyinput (void );
750cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
751cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int input (void );
752cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
753cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
754cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
755cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
756cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
757cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
758cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
759cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
760cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
761cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
762cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Amount of stuff to slurp up with each read. */
763cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_READ_BUF_SIZE
764cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_READ_BUF_SIZE 8192
765cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
766cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
767cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Copy whatever the last rule matched to the standard output. */
768cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef ECHO
769cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
770cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* This used to be an fputs(), but since the string might contain NUL's,
771cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * we now use fwrite().
772cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
77305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define ECHO do { if (fwrite( skel_text, skel_leng, 1, skel_out )) {} } while (0)
774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only C++ definition */
776cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
777cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
778cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
779cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
780cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * is returned in "result".
781cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
782cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_INPUT
783cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_INPUT(buf,result,max_size) \
784cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
785cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
786cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{ \
787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		int c = '*'; \
788cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		size_t n; \
789cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		for ( n = 0; n < max_size && \
790cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			     (c = getc( skel_in )) != EOF && c != '\n'; ++n ) \
791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			buf[n] = (char) c; \
792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( c == '\n' ) \
793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			buf[n++] = (char) c; \
794cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( c == EOF && ferror( skel_in ) ) \
795cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_FATAL_ERROR( "input in flex scanner failed" ); \
796cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		result = n; \
797cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		} \
798cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	else \
799cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{ \
800cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		errno=0; \
801cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		while ( (result = fread(buf, 1, max_size, skel_in))==0 && ferror(skel_in)) \
802cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{ \
803cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if( errno != EINTR) \
804cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{ \
805cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				YY_FATAL_ERROR( "input in flex scanner failed" ); \
806cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				break; \
807cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				} \
808cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			errno=0; \
809cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			clearerr(skel_in); \
810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			} \
811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}\
812cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project\
813cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only C++ definition \ */\
814cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
815cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* No semi-colon after return; correct usage is to write "yyterminate();" -
819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * we don't want an extra ';' after the "return" because that will cause
820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * some compilers to complain about unreachable statements.
821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef yyterminate
823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyterminate() return YY_NULL
824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
825cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
826cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Number of entries by which start-condition stack grows. */
827cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_START_STACK_INCR
828cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_START_STACK_INCR 25
829cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
830cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
831cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Report a fatal error. */
832cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_FATAL_ERROR
833cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
834cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
835cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
836cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
837cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
838cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-tables-serialization structures and prototypes */
841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
843cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
844cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
845cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %tables-yydmap generated elements */
848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* end tables serialization structures and prototypes */
850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Default declaration of generated scanner - a define so the user can
854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * easily add parameters.
855cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_DECL
857cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_DECL_IS_OURS 1
858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only Standard (non-C++) definition */
859cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
860cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectextern int skel_lex (void);
861cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_DECL int skel_lex (void)
863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only C++ definition */
865cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
866cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif /* !YY_DECL */
867cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
868cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Code executed at the beginning of each rule, after skel_text and skel_leng
869cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * have been set up.
870cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
871cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_USER_ACTION
872cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_USER_ACTION
873cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Code executed at the end of each rule. */
876cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_BREAK
877cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_BREAK break;
878cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
880cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [6.0] YY_RULE_SETUP definition goes here */
881cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_RULE_SETUP \
882cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_USER_ACTION
883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
884cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
885cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
886cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** The main scanner function which does all the work.
887cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
888cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_DECL
889cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
890cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register yy_state_type yy_current_state;
891cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register char *yy_cp, *yy_bp;
892cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register int yy_act;
893cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
894cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [7.0] user's declarations go here */
89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 58 "scan-skel.l"
896cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
897cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
898cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  int out_lineno PACIFY_CC (= 0);
900cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  char *outname = NULL;
901cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
90205436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* Currently, only the @warn, @complain, @fatal, @warn_at, @complain_at, and
90305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     @fatal_at directives take multiple arguments, and the last three already
90405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     can't take more than 7.  at_directive_argv[0] is the directive name.  */
90505436638acc7c010349a69c3395f1a57c642dc62Ying Wang  #define AT_DIRECTIVE_ARGC_MAX 8
90605436638acc7c010349a69c3395f1a57c642dc62Ying Wang  int at_directive_argc = 0;
90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang  char *at_directive_argv[AT_DIRECTIVE_ARGC_MAX];
908cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 911 "scan-skel.c"
91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	if ( !(yy_init) )
913cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang		(yy_init) = 1;
915cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YY_USER_INIT
917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_USER_INIT;
918cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
919cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( ! (yy_start) )
921cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_start) = 1;	/* first start state */
922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( ! skel_in )
924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			skel_in = stdin;
926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( ! skel_out )
931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
932cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			skel_out = stdout;
933cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
934cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
935cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
936cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
937cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( ! YY_CURRENT_BUFFER ) {
938cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			skel_ensure_buffer_stack ();
939cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_CURRENT_BUFFER_LVALUE =
940cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				skel__create_buffer(skel_in,YY_BUF_SIZE );
941cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
942cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
943cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel__load_buffer_state( );
944cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
945cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
946cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	while ( 1 )		/* loops until end-of-file is reached */
947cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
948cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [8.0] yymore()-related code goes here */
949cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_cp = (yy_c_buf_p);
950cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
951cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Support of skel_text. */
952cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*yy_cp = (yy_hold_char);
953cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
954cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* yy_bp points to the position in yy_ch_buf of the start of
955cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * the current run.
956cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 */
957cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_bp = yy_cp;
958cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
959cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [9.0] code to set up and find next match goes here */
960cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_current_state = (yy_start);
961cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_match:
962cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		do
963cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
964cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
965cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if ( yy_accept[yy_current_state] )
966cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
967cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(yy_last_accepting_state) = yy_current_state;
968cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(yy_last_accepting_cpos) = yy_cp;
969cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
970cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
971cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
972cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_current_state = (int) yy_def[yy_current_state];
97305436638acc7c010349a69c3395f1a57c642dc62Ying Wang				if ( yy_current_state >= 45 )
974cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					yy_c = yy_meta[(unsigned int) yy_c];
975cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
976cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
977cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			++yy_cp;
978cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang		while ( yy_current_state != 44 );
980cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_cp = (yy_last_accepting_cpos);
981cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_current_state = (yy_last_accepting_state);
982cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
983cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectyy_find_action:
984cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [10.0] code to find the action number goes here */
985cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_act = yy_accept[yy_current_state];
986cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
987cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_DO_BEFORE_ACTION;
988cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
989cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [11.0] code for skel_lineno update goes here */
990cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
991cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo_action:	/* This label is used only to access EOF actions. */
992cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
993cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [12.0] debug code goes here */
994cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( skel__flex_debug )
995cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if ( yy_act == 0 )
997cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				fprintf( stderr, "--scanner backing up\n" );
99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang			else if ( yy_act < 22 )
999cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
1000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				         (long)yy_rule_linenum[yy_act], skel_text );
100105436638acc7c010349a69c3395f1a57c642dc62Ying Wang			else if ( yy_act == 22 )
1002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				fprintf( stderr, "--accepting default rule (\"%s\")\n",
1003cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				         skel_text );
100405436638acc7c010349a69c3395f1a57c642dc62Ying Wang			else if ( yy_act == 23 )
1005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				fprintf( stderr, "--(end of buffer or a NUL)\n" );
1006cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			else
1007cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
1008cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1009cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1010cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		switch ( yy_act )
1011cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	{ /* beginning of action switch */
1012cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [13.0] actions go here */
1013cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			case 0: /* must back up */
1014cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* undo the effects of YY_DO_BEFORE_ACTION */
1015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			*yy_cp = (yy_hold_char);
1016cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_cp = (yy_last_accepting_cpos);
1017cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_current_state = (yy_last_accepting_state);
1018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			goto yy_find_action;
1019cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 1:
1021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
102205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 72 "scan-skel.l"
102305436638acc7c010349a69c3395f1a57c642dc62Ying Wangfputc ('@', skel_out);
1024cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 2:
1026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
102705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 73 "scan-skel.l"
102805436638acc7c010349a69c3395f1a57c642dc62Ying Wangfputc ('[', skel_out);
1029cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 3:
1031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
103205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 74 "scan-skel.l"
103305436638acc7c010349a69c3395f1a57c642dc62Ying Wangfputc (']', skel_out);
1034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 4:
1036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
103705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 75 "scan-skel.l"
103805436638acc7c010349a69c3395f1a57c642dc62Ying Wangcontinue;  /* Used by b4_cat in ../data/bison.m4.  */
1039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 5:
104105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* rule 5 can match eol */
1042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
104305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 76 "scan-skel.l"
104405436638acc7c010349a69c3395f1a57c642dc62Ying Wangcontinue;
1045cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 6:
1047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
104805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 78 "scan-skel.l"
104905436638acc7c010349a69c3395f1a57c642dc62Ying Wangfprintf (skel_out, "%d", out_lineno + 1);
1050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 7:
1052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
105305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 79 "scan-skel.l"
105405436638acc7c010349a69c3395f1a57c642dc62Ying WangQPUTS (outname);
1055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 8:
1057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
105805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 81 "scan-skel.l"
105905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
106005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  skel_text[skel_leng-1] = '\0';
106105436638acc7c010349a69c3395f1a57c642dc62Ying Wang  obstack_grow (&obstack_for_string, skel_text, skel_leng);
106205436638acc7c010349a69c3395f1a57c642dc62Ying Wang  at_directive_argv[at_directive_argc++] =
106305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    obstack_finish (&obstack_for_string);
106405436638acc7c010349a69c3395f1a57c642dc62Ying Wang  BEGIN SC_AT_DIRECTIVE_ARGS;
106505436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
1066cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
106705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* This pattern must not match more than the previous @ patterns. */
1068cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 9:
1069cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
107005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 90 "scan-skel.l"
107105436638acc7c010349a69c3395f1a57c642dc62Ying Wangfail_for_invalid_at (skel_text);
1072cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1073cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 10:
107405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* rule 10 can match eol */
1075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
107605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 91 "scan-skel.l"
107705436638acc7c010349a69c3395f1a57c642dc62Ying Wangout_lineno++; ECHO;
1078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 11:
1080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
108105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 92 "scan-skel.l"
1082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectECHO;
1083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
1084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase YY_STATE_EOF(INITIAL):
108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 94 "scan-skel.l"
1086cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1087cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  if (outname)
1088cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    {
1089cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project      free (outname);
1090cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project      xfclose (skel_out);
1091cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    }
1092cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  return EOF;
1093cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1094cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
109705436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 12:
109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* rule 12 can match eol */
109905436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 105 "scan-skel.l"
110105436638acc7c010349a69c3395f1a57c642dc62Ying WangSTRING_GROW;
110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
1103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase 13:
1104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_RULE_SETUP
110505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 107 "scan-skel.l"
110605436638acc7c010349a69c3395f1a57c642dc62Ying Wangobstack_1grow (&obstack_for_string, '@');
110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
110805436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 14:
110905436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 108 "scan-skel.l"
111105436638acc7c010349a69c3395f1a57c642dc62Ying Wangobstack_1grow (&obstack_for_string, '[');
111205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
111305436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 15:
111405436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 109 "scan-skel.l"
111605436638acc7c010349a69c3395f1a57c642dc62Ying Wangobstack_1grow (&obstack_for_string, ']');
111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
111805436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 16:
111905436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 110 "scan-skel.l"
112105436638acc7c010349a69c3395f1a57c642dc62Ying Wangcontinue; /* For starting an argument that begins with whitespace. */
112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
112305436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 17:
112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* rule 17 can match eol */
112505436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
112605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 111 "scan-skel.l"
112705436638acc7c010349a69c3395f1a57c642dc62Ying Wangcontinue;
112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
112905436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 18:
113005436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
113105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 113 "scan-skel.l"
113205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
113305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    if (at_directive_argc >= AT_DIRECTIVE_ARGC_MAX)
113405436638acc7c010349a69c3395f1a57c642dc62Ying Wang      fail_for_at_directive_too_many_args (at_directive_argv[0]);
113505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
113605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    obstack_1grow (&obstack_for_string, '\0');
113705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    at_directive_argv[at_directive_argc++] =
113805436638acc7c010349a69c3395f1a57c642dc62Ying Wang      obstack_finish (&obstack_for_string);
113905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
114005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* Like M4, skip whitespace after a comma.  */
114105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    if (skel_text[1] == ',')
114205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      BEGIN SC_AT_DIRECTIVE_SKIP_WS;
114305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    else
114405436638acc7c010349a69c3395f1a57c642dc62Ying Wang      {
114505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        at_directive_perform (at_directive_argc, at_directive_argv,
114605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                              &outname, &out_lineno);
114705436638acc7c010349a69c3395f1a57c642dc62Ying Wang        obstack_free (&obstack_for_string, at_directive_argv[0]);
114805436638acc7c010349a69c3395f1a57c642dc62Ying Wang        at_directive_argc = 0;
114905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        BEGIN INITIAL;
115005436638acc7c010349a69c3395f1a57c642dc62Ying Wang      }
115105436638acc7c010349a69c3395f1a57c642dc62Ying Wang  }
115205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
115305436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 19:
115405436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
115505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 134 "scan-skel.l"
115605436638acc7c010349a69c3395f1a57c642dc62Ying Wangfail_for_invalid_at (skel_text);
115705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
115805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
115905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
116005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
116105436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 20:
116205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* rule 20 can match eol */
116305436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
116405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 139 "scan-skel.l"
116505436638acc7c010349a69c3395f1a57c642dc62Ying Wangcontinue;
116605436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
116705436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 21:
116805436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
116905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 140 "scan-skel.l"
117005436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ yyless (0); BEGIN SC_AT_DIRECTIVE_ARGS; }
117105436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
117205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
117305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
117405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
117505436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase YY_STATE_EOF(SC_AT_DIRECTIVE_ARGS):
117605436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase YY_STATE_EOF(SC_AT_DIRECTIVE_SKIP_WS):
117705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 145 "scan-skel.l"
117805436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
117905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    fatal (_("unclosed %s directive in skeleton"), at_directive_argv[0]);
118005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  }
118105436638acc7c010349a69c3395f1a57c642dc62Ying Wang	YY_BREAK
118205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
118305436638acc7c010349a69c3395f1a57c642dc62Ying Wangcase 22:
118405436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_RULE_SETUP
118505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 150 "scan-skel.l"
1186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_FATAL_ERROR( "flex scanner jammed" );
1187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BREAK
118805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 1189 "scan-skel.c"
1189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	case YY_END_OF_BUFFER:
1191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Amount of text matched not including the EOB char. */
1193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Undo the effects of YY_DO_BEFORE_ACTION. */
1196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*yy_cp = (yy_hold_char);
1197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_RESTORE_YY_MORE_OFFSET
1198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* We're scanning a new file or input source.  It's
1202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * possible that this happened because the user
1203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * just pointed skel_in at a new source and called
1204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * skel_lex().  If so, then we have to assure
1205cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * consistency between YY_CURRENT_BUFFER and our
1206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * globals.  Here is the right place to do so, because
1207cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * this is the first action (other than possibly a
1208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * back-up) that will match for the new input source.
1209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 */
1210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_CURRENT_BUFFER_LVALUE->yy_input_file = skel_in;
1212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Note that here we test for yy_c_buf_p "<=" to the position
1216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * of the first EOB in the buffer, since yy_c_buf_p will
1217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * already have been incremented past the NUL character
1218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * (since all states make transitions on EOB to the
1219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * end-of-buffer state).  Contrast this with the test
1220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * in input().
1221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 */
1222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{ /* This was really a NUL. */
1224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_state_type yy_next_state;
1225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_current_state = yy_get_previous_state(  );
1229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* Okay, we're now positioned to make the NUL
1231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * transition.  We couldn't have
1232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * yy_get_previous_state() go ahead and do it
1233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * for us because it doesn't know how to deal
1234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * with the possibility of jamming (and we don't
1235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * want to build jamming into it because then it
1236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * will run more slowly).
1237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 */
1238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_next_state = yy_try_NUL_trans( yy_current_state );
1240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if ( yy_next_state )
1244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
1245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				/* Consume the NUL. */
1246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_cp = ++(yy_c_buf_p);
1247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_current_state = yy_next_state;
1248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				goto yy_match;
1249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
1250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			else
1252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
1253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
1254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_cp = (yy_last_accepting_cpos);
1255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_current_state = (yy_last_accepting_state);
1256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				goto yy_find_action;
1257cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
1258cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		else switch ( yy_get_next_buffer(  ) )
1261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			case EOB_ACT_END_OF_FILE:
1263cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
1264cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(yy_did_buffer_switch_on_eof) = 0;
1265cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				if ( skel_wrap( ) )
1267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{
1268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					/* Note: because we've taken care in
1269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * yy_get_next_buffer() to have set up
1270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * skel_text, we can now set up
1271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * yy_c_buf_p so that if some total
1272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * hoser (like flex itself) wants to
1273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * call the scanner after we return the
1274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * YY_NULL, it'll still work - another
1275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * YY_NULL will get returned.
1276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 */
1277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1279cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					yy_act = YY_STATE_EOF(YY_START);
1280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					goto do_action;
1281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					}
1282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				else
1284cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{
1285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					if ( ! (yy_did_buffer_switch_on_eof) )
1286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project						YY_NEW_FILE;
1287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					}
1288cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				break;
1289cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
1290cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1291cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			case EOB_ACT_CONTINUE_SCAN:
1292cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(yy_c_buf_p) =
1293cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					(yytext_ptr) + yy_amount_of_matched_text;
1294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_current_state = yy_get_previous_state(  );
1296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1297cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_cp = (yy_c_buf_p);
1298cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1299cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				goto yy_match;
1300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1301cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			case EOB_ACT_LAST_MATCH:
1302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(yy_c_buf_p) =
1303cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1304cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1305cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_current_state = yy_get_previous_state(  );
1306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_cp = (yy_c_buf_p);
1308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1309cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				goto yy_find_action;
1310cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1311cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		break;
1312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	default:
1315cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR(
1316cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			"fatal flex scanner internal error--no action found" );
1317cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	} /* end of action switch */
1318cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		} /* end of scanning one token */
1319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project} /* end of skel_lex */
1320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
1321cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1322cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1323cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
1324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
1326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1327cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1328cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1329cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* yy_get_next_buffer - try to read in a new buffer
1330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * Returns a code representing an action:
1332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *	EOB_ACT_LAST_MATCH -
1333cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1334cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *	EOB_ACT_END_OF_FILE - end of file
1335cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_get_next_buffer (void)
1338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1339cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1343cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register char *source = (yytext_ptr);
1344cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register int number_to_move, i;
1345cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int ret_val;
1346cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1347cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1348cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR(
1349cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		"fatal flex scanner internal error--end of buffer missed" );
1350cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1351cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1352cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{ /* Don't try to fill the buffer, so this is an EOF. */
1353cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1354cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1355cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* We matched a single character, the EOB, so
1356cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * treat this as a final EOF.
1357cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 */
1358cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			return EOB_ACT_END_OF_FILE;
1359cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1360cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1361cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		else
1362cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1363cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* We matched some text prior to the EOB, first
1364cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 * process it.
1365cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			 */
1366cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			return EOB_ACT_LAST_MATCH;
1367cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1368cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1369cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1370cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Try to read more data. */
1371cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1372cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* First move last chars to start of buffer. */
1373cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1374cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1375cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	for ( i = 0; i < number_to_move; ++i )
1376cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*(dest++) = *(source++);
1377cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1378cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1379cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* don't do the read, it's not guaranteed to return an EOF,
1380cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * just force an EOF
1381cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 */
1382cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1383cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1384cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	else
1385cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
138605436638acc7c010349a69c3395f1a57c642dc62Ying Wang			yy_size_t num_to_read =
1387cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1388cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1389cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		while ( num_to_read <= 0 )
1390cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{ /* Not enough room in the buffer - grow it. */
1391cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1392cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* just a shorter name for the current buffer */
139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
1394cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1395cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			int yy_c_buf_p_offset =
1396cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				(int) ((yy_c_buf_p) - b->yy_ch_buf);
1397cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1398cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if ( b->yy_is_our_buffer )
1399cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
140005436638acc7c010349a69c3395f1a57c642dc62Ying Wang				yy_size_t new_size = b->yy_buf_size * 2;
1401cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1402cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				if ( new_size <= 0 )
1403cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					b->yy_buf_size += b->yy_buf_size / 8;
1404cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				else
1405cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					b->yy_buf_size *= 2;
1406cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1407cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				b->yy_ch_buf = (char *)
1408cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					/* Include room in for 2 EOB chars. */
1409cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					skel_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
1410cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
1411cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			else
1412cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				/* Can't grow it, we don't own it. */
1413cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				b->yy_ch_buf = 0;
1414cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1415cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			if ( ! b->yy_ch_buf )
1416cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				YY_FATAL_ERROR(
1417cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				"fatal error - scanner input buffer overflow" );
1418cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1419cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1420cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1421cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1422cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project						number_to_move - 1;
1423cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1424cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1425cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1426cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( num_to_read > YY_READ_BUF_SIZE )
1427cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			num_to_read = YY_READ_BUF_SIZE;
1428cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1429cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Read in more data. */
1430cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1431cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_n_chars), num_to_read );
1432cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1433cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1434cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1435cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1436cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( (yy_n_chars) == 0 )
1437cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1438cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( number_to_move == YY_MORE_ADJ )
1439cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1440cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ret_val = EOB_ACT_END_OF_FILE;
1441cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			skel_restart(skel_in  );
1442cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1443cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1444cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		else
1445cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1446cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ret_val = EOB_ACT_LAST_MATCH;
1447cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1448cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				YY_BUFFER_EOF_PENDING;
1449cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1450cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1451cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1452cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	else
1453cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		ret_val = EOB_ACT_CONTINUE_SCAN;
1454cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
145505436638acc7c010349a69c3395f1a57c642dc62Ying Wang	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
145605436638acc7c010349a69c3395f1a57c642dc62Ying Wang		/* Extend the array by 50%, plus the number we really need. */
145705436638acc7c010349a69c3395f1a57c642dc62Ying Wang		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
145805436638acc7c010349a69c3395f1a57c642dc62Ying Wang		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) skel_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
145905436638acc7c010349a69c3395f1a57c642dc62Ying Wang		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
146005436638acc7c010349a69c3395f1a57c642dc62Ying Wang			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
146105436638acc7c010349a69c3395f1a57c642dc62Ying Wang	}
146205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1463cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_n_chars) += number_to_move;
1464cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1465cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1466cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1467cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1468cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1469cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return ret_val;
1470cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1471cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1472cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* yy_get_previous_state - get the state just before the EOB char was reached */
1473cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1474cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1475cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %not-for-header */
1476cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1477cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    static yy_state_type yy_get_previous_state (void)
1478cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1479cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1480cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1481cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1482cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register yy_state_type yy_current_state;
1483cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register char *yy_cp;
1484cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1485cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [15.0] code to get the start state into yy_current_state goes here */
1486cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	yy_current_state = (yy_start);
1487cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1488cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1489cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1490cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [16.0] code to find the next state goes here */
1491cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1492cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( yy_accept[yy_current_state] )
1493cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1494cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_last_accepting_state) = yy_current_state;
1495cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			(yy_last_accepting_cpos) = yy_cp;
1496cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1497cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1498cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{
1499cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_current_state = (int) yy_def[yy_current_state];
150005436638acc7c010349a69c3395f1a57c642dc62Ying Wang			if ( yy_current_state >= 45 )
1501cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				yy_c = yy_meta[(unsigned int) yy_c];
1502cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1503cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1504cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1505cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1506cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return yy_current_state;
1507cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1508cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1509cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* yy_try_NUL_trans - try to make a transition on the NUL character
1510cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1511cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * synopsis
1512cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *	next_state = yy_try_NUL_trans( current_state );
1513cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1514cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1515cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
1516cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1517cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1518cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1519cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1520cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register int yy_is_jam;
1521cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
1522cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register char *yy_cp = (yy_c_buf_p);
1523cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1524cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register YY_CHAR yy_c = 1;
1525cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( yy_accept[yy_current_state] )
1526cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1527cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_last_accepting_state) = yy_current_state;
1528cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_last_accepting_cpos) = yy_cp;
1529cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1530cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1531cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1532cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		yy_current_state = (int) yy_def[yy_current_state];
153305436638acc7c010349a69c3395f1a57c642dc62Ying Wang		if ( yy_current_state >= 45 )
1534cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			yy_c = yy_meta[(unsigned int) yy_c];
1535cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1536cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
153705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	yy_is_jam = (yy_current_state == 44);
1538cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
153905436638acc7c010349a69c3395f1a57c642dc62Ying Wang		return yy_is_jam ? 0 : yy_current_state;
1540cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1541cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1542cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1543cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1544cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1545cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1546cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1547cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_NO_INPUT
1548cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef __cplusplus
1549cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    static int yyinput (void)
1550cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
1551cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    static int input  (void)
1552cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
1553cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1554cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1555cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1556cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1557cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1558cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int c;
1559cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1560cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	*(yy_c_buf_p) = (yy_hold_char);
1561cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1562cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1563cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1564cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* yy_c_buf_p now points to the character we want to return.
1565cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * If this occurs *before* the EOB characters, then it's a
1566cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * valid NUL; if not, then we've hit the end of the buffer.
1567cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 */
1568cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1569cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			/* This was really a NUL. */
1570cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			*(yy_c_buf_p) = '\0';
1571cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1572cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		else
1573cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			{ /* need more input */
157405436638acc7c010349a69c3395f1a57c642dc62Ying Wang			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
1575cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			++(yy_c_buf_p);
1576cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1577cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			switch ( yy_get_next_buffer(  ) )
1578cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{
1579cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				case EOB_ACT_LAST_MATCH:
1580cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					/* This happens because yy_g_n_b()
1581cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * sees that we've accumulated a
1582cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * token and flags that we need to
1583cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * try matching the token before
1584cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * proceeding.  But for input(),
1585cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * there's no matching to consider.
1586cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * So convert the EOB_ACT_LAST_MATCH
1587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 * to EOB_ACT_END_OF_FILE.
1588cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					 */
1589cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1590cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					/* Reset buffer status. */
1591cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					skel_restart(skel_in );
1592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1593cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					/*FALLTHROUGH*/
1594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1595cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				case EOB_ACT_END_OF_FILE:
1596cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{
1597cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					if ( skel_wrap( ) )
1598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project						return EOF;
1599cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					if ( ! (yy_did_buffer_switch_on_eof) )
1601cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project						YY_NEW_FILE;
1602cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef __cplusplus
1603cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					return yyinput();
1604cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#else
1605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					return input();
1606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
1607cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					}
1608cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1609cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				case EOB_ACT_CONTINUE_SCAN:
1610cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					(yy_c_buf_p) = (yytext_ptr) + offset;
1611cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					break;
1612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				}
1613cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			}
1614cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1615cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1616cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
1617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	*(yy_c_buf_p) = '\0';	/* preserve skel_text */
1618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_hold_char) = *++(yy_c_buf_p);
1619cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1620cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %% [19.0] update BOL and skel_lineno */
1621cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1622cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return c;
1623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1625cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif	/* ifndef YY_NO_INPUT */
1626cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1627cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1628cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Immediately switch to a different input stream.
1629cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param input_file A readable stream.
1630cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1631cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @note This function does not reset the start condition to @c INITIAL .
1632cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1633cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1634cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    void skel_restart  (FILE * input_file )
1635cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1636cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1637cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1638cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1639cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1640cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! YY_CURRENT_BUFFER ){
1641cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel_ensure_buffer_stack ();
1642cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE =
1643cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project            skel__create_buffer(skel_in,YY_BUF_SIZE );
1644cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
1645cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1646cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__init_buffer(YY_CURRENT_BUFFER,input_file );
1647cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__load_buffer_state( );
1648cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1649cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1650cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Switch to a different input buffer.
1651cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param new_buffer The new input buffer.
1652cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1653cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1654cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1655cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    void skel__switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
1656cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1657cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1658cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1659cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1660cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1661cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* TODO. We should be able to replace this entire function body
1662cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * with
1663cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 *		skel_pop_buffer_state();
1664cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 *		skel_push_buffer_state(new_buffer);
1665cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project     */
1666cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_ensure_buffer_stack ();
1667cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER == new_buffer )
1668cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1669cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1670cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER )
1671cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1672cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Flush out information for old buffer. */
1673cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*(yy_c_buf_p) = (yy_hold_char);
1674cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1675cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1676cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1677cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1678cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1679cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__load_buffer_state( );
1680cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1681cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* We don't actually know whether we did this switch during
1682cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * EOF (skel_wrap()) processing, but the only time this flag
1683cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * is looked at is after skel_wrap() is called, so it's safe
1684cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * to go ahead and always set it.
1685cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
1686cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_did_buffer_switch_on_eof) = 1;
1687cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1688cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1689cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1690cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void skel__load_buffer_state  (void)
1691cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1692cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1693cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1694cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1695cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1696cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1697cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1698cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_hold_char) = *(yy_c_buf_p);
1699cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1700cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1701cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Allocate and initialize an input buffer state.
1702cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param file A readable stream.
1703cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1704cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1705cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @return the allocated buffer state.
1706cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1707cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1708cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    YY_BUFFER_STATE skel__create_buffer  (FILE * file, int  size )
1709cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1710cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1711cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1712cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1713cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BUFFER_STATE b;
1714cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1715cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b = (YY_BUFFER_STATE) skel_alloc(sizeof( struct yy_buffer_state )  );
1716cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! b )
1717cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR( "out of dynamic memory in skel__create_buffer()" );
1718cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1719cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buf_size = size;
1720cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1721cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* yy_ch_buf has to be 2 characters longer than the size given because
1722cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * we need to put in 2 end-of-buffer characters.
1723cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
1724cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_ch_buf = (char *) skel_alloc(b->yy_buf_size + 2  );
1725cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! b->yy_ch_buf )
1726cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR( "out of dynamic memory in skel__create_buffer()" );
1727cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1728cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_is_our_buffer = 1;
1729cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1730cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__init_buffer(b,file );
1731cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1732cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return b;
1733cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1734cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1735cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Destroy the buffer.
1736cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param b a buffer created with skel__create_buffer()
1737cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1738cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1739cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1740cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    void skel__delete_buffer (YY_BUFFER_STATE  b )
1741cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1742cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1743cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1744cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1745cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1746cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! b )
1747cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1748cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1749cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1750cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1751cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1752cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( b->yy_is_our_buffer )
1753cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel_free((void *) b->yy_ch_buf  );
1754cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1755cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_free((void *) b  );
1756cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1757cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1758cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Initializes or reinitializes a buffer.
1759cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * This function is sometimes called more than once on the same buffer,
1760cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * such as during a skel_restart() or at EOF.
1761cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1762cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1763cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    static void skel__init_buffer  (YY_BUFFER_STATE  b, FILE * file )
1764cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1765cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1766cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1767cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1768cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1769cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int oerrno = errno;
1770cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1771cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__flush_buffer(b );
1772cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1773cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_input_file = file;
1774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_fill_buffer = 1;
1775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1776cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    /* If b is the current buffer, then skel__init_buffer was _probably_
1777cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project     * called from skel_restart() or through yy_get_next_buffer.
1778cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project     * In that case, we don't want to reset the lineno or column.
1779cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project     */
1780cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    if (b != YY_CURRENT_BUFFER){
1781cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        b->yy_bs_lineno = 1;
1782cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        b->yy_bs_column = 0;
1783cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    }
1784cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1785cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1786cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        b->yy_is_interactive = 0;
1788cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1789cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1790cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	errno = oerrno;
1793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1794cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1795cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1796cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1797cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1798cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1799cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1800cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    void skel__flush_buffer (YY_BUFFER_STATE  b )
1801cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1802cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1803cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1804cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1805cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	if ( ! b )
1806cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1807cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1808cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_n_chars = 0;
1809cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* We always need two end-of-buffer characters.  The first causes
1811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * a transition to the end-of-buffer state.  The second causes
1812cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * a jam in that state.
1813cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
1814cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1815cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buf_pos = &b->yy_ch_buf[0];
1818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_at_bol = 1;
1820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buffer_status = YY_BUFFER_NEW;
1821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( b == YY_CURRENT_BUFFER )
1823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel__load_buffer_state( );
1824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1825cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1826cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-or-c++ */
1827cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Pushes the new state onto the stack. The new state becomes
1828cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *  the current state. This function will allocate the stack
1829cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *  if necessary.
1830cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *  @param new_buffer The new state.
1831cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1832cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1833cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1834cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_push_buffer_state (YY_BUFFER_STATE new_buffer )
1835cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1836cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1837cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1838cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	if (new_buffer == NULL)
1840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_ensure_buffer_stack();
1843cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1844cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* This block is copied from skel__switch_to_buffer. */
1845cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( YY_CURRENT_BUFFER )
1846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{
1847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Flush out information for old buffer. */
1848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*(yy_c_buf_p) = (yy_hold_char);
1849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		}
1852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Only push if top exists. Otherwise, replace top. */
1854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if (YY_CURRENT_BUFFER)
1855cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack_top)++;
1856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1857cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* copied from skel__switch_to_buffer. */
1859cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__load_buffer_state( );
1860cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_did_buffer_switch_on_eof) = 1;
1861cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-or-c++ */
1865cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Removes and deletes the top of the stack, if present.
1866cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *  The next element becomes the new top.
1867cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1868cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1869cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1870cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_pop_buffer_state (void)
1871cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1872cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1873cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	if (!YY_CURRENT_BUFFER)
1876cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1877cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1878cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__delete_buffer(YY_CURRENT_BUFFER );
1879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_CURRENT_BUFFER_LVALUE = NULL;
1880cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ((yy_buffer_stack_top) > 0)
1881cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		--(yy_buffer_stack_top);
1882cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if (YY_CURRENT_BUFFER) {
1884cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel__load_buffer_state( );
1885cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_did_buffer_switch_on_eof) = 1;
1886cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
1887cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1888cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1889cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1890cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-or-c++ */
1891cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Allocates the stack if it does not exist.
1892cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *  Guarantees space for at least one push.
1893cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1894cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1895cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void skel_ensure_buffer_stack (void)
1896cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1897cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
1898cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1899cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
190005436638acc7c010349a69c3395f1a57c642dc62Ying Wang	yy_size_t num_to_alloc;
1901cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1902cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if (!(yy_buffer_stack)) {
1903cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1904cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* First allocation is just for 2 elements, since we don't know if this
1905cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
1906cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		 * immediate realloc on the next call.
1907cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project         */
1908cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		num_to_alloc = 1;
1909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack) = (struct yy_buffer_state**)skel_alloc
1910cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project								(num_to_alloc * sizeof(struct yy_buffer_state*)
1911cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project								);
191205436638acc7c010349a69c3395f1a57c642dc62Ying Wang		if ( ! (yy_buffer_stack) )
191305436638acc7c010349a69c3395f1a57c642dc62Ying Wang			YY_FATAL_ERROR( "out of dynamic memory in skel_ensure_buffer_stack()" );
191405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1915cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack_max) = num_to_alloc;
1918cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack_top) = 0;
1919cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return;
1920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
1921cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Increase the buffer to prepare for a possible push. */
1925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		int grow_size = 8 /* arbitrary grow size */;
1926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		num_to_alloc = (yy_buffer_stack_max) + grow_size;
1928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack) = (struct yy_buffer_state**)skel_realloc
1929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project								((yy_buffer_stack),
1930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project								num_to_alloc * sizeof(struct yy_buffer_state*)
1931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project								);
193205436638acc7c010349a69c3395f1a57c642dc62Ying Wang		if ( ! (yy_buffer_stack) )
193305436638acc7c010349a69c3395f1a57c642dc62Ying Wang			YY_FATAL_ERROR( "out of dynamic memory in skel_ensure_buffer_stack()" );
1934cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1935cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* zero only the new slots.*/
1936cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1937cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_buffer_stack_max) = num_to_alloc;
1938cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
1939cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1940cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1941cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1942cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1943cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Setup the input buffer state to scan directly from a user-specified character buffer.
1944cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param base the character buffer
1945cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param size the size in bytes of the character buffer
1946cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1947cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @return the newly allocated buffer state object.
1948cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
1949cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectYY_BUFFER_STATE skel__scan_buffer  (char * base, yy_size_t  size )
1950cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1951cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BUFFER_STATE b;
1952cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1953cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( size < 2 ||
1954cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
1955cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	     base[size-1] != YY_END_OF_BUFFER_CHAR )
1956cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* They forgot to leave room for the EOB's. */
1957cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		return 0;
1958cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1959cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b = (YY_BUFFER_STATE) skel_alloc(sizeof( struct yy_buffer_state )  );
1960cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! b )
1961cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR( "out of dynamic memory in skel__scan_buffer()" );
1962cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1963cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
1964cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buf_pos = b->yy_ch_buf = base;
1965cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_is_our_buffer = 0;
1966cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_input_file = 0;
1967cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_n_chars = b->yy_buf_size;
1968cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_is_interactive = 0;
1969cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_at_bol = 1;
1970cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_fill_buffer = 0;
1971cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_buffer_status = YY_BUFFER_NEW;
1972cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1973cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel__switch_to_buffer(b  );
1974cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1975cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return b;
1976cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1977cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1978cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1979cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1980cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Setup the input buffer state to scan a string. The next call to skel_lex() will
1981cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * scan from a @e copy of @a str.
198205436638acc7c010349a69c3395f1a57c642dc62Ying Wang * @param yystr a NUL-terminated string to scan
1983cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
1984cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @return the newly allocated buffer state object.
1985cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @note If you want to scan bytes that may contain NUL values, then use
1986cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *       skel__scan_bytes() instead.
1987cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
198805436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_BUFFER_STATE skel__scan_string (yyconst char * yystr )
1989cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
1990cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
199105436638acc7c010349a69c3395f1a57c642dc62Ying Wang	return skel__scan_bytes(yystr,strlen(yystr) );
1992cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
1993cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
1994cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1995cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
1996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Setup the input buffer state to scan the given bytes. The next call to skel_lex() will
1997cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * scan from a @e copy of @a bytes.
199805436638acc7c010349a69c3395f1a57c642dc62Ying Wang * @param yybytes the byte buffer to scan
199905436638acc7c010349a69c3395f1a57c642dc62Ying Wang * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2001cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @return the newly allocated buffer state object.
2002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
200305436638acc7c010349a69c3395f1a57c642dc62Ying WangYY_BUFFER_STATE skel__scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
2004cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	YY_BUFFER_STATE b;
2006cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	char *buf;
2007cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	yy_size_t n;
2008cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	int i;
2009cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2010cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Get memory for full buffer, including space for trailing EOB's. */
201105436638acc7c010349a69c3395f1a57c642dc62Ying Wang	n = _yybytes_len + 2;
2012cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	buf = (char *) skel_alloc(n  );
2013cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! buf )
2014cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR( "out of dynamic memory in skel__scan_bytes()" );
2015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
201605436638acc7c010349a69c3395f1a57c642dc62Ying Wang	for ( i = 0; i < _yybytes_len; ++i )
201705436638acc7c010349a69c3395f1a57c642dc62Ying Wang		buf[i] = yybytes[i];
2018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
201905436638acc7c010349a69c3395f1a57c642dc62Ying Wang	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b = skel__scan_buffer(buf,n );
2022cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	if ( ! b )
2023cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_FATAL_ERROR( "bad buffer in skel__scan_bytes()" );
2024cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* It's okay to grow etc. this buffer, and we should throw it
2026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * away when we're done.
2027cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
2028cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	b->yy_is_our_buffer = 1;
2029cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return b;
2031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2032cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2033cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef YY_EXIT_FAILURE
2035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YY_EXIT_FAILURE 2
2036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
2037cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2038cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
2039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void yy_fatal_error (yyconst char* msg )
2040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2041cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    	(void) fprintf( stderr, "%s\n", msg );
2042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	exit( YY_EXIT_FAILURE );
2043cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2044cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2045cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c++-only */
2046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2048cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Redefine yyless() so it works in section 3 code. */
2049cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#undef yyless
2051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define yyless(n) \
2052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	do \
2053cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{ \
2054cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		/* Undo effects of setting up skel_text. */ \
2055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        int yyless_macro_arg = (n); \
2056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        YY_LESS_LINENO(yyless_macro_arg);\
2057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel_text[skel_leng] = (yy_hold_char); \
2058cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_c_buf_p) = skel_text + yyless_macro_arg; \
2059cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		(yy_hold_char) = *(yy_c_buf_p); \
2060cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		*(yy_c_buf_p) = '\0'; \
2061cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel_leng = yyless_macro_arg; \
2062cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		} \
2063cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	while ( 0 )
2064cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2065cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Accessor  methods (get/set functions) to struct members. */
2066cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2067cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only */
2068cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
2069cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2070cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2071cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Get the current line number.
2072cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2073cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2074cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint skel_get_lineno  (void)
2075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2076cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2077cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    return skel_lineno;
2078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Get the input stream.
2081cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFILE *skel_get_in  (void)
2084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2085cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        return skel_in;
2086cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2087cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2088cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Get the output stream.
2089cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2090cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2091cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFILE *skel_get_out  (void)
2092cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2093cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        return skel_out;
2094cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2095cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2096cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Get the length of the current token.
2097cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2098cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
209905436638acc7c010349a69c3395f1a57c642dc62Ying Wangyy_size_t skel_get_leng  (void)
2100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        return skel_leng;
2102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Get the current token.
2105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectchar *skel_get_text  (void)
2109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        return skel_text;
2111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
2114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Set the current line number.
2117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param line_number
2118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_set_lineno (int  line_number )
2121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    skel_lineno = line_number;
2124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/** Set the input stream. This does not discard the current
2127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * input buffer.
2128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @param in_str A readable stream.
2129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *
2130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * @see skel__switch_to_buffer
2131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_set_in (FILE *  in_str )
2133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2134cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel_in = in_str ;
2135cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_set_out (FILE *  out_str )
2138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel_out = out_str ;
2140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2141cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint skel_get_debug  (void)
2143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        return skel__flex_debug;
2145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_set_debug (int  bdebug )
2148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project        skel__flex_debug = bdebug ;
2150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2151cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
2155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-bison-bridge */
2156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
215705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %endif if-c-only */
215805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
215905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* %if-c-only */
216005436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic int yy_init_globals (void)
216105436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
216205436638acc7c010349a69c3395f1a57c642dc62Ying Wang        /* Initialization is the same as for the non-reentrant scanner.
216305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     * This function is called from skel_lex_destroy(), so don't allocate here.
216405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     */
216505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
216605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_buffer_stack) = 0;
216705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_buffer_stack_top) = 0;
216805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_buffer_stack_max) = 0;
216905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_c_buf_p) = (char *) 0;
217005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_init) = 0;
217105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    (yy_start) = 0;
217205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
217305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Defined in main.c */
217405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef YY_STDINIT
217505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    skel_in = stdin;
217605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    skel_out = stdout;
217705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
217805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    skel_in = (FILE *) 0;
217905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    skel_out = (FILE *) 0;
218005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
218105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
218205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* For future reference: Set errno on error, since we are called by
218305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     * skel_lex_init()
218405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     */
218505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    return 0;
218605436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
2187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
2190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* skel_lex_destroy is for both reentrant and non-reentrant scanners. */
2191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectint skel_lex_destroy  (void)
2192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    /* Pop the buffer stack, destroying each element. */
2195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	while(YY_CURRENT_BUFFER){
2196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel__delete_buffer(YY_CURRENT_BUFFER  );
2197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		YY_CURRENT_BUFFER_LVALUE = NULL;
2198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		skel_pop_buffer_state();
2199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	}
2200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Destroy the stack itself. */
2202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	skel_free((yy_buffer_stack) );
2203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	(yy_buffer_stack) = NULL;
2204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
220505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* Reset the globals. This is important in a non-reentrant scanner so the next time
220605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     * skel_lex() is called, initialization will occur. */
220705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    yy_init_globals( );
220805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-reentrant */
2210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project    return 0;
2212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*
2216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project * Internal utility routines.
2217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project */
2218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifndef yytext_ptr
2220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register int i;
222305436638acc7c010349a69c3395f1a57c642dc62Ying Wang	for ( i = 0; i < n; ++i )
2224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		s1[i] = s2[i];
2225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
2227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#ifdef YY_NEED_STRLEN
2229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatic int yy_flex_strlen (yyconst char * s )
2230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	register int n;
223205436638acc7c010349a69c3395f1a57c642dc62Ying Wang	for ( n = 0; s[n]; ++n )
2233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
2234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return n;
2236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#endif
2238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid *skel_alloc (yy_size_t  size )
2240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return (void *) malloc( size );
2242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid *skel_realloc  (void * ptr, yy_size_t  size )
2245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* The cast to (char *) in the following accommodates both
2247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * implementations that use char* generic pointers, and those
2248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * that use void* generic pointers.  It works with the latter
2249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * because both ANSI C and C++ allow castless assignment from
2250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * any pointer type to void*, and deal with argument conversions
2251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * as though doing an assignment.
2252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
2253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	return (void *) realloc( (char *) ptr, size );
2254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid skel_free (void * ptr )
2257cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
2258cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	free( (char *) ptr );	/* see skel_realloc() for (char *) cast */
2259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %if-tables-serialization definitions */
2262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %define-yytables   The name for this specific scanner's tables. */
2263cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#define YYTABLES_NAME "yytables"
2264cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %endif */
2265cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* %ok-for-header */
2267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
226805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#line 150 "scan-skel.l"
2269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*------------------------.
2273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project| Scan a Bison skeleton.  |
2274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project`------------------------*/
2275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvoid
2277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectscan_skel (FILE *in)
2278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project{
227905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  static bool initialized = false;
228005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  if (!initialized)
228105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {
228205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      initialized = true;
228305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      obstack_init (&obstack_for_string);
228405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }
2285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  skel_in = in;
2286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  skel__flex_debug = trace_flag & trace_skeleton;
2287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  skel_lex ();
228805436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
228905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
229005436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid
229105436638acc7c010349a69c3395f1a57c642dc62Ying Wangskel_scanner_free (void)
229205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
229305436638acc7c010349a69c3395f1a57c642dc62Ying Wang  obstack_free (&obstack_for_string, 0);
2294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project  /* Reclaim Flex's buffers.  */
229505436638acc7c010349a69c3395f1a57c642dc62Ying Wang  skel_lex_destroy ();
229605436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
229705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
229805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void
229905436638acc7c010349a69c3395f1a57c642dc62Ying Wangat_directive_perform (int at_directive_argc,
230005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                      char *at_directive_argv[],
230105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                      char **outnamep, int *out_linenop)
230205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
230305436638acc7c010349a69c3395f1a57c642dc62Ying Wang  if (0 == strcmp (at_directive_argv[0], "@basename"))
230405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {
230505436638acc7c010349a69c3395f1a57c642dc62Ying Wang      if (at_directive_argc > 2)
230605436638acc7c010349a69c3395f1a57c642dc62Ying Wang        fail_for_at_directive_too_many_args (at_directive_argv[0]);
230705436638acc7c010349a69c3395f1a57c642dc62Ying Wang      fputs (last_component (at_directive_argv[1]), skel_out);
230805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }
230905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  else if (0 == strcmp (at_directive_argv[0], "@warn")
231005436638acc7c010349a69c3395f1a57c642dc62Ying Wang           || 0 == strcmp (at_directive_argv[0], "@complain")
231105436638acc7c010349a69c3395f1a57c642dc62Ying Wang           || 0 == strcmp (at_directive_argv[0], "@fatal"))
231205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {
231305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      void (*func)(char const *, ...);
231405436638acc7c010349a69c3395f1a57c642dc62Ying Wang      switch (at_directive_argv[0][1])
231505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        {
231605436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'w': func = warn; break;
231705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'c': func = complain; break;
231805436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'f': func = fatal; break;
231905436638acc7c010349a69c3395f1a57c642dc62Ying Wang          default: aver (false); break;
232005436638acc7c010349a69c3395f1a57c642dc62Ying Wang        }
232105436638acc7c010349a69c3395f1a57c642dc62Ying Wang      switch (at_directive_argc)
232205436638acc7c010349a69c3395f1a57c642dc62Ying Wang        {
232305436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 2:
232405436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (_(at_directive_argv[1]));
232505436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
232605436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 3:
232705436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (_(at_directive_argv[1]), at_directive_argv[2]);
232805436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
232905436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 4:
233005436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (_(at_directive_argv[1]), at_directive_argv[2],
233105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[3]);
233205436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
233305436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 5:
233405436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (_(at_directive_argv[1]), at_directive_argv[2],
233505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[3], at_directive_argv[4]);
233605436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
233705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 6:
233805436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (_(at_directive_argv[1]), at_directive_argv[2],
233905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[3], at_directive_argv[4],
234005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[5]);
234105436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
234205436638acc7c010349a69c3395f1a57c642dc62Ying Wang          default:
234305436638acc7c010349a69c3395f1a57c642dc62Ying Wang            fail_for_at_directive_too_many_args (at_directive_argv[0]);
234405436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
234505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        }
234605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }
234705436638acc7c010349a69c3395f1a57c642dc62Ying Wang  else if (0 == strcmp (at_directive_argv[0], "@warn_at")
234805436638acc7c010349a69c3395f1a57c642dc62Ying Wang           || 0 == strcmp (at_directive_argv[0], "@complain_at")
234905436638acc7c010349a69c3395f1a57c642dc62Ying Wang           || 0 == strcmp (at_directive_argv[0], "@fatal_at"))
235005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {
235105436638acc7c010349a69c3395f1a57c642dc62Ying Wang      void (*func)(location, char const *, ...);
235205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      location loc;
235305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      if (at_directive_argc < 4)
235405436638acc7c010349a69c3395f1a57c642dc62Ying Wang        fail_for_at_directive_too_few_args (at_directive_argv[0]);
235505436638acc7c010349a69c3395f1a57c642dc62Ying Wang      switch (at_directive_argv[0][1])
235605436638acc7c010349a69c3395f1a57c642dc62Ying Wang        {
235705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'w': func = warn_at; break;
235805436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'c': func = complain_at; break;
235905436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 'f': func = fatal_at; break;
236005436638acc7c010349a69c3395f1a57c642dc62Ying Wang          default: aver (false); break;
236105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        }
236205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      boundary_set_from_string (&loc.start, at_directive_argv[1]);
236305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      boundary_set_from_string (&loc.end, at_directive_argv[2]);
236405436638acc7c010349a69c3395f1a57c642dc62Ying Wang      switch (at_directive_argc)
236505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        {
236605436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 4:
236705436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (loc, _(at_directive_argv[3]));
236805436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
236905436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 5:
237005436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (loc, _(at_directive_argv[3]), at_directive_argv[4]);
237105436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
237205436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 6:
237305436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (loc, _(at_directive_argv[3]), at_directive_argv[4],
237405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[5]);
237505436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
237605436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 7:
237705436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (loc, _(at_directive_argv[3]), at_directive_argv[4],
237805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[5], at_directive_argv[6]);
237905436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
238005436638acc7c010349a69c3395f1a57c642dc62Ying Wang          case 8:
238105436638acc7c010349a69c3395f1a57c642dc62Ying Wang            func (loc, _(at_directive_argv[3]), at_directive_argv[4],
238205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[5], at_directive_argv[6],
238305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  at_directive_argv[7]);
238405436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
238505436638acc7c010349a69c3395f1a57c642dc62Ying Wang          default:
238605436638acc7c010349a69c3395f1a57c642dc62Ying Wang            fail_for_at_directive_too_many_args (at_directive_argv[0]);
238705436638acc7c010349a69c3395f1a57c642dc62Ying Wang            break;
238805436638acc7c010349a69c3395f1a57c642dc62Ying Wang        }
238905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }
239005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  else if (0 == strcmp (at_directive_argv[0], "@output"))
239105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {
239205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      if (at_directive_argc > 2)
239305436638acc7c010349a69c3395f1a57c642dc62Ying Wang        fail_for_at_directive_too_many_args (at_directive_argv[0]);
239405436638acc7c010349a69c3395f1a57c642dc62Ying Wang      if (*outnamep)
239505436638acc7c010349a69c3395f1a57c642dc62Ying Wang        {
239605436638acc7c010349a69c3395f1a57c642dc62Ying Wang          free (*outnamep);
239705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          xfclose (skel_out);
239805436638acc7c010349a69c3395f1a57c642dc62Ying Wang        }
239905436638acc7c010349a69c3395f1a57c642dc62Ying Wang      *outnamep = xstrdup (at_directive_argv[1]);
240005436638acc7c010349a69c3395f1a57c642dc62Ying Wang      output_file_name_check (outnamep);
240105436638acc7c010349a69c3395f1a57c642dc62Ying Wang      skel_out = xfopen (*outnamep, "w");
240205436638acc7c010349a69c3395f1a57c642dc62Ying Wang      *out_linenop = 1;
240305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }
240405436638acc7c010349a69c3395f1a57c642dc62Ying Wang  else
240505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    fail_for_invalid_at (at_directive_argv[0]);
240605436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
240705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
240805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void
240905436638acc7c010349a69c3395f1a57c642dc62Ying Wangfail_for_at_directive_too_few_args (char const *at_directive_name)
241005436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
241105436638acc7c010349a69c3395f1a57c642dc62Ying Wang  fatal (_("too few arguments for %s directive in skeleton"),
241205436638acc7c010349a69c3395f1a57c642dc62Ying Wang         at_directive_name);
241305436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
241405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
241505436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void
241605436638acc7c010349a69c3395f1a57c642dc62Ying Wangfail_for_at_directive_too_many_args (char const *at_directive_name)
241705436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
241805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  fatal (_("too many arguments for %s directive in skeleton"),
241905436638acc7c010349a69c3395f1a57c642dc62Ying Wang         at_directive_name);
242005436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
242105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
242205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void
242305436638acc7c010349a69c3395f1a57c642dc62Ying Wangfail_for_invalid_at (char const *at)
242405436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
242505436638acc7c010349a69c3395f1a57c642dc62Ying Wang  fatal ("invalid @ in skeleton: %s", at);
2426cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project}
2427cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2428