root/OpenSceneGraph/trunk/src/osgPlugins/cfg/ConfigLexer.cpp @ 9637

Revision 9637, 61.7 kB (checked in by robert, 5 years ago)

Warning fixes

Line 
1#line 2 "ConfigLexer.cpp"
2/* A lexical scanner generated by flex */
3
4/* Scanner skeleton version:
5 * $Header: /cvs/Producer/Producer/src/ConfigLexer.cpp,v 1.23 2006/09/06 22:56:30 don Exp $
6 */
7
8#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 5
11
12#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS)
13    // disable '=' : conversion from 'int' to 'char', possible loss of data style warnings
14    #pragma warning( disable : 4244)
15#endif
16
17
18/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
19#ifdef c_plusplus
20#ifndef __cplusplus
21#define __cplusplus
22#endif
23#endif
24
25
26#ifdef __cplusplus
27
28#include <stdlib.h>
29#include <iostream>
30#ifndef WIN32
31#include <unistd.h>
32#endif
33
34/* Use prototypes in function declarations. */
35#define YY_USE_PROTOS
36
37/* The "const" storage-class-modifier is valid. */
38#define YY_USE_CONST
39
40#else   /* ! __cplusplus */
41
42#if __STDC__
43
44#define YY_USE_PROTOS
45#define YY_USE_CONST
46
47#endif  /* __STDC__ */
48#endif  /* ! __cplusplus */
49
50#ifdef __TURBOC__
51 #pragma warn -rch
52 #pragma warn -use
53#include <io.h>
54#include <stdlib.h>
55#define YY_USE_CONST
56#define YY_USE_PROTOS
57#endif
58
59#ifdef YY_USE_CONST
60#define yyconst const
61#else
62#define yyconst
63#endif
64
65
66#ifdef YY_USE_PROTOS
67#define YY_PROTO(proto) proto
68#else
69#define YY_PROTO(proto) ()
70#endif
71
72/* Returned upon end-of-file. */
73#define YY_NULL 0
74
75/* Promotes a possibly negative, possibly signed char to an unsigned
76 * integer for use as an array index.  If the signed char is negative,
77 * we want to instead treat it as an 8-bit unsigned char, hence the
78 * double cast.
79 */
80#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
81
82/* Enter a start condition.  This macro really ought to take a parameter,
83 * but we do it the disgusting crufty way forced on us by the ()-less
84 * definition of BEGIN.
85 */
86#define BEGIN yy_start = 1 + 2 *
87
88/* Translate the current start state into a value that can be later handed
89 * to BEGIN to return to the state.  The YYSTATE alias is for lex
90 * compatibility.
91 */
92#define YY_START ((yy_start - 1) / 2)
93#define YYSTATE YY_START
94
95/* Action number for EOF rule of a given start state. */
96#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
97
98/* Special action meaning "start processing a new file". */
99#define YY_NEW_FILE yyrestart( yyin )
100
101#define YY_END_OF_BUFFER_CHAR 0
102
103/* Size of default input buffer. */
104#define YY_BUF_SIZE 16384
105
106typedef struct yy_buffer_state *YY_BUFFER_STATE;
107
108extern int yyleng;
109
110#define EOB_ACT_CONTINUE_SCAN 0
111#define EOB_ACT_END_OF_FILE 1
112#define EOB_ACT_LAST_MATCH 2
113
114/* The funky do-while in the following #define is used to turn the definition
115 * int a single C statement (which needs a semi-colon terminator).  This
116 * avoids problems with code like:
117 *
118 *      if ( condition_holds )
119 *              yyless( 5 );
120 *      else
121 *              do_something_else();
122 *
123 * Prior to using the do-while the compiler would get upset at the
124 * "else" because it interpreted the "if" statement as being all
125 * done when it reached the ';' after the yyless() call.
126 */
127
128/* Return all but the first 'n' matched characters back to the input stream. */
129
130#define yyless(n) \
131        do \
132                { \
133                /* Undo effects of setting up yytext. */ \
134                *yy_cp = yy_hold_char; \
135                YY_RESTORE_YY_MORE_OFFSET \
136                yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
137                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
138                } \
139        while ( 0 )
140
141#define unput(c) yyunput( c, yytext_ptr )
142
143/* The following is because we cannot portably get our hands on size_t
144 * (without autoconf's help, which isn't available because we want
145 * flex-generated scanners to compile on their own).
146 */
147typedef unsigned int yy_size_t;
148
149
150struct yy_buffer_state
151        {
152        std::istream* yy_input_file;
153
154        char *yy_ch_buf;                /* input buffer */
155        char *yy_buf_pos;               /* current position in input buffer */
156
157        /* Size of input buffer in bytes, not including room for EOB
158         * characters.
159         */
160        yy_size_t yy_buf_size;
161
162        /* Number of characters read into yy_ch_buf, not including EOB
163         * characters.
164         */
165        int yy_n_chars;
166
167        /* Whether we "own" the buffer - i.e., we know we created it,
168         * and can realloc() it to grow it, and should free() it to
169         * delete it.
170         */
171        int yy_is_our_buffer;
172
173        /* Whether this is an "interactive" input source; if so, and
174         * if we're using stdio for input, then we want to use getc()
175         * instead of fread(), to make sure we stop fetching input after
176         * each newline.
177         */
178        int yy_is_interactive;
179
180        /* Whether we're considered to be at the beginning of a line.
181         * If so, '^' rules will be active on the next match, otherwise
182         * not.
183         */
184        int yy_at_bol;
185
186        /* Whether to try to fill the input buffer when we reach the
187         * end of it.
188         */
189        int yy_fill_buffer;
190
191        int yy_buffer_status;
192#define YY_BUFFER_NEW 0
193#define YY_BUFFER_NORMAL 1
194        /* When an EOF's been seen but there's still some text to process
195         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
196         * shouldn't try reading from the input source any more.  We might
197         * still have a bunch of tokens to match, though, because of
198         * possible backing-up.
199         *
200         * When we actually see the EOF, we change the status to "new"
201         * (via yyrestart()), so that the user can continue scanning by
202         * just pointing yyin at a new input file.
203         */
204#define YY_BUFFER_EOF_PENDING 2
205        };
206
207
208/* We provide macros for accessing buffer states in case in the
209 * future we want to put the buffer states in a more general
210 * "scanner state".
211 */
212#define YY_CURRENT_BUFFER yy_current_buffer
213
214
215
216static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
217static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
218static void yy_flex_free YY_PROTO(( void * ));
219
220#define yy_new_buffer yy_create_buffer
221
222#define yy_set_interactive(is_interactive) \
223        { \
224        if ( ! yy_current_buffer ) \
225                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
226        yy_current_buffer->yy_is_interactive = is_interactive; \
227        }
228
229#define yy_set_bol(at_bol) \
230        { \
231        if ( ! yy_current_buffer ) \
232                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
233        yy_current_buffer->yy_at_bol = at_bol; \
234        }
235
236#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
237
238
239#define yywrap() 1
240#define YY_SKIP_YYWRAP
241typedef unsigned char YY_CHAR;
242#define yytext_ptr yytext
243#define YY_INTERACTIVE
244
245#include "FlexLexer.h"
246
247
248/* Done after the current pattern has been matched and before the
249 * corresponding action - sets up yytext.
250 */
251#define YY_DO_BEFORE_ACTION \
252        yytext_ptr = yy_bp; \
253        yyleng = (int) (yy_cp - yy_bp); \
254        yy_hold_char = *yy_cp; \
255        *yy_cp = '\0'; \
256        yy_c_buf_p = yy_cp;
257
258#define YY_NUM_RULES 83
259#define YY_END_OF_BUFFER 84
260static yyconst short int yy_accept[588] =
261    {   0,
262        0,    0,   84,   83,    3,    2,    1,    6,    7,   83,
263       79,   83,   78,   78,    8,    9,   83,   83,   83,   83,
264       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
265       83,   83,   83,   83,   83,   83,   83,   83,    4,    5,
266       79,   78,   78,   79,   79,    1,    0,   80,    0,    0,
267        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
268        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
269       75,    0,    0,    0,    0,    0,    0,    0,    0,    0,
270        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
271        0,    0,    0,    0,    0,    0,   76,    0,    0,    0,
272
273        0,    0,   81,   77,    0,    0,    0,    0,    0,    0,
274        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
275        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
276        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
277        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
278        0,    0,    0,    0,    0,   82,    0,    0,    0,    0,
279        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
280        0,    0,    0,    0,   52,    0,    0,    0,    0,    0,
281        0,    0,    0,    0,    0,   14,    0,    0,    0,    0,
282        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
283
284        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
285        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
286        0,    0,    0,   13,    0,    0,   57,    0,    0,    0,
287        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
288        0,    0,   62,    0,    0,    0,   63,    0,    0,    0,
289        0,    0,    0,    0,    0,    0,    0,    0,    0,   37,
290       49,    0,    0,    0,    0,    0,    0,    0,    0,    0,
291        0,    0,   64,   59,    0,    0,    0,    0,    0,    0,
292        0,    0,    0,    0,    0,   60,    0,    0,   16,   36,
293        0,    0,    0,    0,    0,    0,    0,   30,    0,    0,
294
295        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
296        0,    0,    0,   35,    0,   55,    0,    0,    0,    0,
297        0,    0,    0,    0,    0,    0,    0,    0,   46,    0,
298        0,    0,   28,    0,    0,    0,    0,    0,    0,    0,
299        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
300        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
301        0,   34,    0,    0,    0,    0,    0,    0,    0,    0,
302       18,   45,   47,    0,    0,    0,    0,    0,    0,    0,
303        0,    0,    0,    0,    0,    0,   11,    0,    0,    0,
304        0,    0,    0,    0,    0,   20,    0,    0,    0,    0,
305
306        0,    0,    0,    0,   67,   39,    0,    0,    0,    0,
307        0,    0,    0,    0,    0,    0,    0,   10,   53,   54,
308        0,    0,    0,    0,   61,    0,    0,    0,    0,    0,
309        0,   21,    0,    0,    0,   58,    0,   22,    0,    0,
310       19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
311        0,    0,    0,    0,    0,    0,    0,    0,    0,   33,
312        0,    0,    0,    0,   17,   12,   48,    0,    0,    0,
313        0,    0,    0,   56,    0,   65,    0,    0,    0,    0,
314        0,    0,    0,    0,   71,    0,    0,   42,    0,    0,
315        0,    0,    0,    0,   15,   40,    0,    0,   41,   66,
316
317        0,   43,    0,    0,    0,   23,    0,    0,    0,    0,
318        0,    0,    0,    0,    0,    0,    0,    0,    0,   31,
319        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
320       24,    0,   38,    0,   51,    0,   29,   72,    0,    0,
321        0,    0,    0,   26,    0,    0,    0,    0,    0,    0,
322       73,    0,   32,   27,   25,    0,   70,    0,    0,    0,
323        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
324        0,    0,   50,   44,    0,    0,    0,   68,    0,    0,
325        0,    0,   74,    0,    0,   69,    0
326    } ;
327
328static yyconst int yy_ec[256] =
329    {   0,
330        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
331        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
332        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
333        1,    2,    4,    5,    6,    1,    1,    1,    1,    1,
334        1,    1,    7,    8,    9,   10,   11,   12,   13,   13,
335       13,   13,   13,   13,   13,   13,   13,   14,   15,    1,
336        1,    1,    1,    1,   16,   17,   18,   19,   20,   21,
337       22,   23,   24,    1,    1,   25,   26,   27,   28,   29,
338        1,   30,   31,   32,   33,   34,   35,   36,   37,   38,
339        1,    1,    1,    1,   39,    1,   40,   41,   42,   43,
340
341       44,   45,   46,   47,   48,   49,    1,   50,   51,   52,
342       53,   54,    1,   55,   56,   57,   58,   59,   60,   61,
343       62,    1,   63,    1,   64,    1,    1,    1,    1,    1,
344        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
345        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
346        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
347        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
348        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
349        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
350        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
351
352        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
353        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
354        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
355        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
356        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
357        1,    1,    1,    1,    1
358    } ;
359
360static yyconst int yy_meta[65] =
361    {   0,
362        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
363        1,    2,    2,    1,    1,    2,    2,    2,    2,    2,
364        2,    1,    1,    1,    1,    1,    1,    1,    1,    1,
365        1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
366        2,    2,    2,    2,    2,    1,    1,    1,    1,    1,
367        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
368        1,    1,    1,    1
369    } ;
370
371static yyconst short int yy_base[589] =
372    {   0,
373        0,    0,  667,  668,  668,  668,  668,  668,  668,   55,
374       57,  655,   61,   67,  668,  668,   58,   60,   46,   69,
375      610,  634,  610,  610,   46,  617,   71,   55,   87,  102,
376       48,  612,   77,  619,  605,   69,  602,  612,  668,  668,
377      115,  135,  141,  145,  668,  668,  126,  668,    0,  637,
378      625,  617,  619,  630,  595,  598,  604,  591,  617,  612,
379      588,  603,  584,  621,  584,  585,  604,  585,  579,  614,
380      668,  589,  576,  588,  598,  575,  573,   31,  609,  610,
381      594,   80,  568,  598,  603,   60,  565,   97,  569,  576,
382      564,  578,  561,  589,  563,  564,  668,  568,  554,  555,
383
384      160,  130,  151,    0,  577,  586,  569,  587,  585,  562,
385      560,  563,  545,  569,  583,  545,  538,  541,  576,  538,
386      536,  573,  536,  544,  534,  542,  533,  566,  530,  528,
387      558,  534,  543,  565,  541,  536,  535,  537,  547,  141,
388      525,  530,  542,  517,  531,  524,  514,  524,  515,  508,
389      546,  521,  507,  518,  162,  164,  535,  544,  542,  519,
390      537,  512,  500,  499,  500,  529,  526,  500,  509,  491,
391      520,  494,  488,  519,  668,  490,  498,  488,  485,  518,
392      484,  511,  478,  491,  503,  668,  151,  514,  488,  474,
393      505,  511,  508,  483,  482,  477,  480,  468,  472,  477,
394
395      480,  463,  478,  489,  463,  471,  475,  474,  479,  480,
396      480,  454,  468,  489,  455,  466,  484,  463,  461,  443,
397      461,  459,  154,  668,  455,  440,  668,  448,  475,  450,
398      435,  442,  449,  466,  461,  466,  432,  431,  441,  464,
399      459,  454,  668,  429,  429,  157,  668,  435,  425,  434,
400      426,  425,  439,  413,  171,  441,  450,  446,  430,  668,
401      446,  414,  445,  434,  447,  401,  412,  410,  429,  408,
402      403,  413,  668,  668,  413,  425,  412,  403,  395,  394,
403      412,  422,  431,  407,  163,  668,  161,  421,  668,  668,
404      391,  400,  395,  410,  410,  173,  400,  415,  399,  407,
405
406      411,  410,  404,  413,  408,  410,  392,  398,  373,  377,
407      368,  401,  391,  668,  379,  668,  398,  377,  376,  377,
408      374,  378,  359,  358,  366,  365,  392,  391,  394,  349,
409      350,  354,  668,  389,  366,  354,  351,  358,  354,  338,
410      346,  354,  340,  377,  363,  350,  364,  359,  371,  371,
411      351,  368,  367,  362,  332,  331,  333,  344,  360,  348,
412      341,  668,  338,  320,  346,  343,  326,  325,  318,  318,
413      668,  668,  668,  330,  314,  336,  334,  335,  321,  308,
414      303,  307,  305,  317,  304,  314,  668,  320,  314,  332,
415      334,  333,  313,  331,  320,  668,  311,  290,  292,  296,
416
417      325,  323,  281,  322,  668,  301,  296,  302,  279,  283,
418      286,  283,  293,  288,  288,  310,  306,  668,  668,  668,
419      285,  271,  283,  179,  668,  297,  268,  308,  284,  295,
420      290,  668,  289,  299,  264,  668,  286,  668,  296,  261,
421      668,  262,  270,  283,  267,  260,  247,  278,  257,  266,
422      244,  283,  265,  262,  257,  250,  259,  254,  277,  256,
423      256,  263,  254,  268,  668,  668,  668,  249,  260,  245,
424      242,  239,  266,  668,  223,  668,  240,  239,  240,  224,
425      260,  259,  235,  226,  668,  225,  223,  668,  222,  242,
426      248,  240,  232,  214,  668,  668,  218,  212,  668,  668,
427
428      224,  668,  221,  206,  233,  668,  218,  243,  216,  216,
429      212,  233,  218,  231,  234,  209,  208,  207,  193,  668,
430      194,  217,  204,  193,  190,  200,  193,  204,  221,  202,
431      668,  195,  668,  196,  197,  192,  668,  668,  184,  194,
432      178,  188,  211,  668,  210,  177,  171,  175,  200,  174,
433      668,  193,  668,  668,  668,  193,  668,  176,  168,  180,
434      161,  174,  167,  173,  163,  159,  171,  168,  167,  167,
435      163,  150,  668,  668,  150,  165,  164,  668,  161,  146,
436      139,  106,  668,   79,   79,  668,  668,   92
437    } ;
438
439static yyconst short int yy_def[589] =
440    {   0,
441      587,    1,  587,  587,  587,  587,  587,  587,  587,  587,
442      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
443      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
444      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
445      587,  587,  587,  587,  587,  587,  587,  587,  588,  587,
446      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
447      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
448      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
449      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
450      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
451
452      587,  587,  587,  588,  587,  587,  587,  587,  587,  587,
453      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
454      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
455      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
456      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
457      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
458      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
459      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
460      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
461      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
462
463      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
464      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
465      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
466      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
467      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
468      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
469      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
470      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
471      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
472      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
473
474      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
475      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
476      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
477      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
478      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
479      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
480      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
481      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
482      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
483      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
484
485      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
486      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
487      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
488      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
489      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
490      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
491      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
492      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
493      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
494      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
495
496      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
497      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
498      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
499      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
500      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
501      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
502      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
503      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
504      587,  587,  587,  587,  587,  587,    0,  587
505    } ;
506
507static yyconst short int yy_nxt[733] =
508    {   0,
509        4,    5,    6,    7,    8,    7,    4,    9,   10,   11,
510       12,   13,   14,   15,   16,   17,   18,   19,   20,    4,
511       21,   22,   23,   24,   25,   26,    4,   27,   28,   29,
512       30,   31,    4,   32,   33,    4,    4,    4,    4,    4,
513        4,    4,    4,    4,   34,    4,    4,    4,    4,    4,
514        4,   35,   36,    4,    4,    4,   37,    4,    4,    4,
515        4,   38,   39,   40,   41,   67,   42,   43,   44,   44,
516       41,   75,   43,   43,  131,   50,   41,   45,   43,   43,
517       47,   48,   51,  132,   53,   56,   47,   48,   59,   68,
518       52,   70,   54,  104,   91,   57,   60,   71,   76,  141,
519
520       94,   45,   92,   58,   47,   48,   79,   77,   80,   78,
521       47,   48,   55,   98,  142,   72,   61,   84,   81,  136,
522       71,   49,  586,   62,   95,   73,   44,   44,  585,   74,
523       82,  137,  102,   85,  102,   45,  144,  103,  103,   83,
524      145,  103,  103,   86,   41,   87,   43,   43,   88,   89,
525       41,  584,   43,   43,   47,   48,   44,   44,   90,   45,
526       47,   48,  103,  103,  101,   45,  155,  192,  155,  271,
527      193,  156,  156,  156,  156,  156,  156,  235,   47,   48,
528      236,  292,  583,  272,   47,   48,  301,  302,  101,   45,
529      293,  333,  303,  331,  332,   49,  457,  582,  341,  334,
530
531      304,  342,  581,  580,  579,  578,  577,  576,  458,  575,
532      574,  573,  572,  571,  570,  569,  568,  567,  566,  565,
533      564,  563,  562,  561,  560,  559,  558,  557,  556,  555,
534      554,  553,  552,  551,  550,  549,  548,  547,  546,  545,
535      544,  543,  542,  541,  540,  539,  538,  537,  536,  535,
536      534,  533,  532,  531,  530,  529,  528,  527,  526,  525,
537      524,  523,  522,  521,  520,  519,  518,  517,  516,  515,
538      514,  513,  512,  511,  510,  509,  508,  507,  506,  505,
539      504,  503,  502,  501,  500,  499,  498,  497,  496,  495,
540      494,  493,  492,  491,  490,  489,  488,  487,  486,  485,
541
542      484,  483,  482,  481,  480,  479,  478,  477,  476,  475,
543      474,  473,  472,  471,  470,  469,  468,  467,  466,  465,
544      464,  463,  462,  461,  460,  459,  456,  455,  454,  453,
545      452,  451,  450,  449,  448,  447,  446,  445,  444,  443,
546      442,  441,  440,  439,  438,  437,  436,  435,  434,  433,
547      432,  431,  430,  429,  428,  427,  426,  425,  424,  423,
548      422,  421,  420,  419,  418,  417,  416,  415,  414,  413,
549      412,  411,  410,  409,  408,  407,  406,  405,  404,  403,
550      402,  401,  400,  399,  398,  397,  396,  395,  394,  393,
551      392,  391,  390,  389,  388,  387,  386,  385,  384,  383,
552
553      382,  381,  380,  379,  378,  377,  376,  375,  374,  373,
554      372,  371,  370,  369,  368,  367,  366,  365,  364,  363,
555      362,  361,  360,  359,  358,  357,  356,  355,  354,  353,
556      352,  351,  350,  349,  348,  347,  346,  345,  344,  343,
557      340,  339,  338,  337,  336,  335,  330,  329,  328,  327,
558      326,  325,  324,  323,  322,  321,  320,  319,  318,  317,
559      316,  315,  314,  313,  312,  311,  310,  309,  308,  307,
560      306,  305,  300,  299,  298,  297,  296,  295,  294,  291,
561      290,  289,  288,  287,  286,  285,  284,  283,  282,  281,
562      280,  279,  278,  277,  276,  275,  274,  273,  270,  269,
563
564      268,  267,  266,  265,  264,  263,  262,  261,  260,  259,
565      258,  257,  256,  255,   97,  254,  253,  252,  251,  250,
566      249,  248,  247,  246,  245,  244,  243,  242,  241,  240,
567      239,  238,  237,  234,  233,  232,  231,  230,  229,  228,
568      227,  226,  225,  224,  223,  222,  221,  220,  219,  218,
569      217,  216,  215,  214,  213,  212,  211,  210,  209,  208,
570      207,   71,  206,  205,  204,  203,  202,  201,  200,  199,
571      198,  197,  196,  195,  194,  191,  190,  189,  188,  187,
572      186,  185,  184,  183,  182,  181,  180,  179,  178,  177,
573      176,  175,  174,  173,  172,  171,  170,  169,  168,  167,
574
575      166,  165,  164,  163,  162,  161,  160,  159,  158,  157,
576       71,  154,   97,  153,  152,  151,  150,  149,  148,  147,
577      146,  143,  140,  139,  138,  135,  134,  133,  130,  129,
578      128,  127,  126,  125,   97,  124,  123,  122,  121,  120,
579      119,  118,  117,  116,  115,  114,  113,  112,  111,  110,
580      109,  108,  107,  106,  105,  100,   99,   97,   96,   93,
581       69,   66,   65,   64,   63,   46,  587,    3,  587,  587,
582      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
583      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
584      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
585
586      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
587      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
588      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
589      587,  587
590    } ;
591
592static yyconst short int yy_chk[733] =
593    {   0,
594        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
595        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
596        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
597        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
598        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
599        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
600        1,    1,    1,    1,   10,   25,   10,   10,   11,   11,
601       13,   28,   13,   13,   78,   17,   14,   11,   14,   14,
602       13,   13,   17,   78,   18,   19,   14,   14,   20,   25,
603       17,   27,   18,  588,   31,   19,   20,   27,   28,   86,
604
605       33,   11,   31,   19,   13,   13,   29,   28,   29,   28,
606       14,   14,   18,   36,   86,   27,   20,   30,   29,   82,
607       36,   13,  585,   20,   33,   27,   41,   41,  584,   27,
608       29,   82,   47,   30,   47,   41,   88,   47,   47,   29,
609       88,  102,  102,   30,   42,   30,   42,   42,   30,   30,
610       43,  582,   43,   43,   42,   42,   44,   44,   30,   41,
611       43,   43,  103,  103,   44,   44,  101,  140,  101,  223,
612      140,  101,  101,  155,  155,  156,  156,  187,   42,   42,
613      187,  246,  581,  223,   43,   43,  255,  255,   44,   44,
614      246,  287,  255,  285,  285,   42,  424,  580,  296,  287,
615
616      255,  296,  579,  577,  576,  575,  572,  571,  424,  570,
617      569,  568,  567,  566,  565,  564,  563,  562,  561,  560,
618      559,  558,  556,  552,  550,  549,  548,  547,  546,  545,
619      543,  542,  541,  540,  539,  536,  535,  534,  532,  530,
620      529,  528,  527,  526,  525,  524,  523,  522,  521,  519,
621      518,  517,  516,  515,  514,  513,  512,  511,  510,  509,
622      508,  507,  505,  504,  503,  501,  498,  497,  494,  493,
623      492,  491,  490,  489,  487,  486,  484,  483,  482,  481,
624      480,  479,  478,  477,  475,  473,  472,  471,  470,  469,
625      468,  464,  463,  462,  461,  460,  459,  458,  457,  456,
626
627      455,  454,  453,  452,  451,  450,  449,  448,  447,  446,
628      445,  444,  443,  442,  440,  439,  437,  435,  434,  433,
629      431,  430,  429,  428,  427,  426,  423,  422,  421,  417,
630      416,  415,  414,  413,  412,  411,  410,  409,  408,  407,
631      406,  404,  403,  402,  401,  400,  399,  398,  397,  395,
632      394,  393,  392,  391,  390,  389,  388,  386,  385,  384,
633      383,  382,  381,  380,  379,  378,  377,  376,  375,  374,
634      370,  369,  368,  367,  366,  365,  364,  363,  361,  360,
635      359,  358,  357,  356,  355,  354,  353,  352,  351,  350,
636      349,  348,  347,  346,  345,  344,  343,  342,  341,  340,
637
638      339,  338,  337,  336,  335,  334,  332,  331,  330,  329,
639      328,  327,  326,  325,  324,  323,  322,  321,  320,  319,
640      318,  317,  315,  313,  312,  311,  310,  309,  308,  307,
641      306,  305,  304,  303,  302,  301,  300,  299,  298,  297,
642      295,  294,  293,  292,  291,  288,  284,  283,  282,  281,
643      280,  279,  278,  277,  276,  275,  272,  271,  270,  269,
644      268,  267,  266,  265,  264,  263,  262,  261,  259,  258,
645      257,  256,  254,  253,  252,  251,  250,  249,  248,  245,
646      244,  242,  241,  240,  239,  238,  237,  236,  235,  234,
647      233,  232,  231,  230,  229,  228,  226,  225,  222,  221,
648
649      220,  219,  218,  217,  216,  215,  214,  213,  212,  211,
650      210,  209,  208,  207,  206,  205,  204,  203,  202,  201,
651      200,  199,  198,  197,  196,  195,  194,  193,  192,  191,
652      190,  189,  188,  185,  184,  183,  182,  181,  180,  179,
653      178,  177,  176,  174,  173,  172,  171,  170,  169,  168,
654      167,  166,  165,  164,  163,  162,  161,  160,  159,  158,
655      157,  154,  153,  152,  151,  150,  149,  148,  147,  146,
656      145,  144,  143,  142,  141,  139,  138,  137,  136,  135,
657      134,  133,  132,  131,  130,  129,  128,  127,  126,  125,
658      124,  123,  122,  121,  120,  119,  118,  117,  116,  115,
659
660      114,  113,  112,  111,  110,  109,  108,  107,  106,  105,
661      100,   99,   98,   96,   95,   94,   93,   92,   91,   90,
662       89,   87,   85,   84,   83,   81,   80,   79,   77,   76,
663       75,   74,   73,   72,   70,   69,   68,   67,   66,   65,
664       64,   63,   62,   61,   60,   59,   58,   57,   56,   55,
665       54,   53,   52,   51,   50,   38,   37,   35,   34,   32,
666       26,   24,   23,   22,   21,   12,    3,  587,  587,  587,
667      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
668      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
669      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
670
671      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
672      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
673      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
674      587,  587
675    } ;
676
677/* The intent behind this definition is that it'll catch
678 * any uses of REJECT which flex missed.
679 */
680#define REJECT reject_used_but_not_detected
681#define yymore() yymore_used_but_not_detected
682#define YY_MORE_ADJ 0
683#define YY_RESTORE_YY_MORE_OFFSET
684#line 1 ".././ConfigLexer.l"
685#define INITIAL 0
686/* -*-c++-*- Producer - Copyright (C) 2001-2004  Don Burns
687 *
688 * This library is open source and may be redistributed and/or modified under
689 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
690 * (at your option) any later version.  The full license is in LICENSE file
691 * included with this distribution, and on the openscenegraph.org website.
692 *
693 * This library is distributed in the hope that it will be useful,
694 * but WITHOUT ANY WARRANTY; without even the implied warranty of
695 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
696 * OpenSceneGraph Public License for more details.
697 */
698#line 15 ".././ConfigLexer.l"
699#include <stdio.h>
700#include <ctype.h>
701#include "ConfigParser.h"
702
703//#define DEBUG
704#ifdef DEBUG
705#define REPORT printf(" %s\n", yytext);
706#else
707#define REPORT
708#endif
709/*%option yyclass="ConfigParser"*/
710#line 705 "ConfigLexer.cpp"
711
712/* Macros after this point can all be overridden by user definitions in
713 * section 1.
714 */
715
716#ifndef YY_SKIP_YYWRAP
717#ifdef __cplusplus
718extern "C" int yywrap YY_PROTO(( void ));
719#else
720extern int yywrap YY_PROTO(( void ));
721#endif
722#endif
723
724
725#ifndef yytext_ptr
726static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
727#endif
728
729#ifdef YY_NEED_STRLEN
730static int yy_flex_strlen YY_PROTO(( yyconst char * ));
731#endif
732
733#ifndef YY_NO_INPUT
734#endif
735
736#if YY_STACK_USED
737static int yy_start_stack_ptr = 0;
738static int yy_start_stack_depth = 0;
739static int *yy_start_stack = 0;
740#ifndef YY_NO_PUSH_STATE
741static void yy_push_state YY_PROTO(( int new_state ));
742#endif
743#ifndef YY_NO_POP_STATE
744static void yy_pop_state YY_PROTO(( void ));
745#endif
746#ifndef YY_NO_TOP_STATE
747static int yy_top_state YY_PROTO(( void ));
748#endif
749
750#else
751#define YY_NO_PUSH_STATE 1
752#define YY_NO_POP_STATE 1
753#define YY_NO_TOP_STATE 1
754#endif
755
756#ifdef YY_MALLOC_DECL
757YY_MALLOC_DECL
758#else
759#if __STDC__
760#ifndef __cplusplus
761#include <stdlib.h>
762#endif
763#else
764/* Just try to get by without declaring the routines.  This will fail
765 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
766 * or sizeof(void*) != sizeof(int).
767 */
768#endif
769#endif
770
771/* Amount of stuff to slurp up with each read. */
772#ifndef YY_READ_BUF_SIZE
773#define YY_READ_BUF_SIZE 8192
774#endif
775
776/* Copy whatever the last rule matched to the standard output. */
777
778#ifndef ECHO
779#define ECHO LexerOutput( yytext, yyleng )
780#endif
781
782/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
783 * is returned in "result".
784 */
785#ifndef YY_INPUT
786#define YY_INPUT(buf,result,max_size) \
787        if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
788                YY_FATAL_ERROR( "input in flex scanner failed" );
789#endif
790
791/* No semi-colon after return; correct usage is to write "yyterminate();" -
792 * we don't want an extra ';' after the "return" because that will cause
793 * some compilers to complain about unreachable statements.
794 */
795#ifndef yyterminate
796#define yyterminate() return YY_NULL
797#endif
798
799/* Number of entries by which start-condition stack grows. */
800#ifndef YY_START_STACK_INCR
801#define YY_START_STACK_INCR 25
802#endif
803
804/* Report a fatal error. */
805#ifndef YY_FATAL_ERROR
806#define YY_FATAL_ERROR(msg) LexerError( msg )
807#endif
808
809/* Default declaration of generated scanner - a define so the user can
810 * easily add parameters.
811 */
812#ifndef YY_DECL
813#define YY_DECL int yyFlexLexer::yylex()
814#endif
815
816/* Code executed at the beginning of each rule, after yytext and yyleng
817 * have been set up.
818 */
819#ifndef YY_USER_ACTION
820#define YY_USER_ACTION
821#endif
822
823/* Code executed at the end of each rule. */
824#ifndef YY_BREAK
825#define YY_BREAK break;
826#endif
827
828#define YY_RULE_SETUP \
829        YY_USER_ACTION
830
831YY_DECL
832        {
833        register yy_state_type yy_current_state;
834        register char *yy_cp, *yy_bp;
835        register int yy_act;
836
837#line 35 ".././ConfigLexer.l"
838
839
840#line 835 "ConfigLexer.cpp"
841
842        if ( yy_init )
843                {
844                yy_init = 0;
845
846#ifdef YY_USER_INIT
847                YY_USER_INIT;
848#endif
849
850                if ( ! yy_start )
851                        yy_start = 1;   /* first start state */
852
853                if ( ! yyin )
854                        yyin = &std::cin;
855
856                if ( ! yyout )
857                        yyout = &std::cout;
858
859                if ( ! yy_current_buffer )
860                        yy_current_buffer =
861                                yy_create_buffer( yyin, YY_BUF_SIZE );
862
863                yy_load_buffer_state();
864                }
865
866        while ( 1 )             /* loops until end-of-file is reached */
867                {
868                yy_cp = yy_c_buf_p;
869
870                /* Support of yytext. */
871                *yy_cp = yy_hold_char;
872
873                /* yy_bp points to the position in yy_ch_buf of the start of
874                 * the current run.
875                 */
876                yy_bp = yy_cp;
877
878                yy_current_state = yy_start;
879yy_match:
880                do
881                        {
882                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
883                        if ( yy_accept[yy_current_state] )
884                                {
885                                yy_last_accepting_state = yy_current_state;
886                                yy_last_accepting_cpos = yy_cp;
887                                }
888                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
889                                {
890                                yy_current_state = (int) yy_def[yy_current_state];
891                                if ( yy_current_state >= 588 )
892                                        yy_c = yy_meta[(unsigned int) yy_c];
893                                }
894                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
895                        ++yy_cp;
896                        }
897                while ( yy_base[yy_current_state] != 668 );
898
899yy_find_action:
900                yy_act = yy_accept[yy_current_state];
901                if ( yy_act == 0 )
902                        { /* have to back up */
903                        yy_cp = yy_last_accepting_cpos;
904                        yy_current_state = yy_last_accepting_state;
905                        yy_act = yy_accept[yy_current_state];
906                        }
907
908                YY_DO_BEFORE_ACTION;
909
910
911do_action:      /* This label is used only to access EOF actions. */
912
913
914                switch ( yy_act )
915        { /* beginning of action switch */
916                        case 0: /* must back up */
917                        /* undo the effects of YY_DO_BEFORE_ACTION */
918                        *yy_cp = yy_hold_char;
919                        yy_cp = yy_last_accepting_cpos;
920                        yy_current_state = yy_last_accepting_state;
921                        goto yy_find_action;
922
923case 1:
924YY_RULE_SETUP
925#line 37 ".././ConfigLexer.l"
926{
927                        #ifdef DEBUG
928                        char buff[128];
929                        int i = 0;
930                        #endif
931                       
932                        char c;
933                        while( (c = yyinput()) != '\n' )
934                        {   
935                            if( c <= 0 )
936                                break;
937                            #ifdef DEBUG
938                            buff[i++] = c;
939                            #endif
940                        }
941                        #ifdef DEBUG
942                        buff[i] = 0;
943                        printf( "Single line comment: \"%s\"\n", buff );
944                        #endif
945                    }
946        YY_BREAK
947case 2:
948YY_RULE_SETUP
949#line 58 ".././ConfigLexer.l"
950{ yylineno++;}
951        YY_BREAK
952case 3:
953YY_RULE_SETUP
954#line 59 ".././ConfigLexer.l"
955{ ; }
956        YY_BREAK
957case 4:
958YY_RULE_SETUP
959#line 60 ".././ConfigLexer.l"
960{ REPORT return '{'; }
961        YY_BREAK
962case 5:
963YY_RULE_SETUP
964#line 61 ".././ConfigLexer.l"
965{ REPORT return '}'; }
966        YY_BREAK
967case 6:
968YY_RULE_SETUP
969#line 62 ".././ConfigLexer.l"
970{
971                                char c;
972                                    int i = 0;
973                                while( (c = yyinput()) != '"' )
974                                    yytext[i++] = c;
975                                yytext[i] = 0;
976                                return PRTOKEN_QUOTED_STRING;
977                                }
978        YY_BREAK
979case 7:
980YY_RULE_SETUP
981#line 70 ".././ConfigLexer.l"
982{ REPORT return ','; }
983        YY_BREAK
984case 8:
985YY_RULE_SETUP
986#line 71 ".././ConfigLexer.l"
987{ REPORT return ':'; }
988        YY_BREAK
989case 9:
990YY_RULE_SETUP
991#line 72 ".././ConfigLexer.l"
992{ REPORT return ';'; }
993        YY_BREAK
994case 10:
995YY_RULE_SETUP
996#line 73 ".././ConfigLexer.l"
997{ REPORT return PRTOKEN_SET_SIMPLE; }
998        YY_BREAK
999case 11:
1000YY_RULE_SETUP
1001#line 74 ".././ConfigLexer.l"
1002{ REPORT return PRTOKEN_VISUAL_ID; }
1003        YY_BREAK
1004case 12:
1005YY_RULE_SETUP
1006#line 75 ".././ConfigLexer.l"
1007{ REPORT return PRTOKEN_BUFFER_SIZE; }
1008        YY_BREAK
1009case 13:
1010YY_RULE_SETUP
1011#line 76 ".././ConfigLexer.l"
1012{ REPORT return PRTOKEN_LEVEL; }
1013        YY_BREAK
1014case 14:
1015YY_RULE_SETUP
1016#line 77 ".././ConfigLexer.l"
1017{ REPORT return PRTOKEN_RGBA; }
1018        YY_BREAK
1019case 15:
1020YY_RULE_SETUP
1021#line 78 ".././ConfigLexer.l"
1022{ REPORT return PRTOKEN_DOUBLEBUFFER; }
1023        YY_BREAK
1024case 16:
1025YY_RULE_SETUP
1026#line 79 ".././ConfigLexer.l"
1027{ REPORT return PRTOKEN_STEREO; }
1028        YY_BREAK
1029case 17:
1030YY_RULE_SETUP
1031#line 80 ".././ConfigLexer.l"
1032{ REPORT return PRTOKEN_AUX_BUFFERS; }
1033        YY_BREAK
1034case 18:
1035YY_RULE_SETUP
1036#line 81 ".././ConfigLexer.l"
1037{ REPORT return PRTOKEN_RED_SIZE; }
1038        YY_BREAK
1039case 19:
1040YY_RULE_SETUP
1041#line 82 ".././ConfigLexer.l"
1042{ REPORT return PRTOKEN_GREEN_SIZE; }
1043        YY_BREAK
1044case 20:
1045YY_RULE_SETUP
1046#line 83 ".././ConfigLexer.l"
1047{ REPORT return PRTOKEN_BLUE_SIZE; }
1048        YY_BREAK
1049case 21:
1050YY_RULE_SETUP
1051#line 84 ".././ConfigLexer.l"
1052{ REPORT return PRTOKEN_ALPHA_SIZE; }
1053        YY_BREAK
1054case 22:
1055YY_RULE_SETUP
1056#line 85 ".././ConfigLexer.l"
1057{ REPORT return PRTOKEN_DEPTH_SIZE; }
1058        YY_BREAK
1059case 23:
1060YY_RULE_SETUP
1061#line 86 ".././ConfigLexer.l"
1062{ REPORT return PRTOKEN_STENCIL_SIZE; }
1063        YY_BREAK
1064case 24:
1065YY_RULE_SETUP
1066#line 87 ".././ConfigLexer.l"
1067{ REPORT return PRTOKEN_ACCUM_RED_SIZE; }
1068        YY_BREAK
1069case 25:
1070YY_RULE_SETUP
1071#line 88 ".././ConfigLexer.l"
1072{ REPORT return PRTOKEN_ACCUM_GREEN_SIZE; }
1073        YY_BREAK
1074case 26:
1075YY_RULE_SETUP
1076#line 89 ".././ConfigLexer.l"
1077{ REPORT return PRTOKEN_ACCUM_BLUE_SIZE; }
1078        YY_BREAK
1079case 27:
1080YY_RULE_SETUP
1081#line 90 ".././ConfigLexer.l"
1082{ REPORT return PRTOKEN_ACCUM_ALPHA_SIZE; }
1083        YY_BREAK
1084case 28:
1085YY_RULE_SETUP
1086#line 91 ".././ConfigLexer.l"
1087{ REPORT return PRTOKEN_SAMPLES; }
1088        YY_BREAK
1089case 29:
1090YY_RULE_SETUP
1091#line 92 ".././ConfigLexer.l"
1092{ REPORT return PRTOKEN_SAMPLE_BUFFERS; }
1093        YY_BREAK
1094case 30:
1095YY_RULE_SETUP
1096#line 93 ".././ConfigLexer.l"
1097{ REPORT return PRTOKEN_VISUAL; }
1098        YY_BREAK
1099case 31:
1100YY_RULE_SETUP
1101#line 94 ".././ConfigLexer.l"
1102{ REPORT return PRTOKEN_RENDER_SURFACE; }
1103        YY_BREAK
1104case 32:
1105YY_RULE_SETUP
1106#line 95 ".././ConfigLexer.l"
1107{ REPORT return PRTOKEN_WINDOW_RECT; }
1108        YY_BREAK
1109case 33:
1110YY_RULE_SETUP
1111#line 96 ".././ConfigLexer.l"
1112{ REPORT return PRTOKEN_WINDOW_RECT; }
1113        YY_BREAK
1114case 34:
1115YY_RULE_SETUP
1116#line 97 ".././ConfigLexer.l"
1117{ REPORT return PRTOKEN_HOSTNAME; }
1118        YY_BREAK
1119case 35:
1120YY_RULE_SETUP
1121#line 98 ".././ConfigLexer.l"
1122{ REPORT return PRTOKEN_DISPLAY; }
1123        YY_BREAK
1124case 36:
1125YY_RULE_SETUP
1126#line 99 ".././ConfigLexer.l"
1127{ REPORT return PRTOKEN_SCREEN; }
1128        YY_BREAK
1129case 37:
1130YY_RULE_SETUP
1131#line 100 ".././ConfigLexer.l"
1132{ REPORT return PRTOKEN_BORDER; }
1133        YY_BREAK
1134case 38:
1135YY_RULE_SETUP
1136#line 101 ".././ConfigLexer.l"
1137{ REPORT return PRTOKEN_INPUT_RECT; }
1138        YY_BREAK
1139case 39:
1140YY_RULE_SETUP
1141#line 102 ".././ConfigLexer.l"
1142{ REPORT return PRTOKEN_INPUT_RECT; }
1143        YY_BREAK
1144case 40:
1145YY_RULE_SETUP
1146#line 103 ".././ConfigLexer.l"
1147{ REPORT return PRTOKEN_DRAWABLE_TYPE; }
1148        YY_BREAK
1149case 41:
1150YY_RULE_SETUP
1151#line 104 ".././ConfigLexer.l"
1152{ REPORT return PRTOKEN_PBUFFER_TYPE; }
1153        YY_BREAK
1154case 42:
1155YY_RULE_SETUP
1156#line 105 ".././ConfigLexer.l"
1157{ REPORT return PRTOKEN_WINDOW_TYPE; }
1158        YY_BREAK
1159case 43:
1160YY_RULE_SETUP
1161#line 106 ".././ConfigLexer.l"
1162{ REPORT return PRTOKEN_READ_DRAWABLE; }
1163        YY_BREAK
1164case 44:
1165YY_RULE_SETUP
1166#line 107 ".././ConfigLexer.l"
1167{ REPORT return PRTOKEN_SET_RTT_MODE; }
1168        YY_BREAK
1169case 45:
1170YY_RULE_SETUP
1171#line 108 ".././ConfigLexer.l"
1172{ REPORT return PRTOKEN_RTT_MODE_NONE; }
1173        YY_BREAK
1174case 46:
1175YY_RULE_SETUP
1176#line 109 ".././ConfigLexer.l"
1177{ REPORT return PRTOKEN_RTT_MODE_RGB; }
1178        YY_BREAK
1179case 47:
1180YY_RULE_SETUP
1181#line 110 ".././ConfigLexer.l"
1182{ REPORT; return PRTOKEN_RTT_MODE_RGBA; }
1183        YY_BREAK
1184case 48:
1185YY_RULE_SETUP
1186#line 113 ".././ConfigLexer.l"
1187{ REPORT return PRTOKEN_CAMERA_GROUP; }
1188        YY_BREAK
1189case 49:
1190YY_RULE_SETUP
1191#line 114 ".././ConfigLexer.l"
1192{ REPORT return PRTOKEN_CAMERA; }
1193        YY_BREAK
1194case 50:
1195YY_RULE_SETUP
1196#line 115 ".././ConfigLexer.l"
1197{ REPORT return PRTOKEN_PROJECTION_RECT; }
1198        YY_BREAK
1199case 51:
1200YY_RULE_SETUP
1201#line 116 ".././ConfigLexer.l"
1202{ REPORT return PRTOKEN_PROJECTION_RECT; }
1203        YY_BREAK
1204case 52:
1205YY_RULE_SETUP
1206#line 118 ".././ConfigLexer.l"
1207{ REPORT return PRTOKEN_LENS; }
1208        YY_BREAK
1209case 53:
1210YY_RULE_SETUP
1211#line 119 ".././ConfigLexer.l"
1212{ REPORT return PRTOKEN_SHARELENS; }
1213        YY_BREAK
1214case 54:
1215YY_RULE_SETUP
1216#line 120 ".././ConfigLexer.l"
1217{ REPORT return PRTOKEN_SHAREVIEW; }
1218        YY_BREAK
1219case 55:
1220YY_RULE_SETUP
1221#line 121 ".././ConfigLexer.l"
1222{ REPORT return PRTOKEN_FRUSTUM; }
1223        YY_BREAK
1224case 56:
1225YY_RULE_SETUP
1226#line 122 ".././ConfigLexer.l"
1227{ REPORT return PRTOKEN_PERSPECTIVE; }
1228        YY_BREAK
1229case 57:
1230YY_RULE_SETUP
1231#line 123 ".././ConfigLexer.l"
1232{ REPORT return PRTOKEN_ORTHO; }
1233        YY_BREAK
1234case 58:
1235YY_RULE_SETUP
1236#line 124 ".././ConfigLexer.l"
1237{ REPORT return PRTOKEN_CLEAR_COLOR; }
1238        YY_BREAK
1239case 59:
1240YY_RULE_SETUP
1241#line 126 ".././ConfigLexer.l"
1242{ REPORT return PRTOKEN_OFFSET; }
1243        YY_BREAK
1244case 60:
1245YY_RULE_SETUP
1246#line 127 ".././ConfigLexer.l"
1247{ REPORT return PRTOKEN_ROTATE; }
1248        YY_BREAK
1249case 61:
1250YY_RULE_SETUP
1251#line 128 ".././ConfigLexer.l"
1252{ REPORT return PRTOKEN_TRANSLATE; }
1253        YY_BREAK
1254case 62:
1255YY_RULE_SETUP
1256#line 129 ".././ConfigLexer.l"
1257{ REPORT return PRTOKEN_SCALE; }
1258        YY_BREAK
1259case 63:
1260YY_RULE_SETUP
1261#line 130 ".././ConfigLexer.l"
1262{ REPORT return PRTOKEN_SHEAR; }
1263        YY_BREAK
1264case 64:
1265YY_RULE_SETUP
1266#line 131 ".././ConfigLexer.l"
1267{ REPORT return PRTOKEN_METHOD; }
1268        YY_BREAK
1269case 65:
1270YY_RULE_SETUP
1271#line 132 ".././ConfigLexer.l"
1272{ REPORT return PRTOKEN_PREMULTIPLY; }
1273        YY_BREAK
1274case 66:
1275YY_RULE_SETUP
1276#line 133 ".././ConfigLexer.l"
1277{ REPORT return PRTOKEN_POSTMULTIPLY; }
1278        YY_BREAK
1279case 67:
1280YY_RULE_SETUP
1281#line 135 ".././ConfigLexer.l"
1282{ REPORT return PRTOKEN_INPUT_AREA; }
1283        YY_BREAK
1284case 68:
1285YY_RULE_SETUP
1286#line 137 ".././ConfigLexer.l"
1287{ REPORT return PRTOKEN_STEREO_SYSTEM_COMMANDS; }
1288        YY_BREAK
1289case 69:
1290YY_RULE_SETUP
1291#line 139 ".././ConfigLexer.l"
1292{ REPORT return PRTOKEN_CUSTOM_FULL_SCREEN_RECTANGLE; }
1293        YY_BREAK
1294case 70:
1295YY_RULE_SETUP
1296#line 140 ".././ConfigLexer.l"
1297{ REPORT return PRTOKEN_OVERRIDE_REDIRECT; }
1298        YY_BREAK
1299case 71:
1300YY_RULE_SETUP
1301#line 142 ".././ConfigLexer.l"
1302{ REPORT return PRTOKEN_THREAD_MODEL; }
1303        YY_BREAK
1304case 72:
1305YY_RULE_SETUP
1306#line 143 ".././ConfigLexer.l"
1307{ REPORT return PRTOKEN_SINGLE_THREADED; }
1308        YY_BREAK
1309case 73:
1310YY_RULE_SETUP
1311#line 144 ".././ConfigLexer.l"
1312{ REPORT return PRTOKEN_THREAD_PER_CAMERA; }
1313        YY_BREAK
1314case 74:
1315YY_RULE_SETUP
1316#line 145 ".././ConfigLexer.l"
1317{ REPORT return PRTOKEN_THREAD_PER_RENDER_SURFACE; }
1318        YY_BREAK
1319case 75:
1320YY_RULE_SETUP
1321#line 148 ".././ConfigLexer.l"
1322{ REPORT return PRTOKEN_TRUE; }
1323        YY_BREAK
1324case 76:
1325YY_RULE_SETUP
1326#line 149 ".././ConfigLexer.l"
1327{ REPORT return PRTOKEN_FALSE; }
1328        YY_BREAK
1329case 77:
1330YY_RULE_SETUP
1331#line 151 ".././ConfigLexer.l"
1332{ REPORT return PRTOKEN_HEX_INTEGER; }
1333        YY_BREAK
1334case 78:
1335YY_RULE_SETUP
1336#line 152 ".././ConfigLexer.l"
1337{ REPORT return PRTOKEN_INTEGER; }
1338        YY_BREAK
1339case 79:
1340YY_RULE_SETUP
1341#line 154 ".././ConfigLexer.l"
1342{ REPORT return PRTOKEN_FLOAT; }
1343        YY_BREAK
1344case 80:
1345YY_RULE_SETUP
1346#line 155 ".././ConfigLexer.l"
1347{ REPORT return PRTOKEN_FLOAT; }
1348        YY_BREAK
1349case 81:
1350YY_RULE_SETUP
1351#line 156 ".././ConfigLexer.l"
1352{ REPORT return PRTOKEN_FLOAT; }
1353        YY_BREAK
1354case 82:
1355YY_RULE_SETUP
1356#line 157 ".././ConfigLexer.l"
1357{ REPORT return PRTOKEN_FLOAT; }
1358        YY_BREAK
1359case 83:
1360YY_RULE_SETUP
1361#line 162 ".././ConfigLexer.l"
1362ECHO;
1363        YY_BREAK
1364#line 1359 "ConfigLexer.cpp"
1365case YY_STATE_EOF(INITIAL):
1366        yyterminate();
1367
1368        case YY_END_OF_BUFFER:
1369                {
1370                /* Amount of text matched not including the EOB char. */
1371                int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
1372
1373                /* Undo the effects of YY_DO_BEFORE_ACTION. */
1374                *yy_cp = yy_hold_char;
1375                YY_RESTORE_YY_MORE_OFFSET
1376
1377                if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
1378                        {
1379                        /* We're scanning a new file or input source.  It's
1380                         * possible that this happened because the user
1381                         * just pointed yyin at a new source and called
1382                         * yylex().  If so, then we have to assure
1383                         * consistency between yy_current_buffer and our
1384                         * globals.  Here is the right place to do so, because
1385                         * this is the first action (other than possibly a
1386                         * back-up) that will match for the new input source.
1387                         */
1388                        yy_n_chars = yy_current_buffer->yy_n_chars;
1389                        yy_current_buffer->yy_input_file = yyin;
1390                        yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
1391                        }
1392
1393                /* Note that here we test for yy_c_buf_p "<=" to the position
1394                 * of the first EOB in the buffer, since yy_c_buf_p will
1395                 * already have been incremented past the NUL character
1396                 * (since all states make transitions on EOB to the
1397                 * end-of-buffer state).  Contrast this with the test
1398                 * in input().
1399                 */
1400                if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1401                        { /* This was really a NUL. */
1402                        yy_state_type yy_next_state;
1403
1404                        yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
1405
1406                        yy_current_state = yy_get_previous_state();
1407
1408                        /* Okay, we're now positioned to make the NUL
1409                         * transition.  We couldn't have
1410                         * yy_get_previous_state() go ahead and do it
1411                         * for us because it doesn't know how to deal
1412                         * with the possibility of jamming (and we don't
1413                         * want to build jamming into it because then it
1414                         * will run more slowly).
1415                         */
1416
1417                        yy_next_state = yy_try_NUL_trans( yy_current_state );
1418
1419                        yy_bp = yytext_ptr + YY_MORE_ADJ;
1420
1421                        if ( yy_next_state )
1422                                {
1423                                /* Consume the NUL. */
1424                                yy_cp = ++yy_c_buf_p;
1425                                yy_current_state = yy_next_state;
1426                                goto yy_match;
1427                                }
1428
1429                        else
1430                                {
1431                                yy_cp = yy_c_buf_p;
1432                                goto yy_find_action;
1433                                }
1434                        }
1435
1436                else switch ( yy_get_next_buffer() )
1437                        {
1438                        case EOB_ACT_END_OF_FILE:
1439                                {
1440                                yy_did_buffer_switch_on_eof = 0;
1441
1442                                if ( yywrap() )
1443                                        {
1444                                        /* Note: because we've taken care in
1445                                         * yy_get_next_buffer() to have set up
1446                                         * yytext, we can now set up
1447                                         * yy_c_buf_p so that if some total
1448                                         * hoser (like flex itself) wants to
1449                                         * call the scanner after we return the
1450                                         * YY_NULL, it'll still work - another
1451                                         * YY_NULL will get returned.
1452                                         */
1453                                        yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
1454
1455                                        yy_act = YY_STATE_EOF(YY_START);
1456                                        goto do_action;
1457                                        }
1458
1459                                else
1460                                        {
1461                                        if ( ! yy_did_buffer_switch_on_eof )
1462                                                YY_NEW_FILE;
1463                                        }
1464                                break;
1465                                }
1466
1467                        case EOB_ACT_CONTINUE_SCAN:
1468                                yy_c_buf_p =
1469                                        yytext_ptr + yy_amount_of_matched_text;
1470
1471                                yy_current_state = yy_get_previous_state();
1472
1473                                yy_cp = yy_c_buf_p;
1474                                yy_bp = yytext_ptr + YY_MORE_ADJ;
1475                                goto yy_match;
1476
1477                        case EOB_ACT_LAST_MATCH:
1478                                yy_c_buf_p =
1479                                &yy_current_buffer->yy_ch_buf[yy_n_chars];
1480
1481                                yy_current_state = yy_get_previous_state();
1482
1483                                yy_cp = yy_c_buf_p;
1484                                yy_bp = yytext_ptr + YY_MORE_ADJ;
1485                                goto yy_find_action;
1486                        }
1487                break;
1488                }
1489
1490        default:
1491                YY_FATAL_ERROR(
1492                        "fatal flex scanner internal error--no action found" );
1493        } /* end of action switch */
1494                } /* end of scanning one token */
1495        } /* end of yylex */
1496
1497yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
1498        {
1499        yyin = arg_yyin;
1500        yyout = arg_yyout;
1501        yy_c_buf_p = 0;
1502        yy_init = 1;
1503        yy_start = 0;
1504        yy_flex_debug = 0;
1505        yylineno = 1;   // this will only get updated if %option yylineno
1506
1507        yy_did_buffer_switch_on_eof = 0;
1508
1509        yy_looking_for_trail_begin = 0;
1510        yy_more_flag = 0;
1511        yy_more_len = 0;
1512        yy_more_offset = yy_prev_more_offset = 0;
1513
1514        yy_start_stack_ptr = yy_start_stack_depth = 0;
1515        yy_start_stack = 0;
1516
1517        yy_current_buffer = 0;
1518
1519#ifdef YY_USES_REJECT
1520        yy_state_buf = new yy_state_type[YY_BUF_SIZE + 2];
1521#else
1522        yy_state_buf = 0;
1523#endif
1524        }
1525
1526yyFlexLexer::~yyFlexLexer()
1527        {
1528        delete yy_state_buf;
1529        yy_delete_buffer( yy_current_buffer );
1530        }
1531
1532void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
1533        {
1534        if ( new_in )
1535                {
1536                yy_delete_buffer( yy_current_buffer );
1537                yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );
1538                }
1539
1540        if ( new_out )
1541                yyout = new_out;
1542        }
1543
1544#ifdef YY_INTERACTIVE
1545int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
1546#else
1547int yyFlexLexer::LexerInput( char* buf, int max_size )
1548#endif
1549        {
1550        if ( yyin->eof() || yyin->fail() )
1551                return 0;
1552
1553#ifdef YY_INTERACTIVE
1554        yyin->get( buf[0] );
1555
1556        if ( yyin->eof() )
1557                return 0;
1558
1559        if ( yyin->bad() )
1560                return -1;
1561
1562        return 1;
1563
1564#else
1565        (void) yyin->read( buf, max_size );
1566
1567        if ( yyin->bad() )
1568                return -1;
1569        else
1570                return yyin->gcount();
1571#endif
1572        }
1573
1574void yyFlexLexer::LexerOutput( const char* buf, int size )
1575        {
1576        (void) yyout->write( buf, size );
1577        }
1578
1579/* yy_get_next_buffer - try to read in a new buffer
1580 *
1581 * Returns a code representing an action:
1582 *      EOB_ACT_LAST_MATCH -
1583 *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1584 *      EOB_ACT_END_OF_FILE - end of file
1585 */
1586
1587int yyFlexLexer::yy_get_next_buffer()
1588        {
1589        register char *dest = yy_current_buffer->yy_ch_buf;
1590        register char *source = yytext_ptr;
1591        register int number_to_move, i;
1592        int ret_val;
1593
1594        if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
1595                YY_FATAL_ERROR(
1596                "fatal flex scanner internal error--end of buffer missed" );
1597
1598        if ( yy_current_buffer->yy_fill_buffer == 0 )
1599                { /* Don't try to fill the buffer, so this is an EOF. */
1600                if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
1601                        {
1602                        /* We matched a single character, the EOB, so
1603                         * treat this as a final EOF.
1604                         */
1605                        return EOB_ACT_END_OF_FILE;
1606                        }
1607
1608                else
1609                        {
1610                        /* We matched some text prior to the EOB, first
1611                         * process it.
1612                         */
1613                        return EOB_ACT_LAST_MATCH;
1614                        }
1615                }
1616
1617        /* Try to read more data. */
1618
1619        /* First move last chars to start of buffer. */
1620        number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
1621
1622        for ( i = 0; i < number_to_move; ++i )
1623                *(dest++) = *(source++);
1624
1625        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1626                /* don't do the read, it's not guaranteed to return an EOF,
1627                 * just force an EOF
1628                 */
1629                yy_current_buffer->yy_n_chars = yy_n_chars = 0;
1630
1631        else
1632                {
1633                int num_to_read =
1634                        yy_current_buffer->yy_buf_size - number_to_move - 1;
1635
1636                while ( num_to_read <= 0 )
1637                        { /* Not enough room in the buffer - grow it. */
1638#ifdef YY_USES_REJECT
1639                        YY_FATAL_ERROR(
1640"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1641#else
1642
1643                        /* just a shorter name for the current buffer */
1644                        YY_BUFFER_STATE b = yy_current_buffer;
1645
1646                        int yy_c_buf_p_offset =
1647                                (int) (yy_c_buf_p - b->yy_ch_buf);
1648
1649                        if ( b->yy_is_our_buffer )
1650                                {
1651                                int new_size = b->yy_buf_size * 2;
1652
1653                                if ( new_size <= 0 )
1654                                        b->yy_buf_size += b->yy_buf_size / 8;
1655                                else
1656                                        b->yy_buf_size *= 2;
1657
1658                                b->yy_ch_buf = (char *)
1659                                        /* Include room in for 2 EOB chars. */
1660                                        yy_flex_realloc( (void *) b->yy_ch_buf,
1661                                                         b->yy_buf_size + 2 );
1662                                }
1663                        else
1664                                /* Can't grow it, we don't own it. */
1665                                b->yy_ch_buf = 0;
1666
1667                        if ( ! b->yy_ch_buf )
1668                                YY_FATAL_ERROR(
1669                                "fatal error - scanner input buffer overflow" );
1670
1671                        yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
1672
1673                        num_to_read = yy_current_buffer->yy_buf_size -
1674                                                number_to_move - 1;
1675#endif
1676                        }
1677
1678                if ( num_to_read > YY_READ_BUF_SIZE )
1679                        num_to_read = YY_READ_BUF_SIZE;
1680
1681                /* Read in more data. */
1682                YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
1683                        yy_n_chars, num_to_read );
1684
1685                yy_current_buffer->yy_n_chars = yy_n_chars;
1686                }
1687
1688        if ( yy_n_chars == 0 )
1689                {
1690                if ( number_to_move == YY_MORE_ADJ )
1691                        {
1692                        ret_val = EOB_ACT_END_OF_FILE;
1693                        yyrestart( yyin );
1694                        }
1695
1696                else
1697                        {
1698                        ret_val = EOB_ACT_LAST_MATCH;
1699                        yy_current_buffer->yy_buffer_status =
1700                                YY_BUFFER_EOF_PENDING;
1701                        }
1702                }
1703
1704        else
1705                ret_val = EOB_ACT_CONTINUE_SCAN;
1706
1707        yy_n_chars += number_to_move;
1708        yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
1709        yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
1710
1711        yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
1712
1713        return ret_val;
1714        }
1715
1716
1717/* yy_get_previous_state - get the state just before the EOB char was reached */
1718
1719yy_state_type yyFlexLexer::yy_get_previous_state()
1720        {
1721        register yy_state_type yy_current_state;
1722        register char *yy_cp;
1723
1724        yy_current_state = yy_start;
1725
1726        for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
1727                {
1728                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1729                if ( yy_accept[yy_current_state] )
1730                        {
1731                        yy_last_accepting_state = yy_current_state;
1732                        yy_last_accepting_cpos = yy_cp;
1733                        }
1734                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1735                        {
1736                        yy_current_state = (int) yy_def[yy_current_state];
1737                        if ( yy_current_state >= 588 )
1738                                yy_c = yy_meta[(unsigned int) yy_c];
1739                        }
1740                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1741                }
1742
1743        return yy_current_state;
1744        }
1745
1746
1747/* yy_try_NUL_trans - try to make a transition on the NUL character
1748 *
1749 * synopsis
1750 *      next_state = yy_try_NUL_trans( current_state );
1751 */
1752
1753yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
1754        {
1755        register int yy_is_jam;
1756        register char *yy_cp = yy_c_buf_p;
1757
1758        register YY_CHAR yy_c = 1;
1759        if ( yy_accept[yy_current_state] )
1760                {
1761                yy_last_accepting_state = yy_current_state;
1762                yy_last_accepting_cpos = yy_cp;
1763                }
1764        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1765                {
1766                yy_current_state = (int) yy_def[yy_current_state];
1767                if ( yy_current_state >= 588 )
1768                        yy_c = yy_meta[(unsigned int) yy_c];
1769                }
1770        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1771        yy_is_jam = (yy_current_state == 587);
1772
1773        return yy_is_jam ? 0 : yy_current_state;
1774        }
1775
1776
1777void yyFlexLexer::yyunput( int c, register char* yy_bp )
1778        {
1779        register char *yy_cp = yy_c_buf_p;
1780
1781        /* undo effects of setting up yytext */
1782        *yy_cp = yy_hold_char;
1783
1784        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
1785                { /* need to shift things up to make room */
1786                /* +2 for EOB chars. */
1787                register int number_to_move = yy_n_chars + 2;
1788                register char *dest = &yy_current_buffer->yy_ch_buf[
1789                                        yy_current_buffer->yy_buf_size + 2];
1790                register char *source =
1791                                &yy_current_buffer->yy_ch_buf[number_to_move];
1792
1793                while ( source > yy_current_buffer->yy_ch_buf )
1794                        *--dest = *--source;
1795
1796                yy_cp += (int) (dest - source);
1797                yy_bp += (int) (dest - source);
1798                yy_current_buffer->yy_n_chars =
1799                        yy_n_chars = yy_current_buffer->yy_buf_size;
1800
1801                if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
1802                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
1803                }
1804
1805        *--yy_cp = (char) c;
1806
1807
1808        yytext_ptr = yy_bp;
1809        yy_hold_char = *yy_cp;
1810        yy_c_buf_p = yy_cp;
1811        }
1812
1813
1814int yyFlexLexer::yyinput()
1815        {
1816        int c;
1817
1818        *yy_c_buf_p = yy_hold_char;
1819
1820        if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
1821                {
1822                /* yy_c_buf_p now points to the character we want to return.
1823                 * If this occurs *before* the EOB characters, then it's a
1824                 * valid NUL; if not, then we've hit the end of the buffer.
1825                 */
1826                if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1827                        /* This was really a NUL. */
1828                        *yy_c_buf_p = '\0';
1829
1830                else
1831                        { /* need more input */
1832                        int offset = yy_c_buf_p - yytext_ptr;
1833                        ++yy_c_buf_p;
1834
1835                        switch ( yy_get_next_buffer() )
1836                                {
1837                                case EOB_ACT_LAST_MATCH:
1838                                        /* This happens because yy_g_n_b()
1839                                         * sees that we've accumulated a
1840                                         * token and flags that we need to
1841                                         * try matching the token before
1842                                         * proceeding.  But for input(),
1843                                         * there's no matching to consider.
1844                                         * So convert the EOB_ACT_LAST_MATCH
1845                                         * to EOB_ACT_END_OF_FILE.
1846                                         */
1847
1848                                        /* Reset buffer status. */
1849                                        yyrestart( yyin );
1850
1851                                        /* fall through */
1852
1853                                case EOB_ACT_END_OF_FILE:
1854                                        {
1855                                        if ( yywrap() )
1856                                                return EOF;
1857
1858                                        if ( ! yy_did_buffer_switch_on_eof )
1859                                                YY_NEW_FILE;
1860#ifdef __cplusplus
1861                                        return yyinput();
1862#else
1863                                        return input();
1864#endif
1865                                        }
1866
1867                                case EOB_ACT_CONTINUE_SCAN:
1868                                        yy_c_buf_p = yytext_ptr + offset;
1869                                        break;
1870                                }
1871                        }
1872                }
1873
1874        c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
1875        *yy_c_buf_p = '\0';     /* preserve yytext */
1876        yy_hold_char = *++yy_c_buf_p;
1877
1878
1879        return c;
1880        }
1881
1882
1883void yyFlexLexer::yyrestart( std::istream* input_file )
1884        {
1885        if ( ! yy_current_buffer )
1886                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
1887
1888        yy_init_buffer( yy_current_buffer, input_file );
1889        yy_load_buffer_state();
1890        }
1891
1892
1893void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
1894        {
1895        if ( yy_current_buffer == new_buffer )
1896                return;
1897
1898        if ( yy_current_buffer )
1899                {
1900                /* Flush out information for old buffer. */
1901                *yy_c_buf_p = yy_hold_char;
1902                yy_current_buffer->yy_buf_pos = yy_c_buf_p;
1903                yy_current_buffer->yy_n_chars = yy_n_chars;
1904                }
1905
1906        yy_current_buffer = new_buffer;
1907        yy_load_buffer_state();
1908
1909        /* We don't actually know whether we did this switch during
1910         * EOF (yywrap()) processing, but the only time this flag
1911         * is looked at is after yywrap() is called, so it's safe
1912         * to go ahead and always set it.
1913         */
1914        yy_did_buffer_switch_on_eof = 1;
1915        }
1916
1917
1918void yyFlexLexer::yy_load_buffer_state()
1919        {
1920        yy_n_chars = yy_current_buffer->yy_n_chars;
1921        yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
1922        yyin = yy_current_buffer->yy_input_file;
1923        yy_hold_char = *yy_c_buf_p;
1924        }
1925
1926
1927YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
1928        {
1929        YY_BUFFER_STATE b;
1930
1931        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
1932        if ( ! b )
1933                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1934
1935        b->yy_buf_size = size;
1936
1937        /* yy_ch_buf has to be 2 characters longer than the size given because
1938         * we need to put in 2 end-of-buffer characters.
1939         */
1940        b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
1941        if ( ! b->yy_ch_buf )
1942                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1943
1944        b->yy_is_our_buffer = 1;
1945
1946        yy_init_buffer( b, file );
1947
1948        return b;
1949        }
1950
1951
1952void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
1953        {
1954        if ( ! b )
1955                return;
1956
1957        if ( b == yy_current_buffer )
1958                yy_current_buffer = (YY_BUFFER_STATE) 0;
1959
1960        if ( b->yy_is_our_buffer )
1961                yy_flex_free( (void *) b->yy_ch_buf );
1962
1963        yy_flex_free( (void *) b );
1964        }
1965
1966#ifndef __THROW
1967    #define __THROW
1968#endif
1969
1970extern "C" int isatty YY_PROTO(( int )) __THROW;
1971
1972void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
1973
1974        {
1975        yy_flush_buffer( b );
1976
1977        b->yy_input_file = file;
1978        b->yy_fill_buffer = 1;
1979
1980        b->yy_is_interactive = 0;
1981        }
1982
1983
1984void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
1985        {
1986        if ( ! b )
1987                return;
1988
1989        b->yy_n_chars = 0;
1990
1991        /* We always need two end-of-buffer characters.  The first causes
1992         * a transition to the end-of-buffer state.  The second causes
1993         * a jam in that state.
1994         */
1995        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1996        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1997
1998        b->yy_buf_pos = &b->yy_ch_buf[0];
1999
2000        b->yy_at_bol = 1;
2001        b->yy_buffer_status = YY_BUFFER_NEW;
2002
2003        if ( b == yy_current_buffer )
2004                yy_load_buffer_state();
2005        }
2006
2007
2008#ifndef YY_NO_SCAN_BUFFER
2009#endif
2010
2011
2012#ifndef YY_NO_SCAN_STRING
2013#endif
2014
2015
2016#ifndef YY_NO_SCAN_BYTES
2017#endif
2018
2019
2020#ifndef YY_NO_PUSH_STATE
2021void yyFlexLexer::yy_push_state( int new_state )
2022        {
2023        if ( yy_start_stack_ptr >= yy_start_stack_depth )
2024                {
2025                yy_size_t new_size;
2026
2027                yy_start_stack_depth += YY_START_STACK_INCR;
2028                new_size = yy_start_stack_depth * sizeof( int );
2029
2030                if ( ! yy_start_stack )
2031                        yy_start_stack = (int *) yy_flex_alloc( new_size );
2032
2033                else
2034                        yy_start_stack = (int *) yy_flex_realloc(
2035                                        (void *) yy_start_stack, new_size );
2036
2037                if ( ! yy_start_stack )
2038                        YY_FATAL_ERROR(
2039                        "out of memory expanding start-condition stack" );
2040                }
2041
2042        yy_start_stack[yy_start_stack_ptr++] = YY_START;
2043
2044        BEGIN(new_state);
2045        }
2046#endif
2047
2048
2049#ifndef YY_NO_POP_STATE
2050void yyFlexLexer::yy_pop_state()
2051        {
2052        if ( --yy_start_stack_ptr < 0 )
2053                YY_FATAL_ERROR( "start-condition stack underflow" );
2054
2055        BEGIN(yy_start_stack[yy_start_stack_ptr]);
2056        }
2057#endif
2058
2059
2060#ifndef YY_NO_TOP_STATE
2061int yyFlexLexer::yy_top_state()
2062        {
2063        return yy_start_stack[yy_start_stack_ptr - 1];
2064        }
2065#endif
2066
2067#ifndef YY_EXIT_FAILURE
2068#define YY_EXIT_FAILURE 2
2069#endif
2070
2071
2072void yyFlexLexer::LexerError( yyconst char msg[] )
2073        {
2074        std::cerr << msg << '\n';
2075        exit( YY_EXIT_FAILURE );
2076        }
2077
2078
2079/* Redefine yyless() so it works in section 3 code. */
2080
2081#undef yyless
2082#define yyless(n) \
2083        do \
2084                { \
2085                /* Undo effects of setting up yytext. */ \
2086                yytext[yyleng] = yy_hold_char; \
2087                yy_c_buf_p = yytext + n; \
2088                yy_hold_char = *yy_c_buf_p; \
2089                *yy_c_buf_p = '\0'; \
2090                yyleng = n; \
2091                } \
2092        while ( 0 )
2093
2094
2095/* Internal utility routines. */
2096
2097#ifndef yytext_ptr
2098#ifdef YY_USE_PROTOS
2099static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2100#else
2101static void yy_flex_strncpy( s1, s2, n )
2102char *s1;
2103yyconst char *s2;
2104int n;
2105#endif
2106        {
2107        register int i;
2108        for ( i = 0; i < n; ++i )
2109                s1[i] = s2[i];
2110        }
2111#endif
2112
2113#ifdef YY_NEED_STRLEN
2114#ifdef YY_USE_PROTOS
2115static int yy_flex_strlen( yyconst char *s )
2116#else
2117static int yy_flex_strlen( s )
2118yyconst char *s;
2119#endif
2120        {
2121        register int n;
2122        for ( n = 0; s[n]; ++n )
2123                ;
2124
2125        return n;
2126        }
2127#endif
2128
2129
2130#ifdef YY_USE_PROTOS
2131static void *yy_flex_alloc( yy_size_t size )
2132#else
2133static void *yy_flex_alloc( size )
2134yy_size_t size;
2135#endif
2136        {
2137        return (void *) malloc( size );
2138        }
2139
2140#ifdef YY_USE_PROTOS
2141static void *yy_flex_realloc( void *ptr, yy_size_t size )
2142#else
2143static void *yy_flex_realloc( ptr, size )
2144void *ptr;
2145yy_size_t size;
2146#endif
2147        {
2148        /* The cast to (char *) in the following accommodates both
2149         * implementations that use char* generic pointers, and those
2150         * that use void* generic pointers.  It works with the latter
2151         * because both ANSI C and C++ allow castless assignment from
2152         * any pointer type to void*, and deal with argument conversions
2153         * as though doing an assignment.
2154         */
2155        return (void *) realloc( (char *) ptr, size );
2156        }
2157
2158#ifdef YY_USE_PROTOS
2159static void yy_flex_free( void *ptr )
2160#else
2161static void yy_flex_free( ptr )
2162void *ptr;
2163#endif
2164        {
2165        free( ptr );
2166        }
2167
2168#if YY_MAIN
2169int main()
2170        {
2171        yylex();
2172        return 0;
2173        }
2174#endif
2175#line 162 ".././ConfigLexer.l"
2176
2177
Note: See TracBrowser for help on using the browser.