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

Revision 9655, 61.7 kB (checked in by robert, 6 years ago)

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