00001 #line 2 "/builddir/build/BUILD/lux-0.6.1/build/luxlex.cpp"
00002
00003 #line 4 "/builddir/build/BUILD/lux-0.6.1/build/luxlex.cpp"
00004
00005 #define YY_INT_ALIGNED short int
00006
00007
00008
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016
00017
00018
00019
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024
00025
00026
00027
00028
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031
00032
00033
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035
00036
00037
00038
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t;
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057 #endif
00058
00059
00060 #ifndef INT8_MIN
00061 #define INT8_MIN (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX (4294967295U)
00086 #endif
00087
00088 #endif
00089
00090 #ifdef __cplusplus
00091
00092
00093 #define YY_USE_CONST
00094
00095 #else
00096
00097
00098 #if defined (__STDC__)
00099
00100 #define YY_USE_CONST
00101
00102 #endif
00103 #endif
00104
00105 #ifdef YY_USE_CONST
00106 #define yyconst const
00107 #else
00108 #define yyconst
00109 #endif
00110
00111
00112 #define YY_NULL 0
00113
00114
00115
00116
00117
00118
00119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00120
00121
00122
00123
00124
00125 #define BEGIN (yy_start) = 1 + 2 *
00126
00127
00128
00129
00130
00131 #define YY_START (((yy_start) - 1) / 2)
00132 #define YYSTATE YY_START
00133
00134
00135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00136
00137
00138 #define YY_NEW_FILE yyrestart(yyin )
00139
00140 #define YY_END_OF_BUFFER_CHAR 0
00141
00142
00143 #ifndef YY_BUF_SIZE
00144 #define YY_BUF_SIZE 16384
00145 #endif
00146
00147
00148
00149 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00150
00151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00152 #define YY_TYPEDEF_YY_BUFFER_STATE
00153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00154 #endif
00155
00156 extern int yyleng;
00157
00158 extern FILE *yyin, *yyout;
00159
00160 #define EOB_ACT_CONTINUE_SCAN 0
00161 #define EOB_ACT_END_OF_FILE 1
00162 #define EOB_ACT_LAST_MATCH 2
00163
00164 #define YY_LESS_LINENO(n)
00165
00166
00167 #define yyless(n) \
00168 do \
00169 { \
00170 \
00171 int yyless_macro_arg = (n); \
00172 YY_LESS_LINENO(yyless_macro_arg);\
00173 *yy_cp = (yy_hold_char); \
00174 YY_RESTORE_YY_MORE_OFFSET \
00175 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00176 YY_DO_BEFORE_ACTION; \
00177 } \
00178 while ( 0 )
00179
00180 #define unput(c) yyunput( c, (yytext_ptr) )
00181
00182 #ifndef YY_TYPEDEF_YY_SIZE_T
00183 #define YY_TYPEDEF_YY_SIZE_T
00184 typedef size_t yy_size_t;
00185 #endif
00186
00187 #ifndef YY_STRUCT_YY_BUFFER_STATE
00188 #define YY_STRUCT_YY_BUFFER_STATE
00189 struct yy_buffer_state
00190 {
00191 FILE *yy_input_file;
00192
00193 char *yy_ch_buf;
00194 char *yy_buf_pos;
00195
00196
00197
00198
00199 yy_size_t yy_buf_size;
00200
00201
00202
00203
00204 int yy_n_chars;
00205
00206
00207
00208
00209
00210 int yy_is_our_buffer;
00211
00212
00213
00214
00215
00216
00217 int yy_is_interactive;
00218
00219
00220
00221
00222
00223 int yy_at_bol;
00224
00225 int yy_bs_lineno;
00226 int yy_bs_column;
00228
00229
00230
00231 int yy_fill_buffer;
00232
00233 int yy_buffer_status;
00234
00235 #define YY_BUFFER_NEW 0
00236 #define YY_BUFFER_NORMAL 1
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247 #define YY_BUFFER_EOF_PENDING 2
00248
00249 };
00250 #endif
00251
00252
00253 static size_t yy_buffer_stack_top = 0;
00254 static size_t yy_buffer_stack_max = 0;
00255 static YY_BUFFER_STATE * yy_buffer_stack = 0;
00257
00258
00259
00260
00261
00262
00263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00264 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00265 : NULL)
00266
00267
00268
00269
00270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00271
00272
00273 static char yy_hold_char;
00274 static int yy_n_chars;
00275 int yyleng;
00276
00277
00278 static char *yy_c_buf_p = (char *) 0;
00279 static int yy_init = 0;
00280 static int yy_start = 0;
00281
00282
00283
00284
00285 static int yy_did_buffer_switch_on_eof;
00286
00287 void yyrestart (FILE *input_file );
00288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
00289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
00290 void yy_delete_buffer (YY_BUFFER_STATE b );
00291 void yy_flush_buffer (YY_BUFFER_STATE b );
00292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
00293 void yypop_buffer_state (void );
00294
00295 static void yyensure_buffer_stack (void );
00296 static void yy_load_buffer_state (void );
00297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
00298
00299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00300
00301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
00302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
00303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
00304
00305 void *yyalloc (yy_size_t );
00306 void *yyrealloc (void *,yy_size_t );
00307 void yyfree (void * );
00308
00309 #define yy_new_buffer yy_create_buffer
00310
00311 #define yy_set_interactive(is_interactive) \
00312 { \
00313 if ( ! YY_CURRENT_BUFFER ){ \
00314 yyensure_buffer_stack (); \
00315 YY_CURRENT_BUFFER_LVALUE = \
00316 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00317 } \
00318 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00319 }
00320
00321 #define yy_set_bol(at_bol) \
00322 { \
00323 if ( ! YY_CURRENT_BUFFER ){\
00324 yyensure_buffer_stack (); \
00325 YY_CURRENT_BUFFER_LVALUE = \
00326 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00327 } \
00328 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00329 }
00330
00331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00332
00333
00334
00335 typedef unsigned char YY_CHAR;
00336
00337 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00338
00339 typedef int yy_state_type;
00340
00341 extern int yylineno;
00342
00343 int yylineno = 1;
00344
00345 extern char *yytext;
00346 #define yytext_ptr yytext
00347
00348 static yy_state_type yy_get_previous_state (void );
00349 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
00350 static int yy_get_next_buffer (void );
00351 static void yy_fatal_error (yyconst char msg[] );
00352
00353
00354
00355
00356 #define YY_DO_BEFORE_ACTION \
00357 (yytext_ptr) = yy_bp; \
00358 yyleng = (size_t) (yy_cp - yy_bp); \
00359 (yy_hold_char) = *yy_cp; \
00360 *yy_cp = '\0'; \
00361 (yy_c_buf_p) = yy_cp;
00362
00363 #define YY_NUM_RULES 71
00364 #define YY_END_OF_BUFFER 72
00365
00366
00367 struct yy_trans_info
00368 {
00369 flex_int32_t yy_verify;
00370 flex_int32_t yy_nxt;
00371 };
00372 static yyconst flex_int16_t yy_accept[400] =
00373 { 0,
00374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00375 72, 70, 49, 51, 50, 56, 8, 70, 70, 52,
00376 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00377 53, 53, 53, 53, 53, 54, 55, 49, 68, 69,
00378 67, 68, 9, 10, 4, 2, 71, 3, 6, 5,
00379 49, 0, 52, 52, 52, 0, 53, 53, 53, 53,
00380 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00381 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00382 53, 53, 53, 53, 49, 66, 65, 62, 66, 63,
00383 60, 61, 57, 59, 58, 2, 7, 52, 0, 52,
00384
00385 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00386 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00387 53, 53, 53, 53, 53, 53, 53, 53, 53, 0,
00388 53, 53, 53, 53, 53, 53, 19, 53, 53, 53,
00389 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00390 53, 53, 53, 53, 53, 53, 53, 53, 53, 64,
00391 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00392 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00393 36, 53, 38, 53, 53, 53, 53, 53, 53, 53,
00394 53, 15, 53, 53, 53, 53, 53, 53, 53, 23,
00395
00396 53, 53, 53, 53, 53, 53, 53, 53, 33, 53,
00397 53, 53, 53, 53, 53, 45, 53, 53, 53, 53,
00398 53, 53, 53, 53, 53, 1, 53, 53, 53, 53,
00399 53, 53, 53, 53, 53, 53, 53, 53, 34, 53,
00400 53, 40, 53, 53, 53, 53, 53, 53, 53, 53,
00401 53, 53, 53, 20, 53, 53, 53, 24, 53, 53,
00402 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
00403 53, 53, 48, 53, 53, 53, 53, 53, 53, 53,
00404 53, 53, 53, 53, 53, 28, 53, 53, 53, 53,
00405 53, 53, 43, 44, 53, 53, 53, 53, 53, 53,
00406
00407 53, 53, 53, 21, 53, 53, 53, 53, 53, 53,
00408 53, 53, 53, 35, 53, 53, 53, 53, 47, 11,
00409 53, 53, 53, 53, 53, 53, 22, 53, 53, 53,
00410 27, 53, 31, 37, 53, 53, 53, 53, 53, 53,
00411 53, 14, 53, 53, 53, 53, 53, 53, 53, 53,
00412 53, 53, 42, 53, 53, 53, 53, 53, 53, 53,
00413 53, 26, 53, 53, 53, 53, 53, 53, 13, 53,
00414 53, 53, 53, 30, 29, 53, 53, 41, 53, 12,
00415 16, 53, 53, 53, 53, 53, 53, 53, 17, 53,
00416 53, 53, 46, 18, 25, 53, 39, 32, 0
00417
00418 } ;
00419
00420 static yyconst flex_int32_t yy_ec[256] =
00421 { 0,
00422 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00423 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
00424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00425 1, 2, 1, 5, 6, 1, 1, 1, 1, 1,
00426 1, 1, 7, 1, 7, 8, 1, 9, 9, 9,
00427 9, 9, 9, 9, 9, 9, 9, 1, 1, 1,
00428 1, 1, 1, 1, 10, 11, 12, 13, 14, 15,
00429 16, 13, 17, 13, 13, 18, 19, 20, 21, 22,
00430 13, 23, 24, 25, 13, 26, 27, 13, 13, 13,
00431 28, 29, 30, 1, 13, 1, 31, 32, 33, 34,
00432
00433 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
00434 45, 46, 13, 47, 48, 49, 50, 51, 13, 52,
00435 53, 13, 1, 1, 1, 1, 1, 1, 1, 1,
00436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00443
00444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00449 1, 1, 1, 1, 1
00450 } ;
00451
00452 static yyconst flex_int32_t yy_meta[54] =
00453 { 0,
00454 1, 1, 2, 1, 2, 1, 1, 1, 3, 3,
00455 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00456 3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
00457 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00458 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00459 3, 3, 3
00460 } ;
00461
00462 static yyconst flex_int16_t yy_base[407] =
00463 { 0,
00464 0, 0, 51, 52, 468, 467, 56, 60, 61, 64,
00465 469, 472, 58, 472, 472, 472, 472, 62, 459, 64,
00466 35, 0, 43, 428, 41, 38, 45, 435, 433, 47,
00467 58, 63, 60, 419, 418, 472, 472, 95, 472, 472,
00468 472, 145, 472, 472, 472, 100, 472, 472, 0, 472,
00469 103, 453, 106, 95, 97, 109, 0, 428, 425, 410,
00470 415, 77, 415, 421, 422, 417, 408, 76, 403, 408,
00471 410, 397, 401, 396, 397, 402, 413, 412, 411, 394,
00472 388, 408, 396, 390, 126, 472, 472, 472, 427, 472,
00473 472, 472, 472, 472, 472, 127, 0, 110, 426, 425,
00474
00475 398, 401, 384, 395, 396, 381, 384, 382, 383, 386,
00476 382, 387, 386, 381, 384, 383, 382, 367, 380, 383,
00477 367, 370, 364, 364, 373, 359, 363, 356, 363, 395,
00478 361, 384, 362, 353, 368, 364, 0, 348, 346, 346,
00479 384, 373, 345, 346, 356, 356, 346, 356, 339, 336,
00480 342, 348, 349, 346, 349, 329, 330, 334, 342, 472,
00481 340, 335, 341, 341, 322, 99, 331, 335, 111, 319,
00482 336, 327, 321, 345, 314, 347, 319, 312, 324, 323,
00483 0, 319, 0, 323, 308, 97, 319, 126, 306, 315,
00484 301, 0, 325, 296, 304, 298, 311, 298, 299, 0,
00485
00486 300, 311, 324, 309, 132, 300, 314, 302, 0, 289,
00487 313, 299, 298, 287, 300, 313, 294, 284, 296, 288,
00488 276, 277, 275, 291, 268, 0, 275, 269, 283, 275,
00489 272, 266, 279, 269, 268, 269, 272, 288, 0, 277,
00490 290, 0, 259, 256, 260, 266, 268, 252, 251, 264,
00491 267, 272, 247, 0, 245, 247, 259, 0, 244, 256,
00492 253, 255, 240, 238, 255, 238, 235, 239, 239, 246,
00493 231, 240, 0, 233, 253, 142, 232, 228, 239, 227,
00494 239, 252, 221, 222, 229, 0, 218, 231, 219, 225,
00495 225, 213, 148, 0, 226, 216, 212, 213, 222, 212,
00496
00497 207, 223, 229, 0, 217, 220, 219, 210, 204, 216,
00498 199, 210, 209, 0, 208, 207, 197, 203, 0, 0,
00499 189, 201, 203, 200, 191, 181, 0, 184, 188, 200,
00500 0, 186, 0, 0, 185, 191, 190, 192, 178, 177,
00501 184, 0, 177, 173, 172, 184, 185, 175, 183, 166,
00502 167, 174, 0, 180, 160, 147, 143, 152, 138, 139,
00503 150, 0, 149, 152, 151, 136, 127, 140, 0, 130,
00504 127, 136, 131, 0, 0, 120, 119, 0, 122, 0,
00505 0, 119, 122, 133, 124, 116, 113, 108, 0, 102,
00506 97, 89, 0, 0, 0, 56, 0, 0, 472, 194,
00507
00508 197, 200, 203, 76, 206, 209
00509 } ;
00510
00511 static yyconst flex_int16_t yy_def[407] =
00512 { 0,
00513 399, 1, 400, 400, 401, 401, 402, 402, 403, 403,
00514 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00515 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00516 404, 404, 404, 404, 404, 399, 399, 404, 399, 399,
00517 399, 405, 399, 399, 399, 399, 399, 399, 406, 399,
00518 399, 399, 399, 399, 399, 399, 404, 404, 404, 404,
00519 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00520 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00521 404, 404, 404, 404, 404, 399, 399, 399, 399, 399,
00522 399, 399, 399, 399, 399, 399, 406, 399, 399, 399,
00523
00524 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00525 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00526 404, 404, 404, 404, 404, 404, 404, 404, 404, 399,
00527 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00528 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00529 404, 404, 404, 404, 404, 404, 404, 404, 404, 399,
00530 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00531 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00532 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00533 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00534
00535 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00536 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00537 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00538 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00539 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00540 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00541 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00542 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00543 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00544 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00545
00546 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00547 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00548 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00549 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00550 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00551 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00552 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00553 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00554 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00555 404, 404, 404, 404, 404, 404, 404, 404, 0, 399,
00556
00557 399, 399, 399, 399, 399, 399
00558 } ;
00559
00560 static yyconst flex_int16_t yy_nxt[526] =
00561 { 0,
00562 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
00563 22, 23, 22, 22, 24, 22, 25, 26, 27, 28,
00564 29, 30, 31, 32, 33, 34, 35, 36, 12, 37,
00565 38, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00566 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
00567 22, 38, 22, 40, 40, 41, 41, 46, 47, 51,
00568 48, 46, 47, 47, 48, 50, 47, 58, 50, 52,
00569 53, 55, 53, 61, 64, 68, 66, 56, 57, 42,
00570 42, 59, 67, 60, 65, 72, 46, 62, 51, 69,
00571 46, 73, 74, 76, 81, 77, 51, 78, 56, 398,
00572
00573 79, 96, 75, 54, 51, 98, 82, 46, 56, 51,
00574 56, 46, 80, 55, 53, 99, 112, 100, 98, 56,
00575 105, 106, 194, 56, 113, 85, 198, 51, 96, 56,
00576 96, 56, 214, 51, 199, 397, 217, 195, 215, 218,
00577 56, 396, 233, 395, 56, 234, 85, 87, 235, 88,
00578 394, 96, 299, 89, 51, 300, 85, 96, 316, 393,
00579 392, 317, 391, 390, 389, 388, 387, 386, 385, 384,
00580 383, 382, 381, 90, 380, 379, 91, 85, 96, 378,
00581 92, 377, 376, 375, 374, 373, 372, 371, 93, 370,
00582 369, 94, 368, 95, 39, 39, 39, 43, 43, 43,
00583
00584 45, 45, 45, 49, 49, 49, 86, 86, 86, 97,
00585 367, 97, 366, 365, 364, 363, 362, 361, 360, 359,
00586 358, 357, 356, 355, 354, 353, 352, 351, 350, 349,
00587 348, 347, 346, 345, 344, 343, 342, 341, 340, 339,
00588 338, 337, 336, 335, 334, 333, 332, 331, 330, 329,
00589 328, 327, 326, 325, 324, 323, 322, 321, 320, 319,
00590 318, 315, 314, 313, 312, 311, 310, 309, 308, 307,
00591 306, 305, 304, 303, 302, 301, 298, 297, 296, 295,
00592 294, 293, 292, 291, 290, 289, 288, 287, 286, 285,
00593 284, 283, 282, 281, 280, 279, 278, 277, 276, 275,
00594
00595 274, 273, 272, 271, 270, 269, 268, 267, 266, 265,
00596 264, 263, 262, 261, 260, 259, 258, 257, 256, 255,
00597 254, 253, 252, 251, 250, 249, 248, 247, 246, 245,
00598 244, 243, 242, 241, 240, 239, 238, 237, 236, 232,
00599 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
00600 221, 220, 219, 216, 213, 212, 211, 210, 209, 208,
00601 207, 206, 205, 204, 203, 202, 201, 200, 197, 196,
00602 193, 192, 191, 190, 189, 188, 187, 186, 185, 184,
00603 183, 182, 181, 180, 179, 178, 177, 176, 175, 174,
00604 173, 172, 171, 170, 169, 168, 167, 166, 165, 164,
00605
00606 163, 162, 161, 160, 159, 158, 157, 156, 155, 154,
00607 153, 152, 151, 150, 149, 148, 147, 146, 145, 144,
00608 143, 142, 141, 140, 139, 138, 137, 136, 135, 134,
00609 133, 132, 131, 100, 100, 130, 129, 128, 127, 126,
00610 125, 124, 123, 122, 121, 120, 119, 118, 117, 116,
00611 115, 114, 111, 110, 109, 108, 107, 104, 103, 102,
00612 101, 54, 84, 83, 71, 70, 63, 54, 399, 44,
00613 44, 11, 399, 399, 399, 399, 399, 399, 399, 399,
00614 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00615 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00616
00617 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00618 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00619 399, 399, 399, 399, 399
00620 } ;
00621
00622 static yyconst flex_int16_t yy_chk[526] =
00623 { 0,
00624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00629 1, 1, 1, 3, 4, 3, 4, 7, 7, 13,
00630 7, 8, 8, 9, 8, 9, 10, 21, 10, 18,
00631 18, 20, 20, 23, 25, 27, 26, 20, 404, 3,
00632 4, 21, 26, 21, 25, 30, 7, 23, 13, 27,
00633 8, 30, 31, 32, 33, 32, 38, 32, 20, 396,
00634
00635 32, 46, 31, 54, 51, 55, 33, 7, 54, 13,
00636 55, 8, 32, 53, 53, 56, 68, 56, 98, 53,
00637 62, 62, 166, 98, 68, 38, 169, 85, 96, 54,
00638 46, 55, 186, 51, 169, 392, 188, 166, 186, 188,
00639 53, 391, 205, 390, 98, 205, 38, 42, 205, 42,
00640 388, 46, 276, 42, 51, 276, 85, 96, 293, 387,
00641 386, 293, 385, 384, 383, 382, 379, 377, 376, 373,
00642 372, 371, 370, 42, 368, 367, 42, 85, 96, 366,
00643 42, 365, 364, 363, 361, 360, 359, 358, 42, 357,
00644 356, 42, 355, 42, 400, 400, 400, 401, 401, 401,
00645
00646 402, 402, 402, 403, 403, 403, 405, 405, 405, 406,
00647 354, 406, 352, 351, 350, 349, 348, 347, 346, 345,
00648 344, 343, 341, 340, 339, 338, 337, 336, 335, 332,
00649 330, 329, 328, 326, 325, 324, 323, 322, 321, 318,
00650 317, 316, 315, 313, 312, 311, 310, 309, 308, 307,
00651 306, 305, 303, 302, 301, 300, 299, 298, 297, 296,
00652 295, 292, 291, 290, 289, 288, 287, 285, 284, 283,
00653 282, 281, 280, 279, 278, 277, 275, 274, 272, 271,
00654 270, 269, 268, 267, 266, 265, 264, 263, 262, 261,
00655 260, 259, 257, 256, 255, 253, 252, 251, 250, 249,
00656
00657 248, 247, 246, 245, 244, 243, 241, 240, 238, 237,
00658 236, 235, 234, 233, 232, 231, 230, 229, 228, 227,
00659 225, 224, 223, 222, 221, 220, 219, 218, 217, 216,
00660 215, 214, 213, 212, 211, 210, 208, 207, 206, 204,
00661 203, 202, 201, 199, 198, 197, 196, 195, 194, 193,
00662 191, 190, 189, 187, 185, 184, 182, 180, 179, 178,
00663 177, 176, 175, 174, 173, 172, 171, 170, 168, 167,
00664 165, 164, 163, 162, 161, 159, 158, 157, 156, 155,
00665 154, 153, 152, 151, 150, 149, 148, 147, 146, 145,
00666 144, 143, 142, 141, 140, 139, 138, 136, 135, 134,
00667
00668 133, 132, 131, 130, 129, 128, 127, 126, 125, 124,
00669 123, 122, 121, 120, 119, 118, 117, 116, 115, 114,
00670 113, 112, 111, 110, 109, 108, 107, 106, 105, 104,
00671 103, 102, 101, 100, 99, 89, 84, 83, 82, 81,
00672 80, 79, 78, 77, 76, 75, 74, 73, 72, 71,
00673 70, 69, 67, 66, 65, 64, 63, 61, 60, 59,
00674 58, 52, 35, 34, 29, 28, 24, 19, 11, 6,
00675 5, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00676 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00677 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00678
00679 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00680 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
00681 399, 399, 399, 399, 399
00682 } ;
00683
00684 static yy_state_type yy_last_accepting_state;
00685 static char *yy_last_accepting_cpos;
00686
00687 extern int yy_flex_debug;
00688 int yy_flex_debug = 0;
00689
00690
00691
00692
00693 #define REJECT reject_used_but_not_detected
00694 #define yymore() yymore_used_but_not_detected
00695 #define YY_MORE_ADJ 0
00696 #define YY_RESTORE_YY_MORE_OFFSET
00697 char *yytext;
00698 #line 1 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
00699
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714
00715
00716
00717
00718
00719
00720
00721 #line 26 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
00722
00723 #define YY_MAIN 0
00724 #define YY_NEVER_INTERACTIVE 1
00725
00726 #include <sstream>
00727 #include "lux.h"
00728 #include "api.h"
00729 #include "error.h"
00730
00731 struct ParamArray;
00732
00733 #include "luxparse.hpp"
00734
00735
00736
00737
00738
00739
00740
00741 #if defined(WIN32) && !defined(__CYGWIN__)
00742 #pragma warning ( disable: 4244 )
00743 #endif
00744
00745 struct IncludeInfo {
00746 string filename;
00747 YY_BUFFER_STATE bufState;
00748 int lineNum;
00749 };
00750 vector<IncludeInfo> includeStack;
00751
00752 extern int line_num;
00753 int str_pos;
00754
00755 void add_string_char( char c )
00756 {
00757 if (str_pos == 1023) {
00758 luxError(LUX_LIMIT, LUX_ERROR, "String is too long.");
00759 ++str_pos;
00760 } else if (str_pos < 1023) {
00761 yylval.string[str_pos++] = c;
00762 yylval.string[str_pos] = '\0';
00763 }
00764 }
00765
00766 extern void yyerror( const char *str );
00767
00768
00769 void include_push(char *filename) {
00770 if (includeStack.size() > 32)
00771 luxError(LUX_NESTING,LUX_SEVERE,"Only 32 levels of nested Include allowed in scene files.");
00772 else {
00773
00774
00775
00776 FILE *newFile = fopen(filename, "r");
00777 if (!newFile) {
00778
00779 std::stringstream ss;
00780 ss<<"Unable to open included scene file "<<filename;
00781 luxError(LUX_NOFILE,LUX_SEVERE,ss.str().c_str());
00782 } else {
00783 IncludeInfo ii;
00784 extern string current_file;
00785 ii.filename = current_file;
00786 ii.bufState = YY_CURRENT_BUFFER;
00787 ii.lineNum = line_num;
00788 includeStack.push_back(ii);
00789
00790 current_file = filename;
00791 line_num = 1;
00792
00793 yyin = newFile;
00794 yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
00795 }
00796 }
00797 }
00798
00799 void include_pop(void)
00800 {
00801 extern int line_num;
00802 extern string current_file;
00803 yy_delete_buffer(YY_CURRENT_BUFFER);
00804 yy_switch_to_buffer(includeStack.back().bufState);
00805 current_file = includeStack.back().filename;
00806 line_num = includeStack.back().lineNum;
00807 includeStack.pop_back();
00808 }
00809
00810 #line 811 "/builddir/build/BUILD/lux-0.6.1/build/luxlex.cpp"
00811
00812 #define INITIAL 0
00813 #define STR 1
00814 #define COMMENT 2
00815 #define INCL 3
00816 #define INCL_FILE 4
00817
00818 #ifndef YY_NO_UNISTD_H
00819
00820
00821
00822
00823 #include <unistd.h>
00824 #endif
00825
00826 #ifndef YY_EXTRA_TYPE
00827 #define YY_EXTRA_TYPE void *
00828 #endif
00829
00830 static int yy_init_globals (void );
00831
00832
00833
00834
00835 int yylex_destroy (void );
00836
00837 int yyget_debug (void );
00838
00839 void yyset_debug (int debug_flag );
00840
00841 YY_EXTRA_TYPE yyget_extra (void );
00842
00843 void yyset_extra (YY_EXTRA_TYPE user_defined );
00844
00845 FILE *yyget_in (void );
00846
00847 void yyset_in (FILE * in_str );
00848
00849 FILE *yyget_out (void );
00850
00851 void yyset_out (FILE * out_str );
00852
00853 int yyget_leng (void );
00854
00855 char *yyget_text (void );
00856
00857 int yyget_lineno (void );
00858
00859 void yyset_lineno (int line_number );
00860
00861
00862
00863
00864
00865 #ifndef YY_SKIP_YYWRAP
00866 #ifdef __cplusplus
00867 extern "C" int yywrap (void );
00868 #else
00869 extern int yywrap (void );
00870 #endif
00871 #endif
00872
00873 #ifndef yytext_ptr
00874 static void yy_flex_strncpy (char *,yyconst char *,int );
00875 #endif
00876
00877 #ifdef YY_NEED_STRLEN
00878 static int yy_flex_strlen (yyconst char * );
00879 #endif
00880
00881 #ifndef YY_NO_INPUT
00882
00883 #ifdef __cplusplus
00884 static int yyinput (void );
00885 #else
00886 static int input (void );
00887 #endif
00888
00889 #endif
00890
00891
00892 #ifndef YY_READ_BUF_SIZE
00893 #define YY_READ_BUF_SIZE 8192
00894 #endif
00895
00896
00897 #ifndef ECHO
00898
00899
00900
00901 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
00902 #endif
00903
00904
00905
00906
00907 #ifndef YY_INPUT
00908 #define YY_INPUT(buf,result,max_size) \
00909 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
00910 { \
00911 int c = '*'; \
00912 unsigned n; \
00913 for ( n = 0; n < max_size && \
00914 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00915 buf[n] = (char) c; \
00916 if ( c == '\n' ) \
00917 buf[n++] = (char) c; \
00918 if ( c == EOF && ferror( yyin ) ) \
00919 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00920 result = n; \
00921 } \
00922 else \
00923 { \
00924 errno=0; \
00925 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00926 { \
00927 if( errno != EINTR) \
00928 { \
00929 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00930 break; \
00931 } \
00932 errno=0; \
00933 clearerr(yyin); \
00934 } \
00935 }\
00936 \
00937
00938 #endif
00939
00940
00941
00942
00943
00944 #ifndef yyterminate
00945 #define yyterminate() return YY_NULL
00946 #endif
00947
00948
00949 #ifndef YY_START_STACK_INCR
00950 #define YY_START_STACK_INCR 25
00951 #endif
00952
00953
00954 #ifndef YY_FATAL_ERROR
00955 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00956 #endif
00957
00958
00959
00960
00961
00962
00963 #ifndef YY_DECL
00964 #define YY_DECL_IS_OURS 1
00965
00966 extern int yylex (void);
00967
00968 #define YY_DECL int yylex (void)
00969 #endif
00970
00971
00972
00973
00974 #ifndef YY_USER_ACTION
00975 #define YY_USER_ACTION
00976 #endif
00977
00978
00979 #ifndef YY_BREAK
00980 #define YY_BREAK break;
00981 #endif
00982
00983 #define YY_RULE_SETUP \
00984 YY_USER_ACTION
00985
00988 YY_DECL
00989 {
00990 register yy_state_type yy_current_state;
00991 register char *yy_cp, *yy_bp;
00992 register int yy_act;
00993
00994 #line 119 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
00995
00996 #line 997 "/builddir/build/BUILD/lux-0.6.1/build/luxlex.cpp"
00997
00998 if ( !(yy_init) )
00999 {
01000 (yy_init) = 1;
01001
01002 #ifdef YY_USER_INIT
01003 YY_USER_INIT;
01004 #endif
01005
01006 if ( ! (yy_start) )
01007 (yy_start) = 1;
01008
01009 if ( ! yyin )
01010 yyin = stdin;
01011
01012 if ( ! yyout )
01013 yyout = stdout;
01014
01015 if ( ! YY_CURRENT_BUFFER ) {
01016 yyensure_buffer_stack ();
01017 YY_CURRENT_BUFFER_LVALUE =
01018 yy_create_buffer(yyin,YY_BUF_SIZE );
01019 }
01020
01021 yy_load_buffer_state( );
01022 }
01023
01024 while ( 1 )
01025 {
01026 yy_cp = (yy_c_buf_p);
01027
01028
01029 *yy_cp = (yy_hold_char);
01030
01031
01032
01033
01034 yy_bp = yy_cp;
01035
01036 yy_current_state = (yy_start);
01037 yy_match:
01038 do
01039 {
01040 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01041 if ( yy_accept[yy_current_state] )
01042 {
01043 (yy_last_accepting_state) = yy_current_state;
01044 (yy_last_accepting_cpos) = yy_cp;
01045 }
01046 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01047 {
01048 yy_current_state = (int) yy_def[yy_current_state];
01049 if ( yy_current_state >= 400 )
01050 yy_c = yy_meta[(unsigned int) yy_c];
01051 }
01052 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01053 ++yy_cp;
01054 }
01055 while ( yy_base[yy_current_state] != 472 );
01056
01057 yy_find_action:
01058 yy_act = yy_accept[yy_current_state];
01059 if ( yy_act == 0 )
01060 {
01061 yy_cp = (yy_last_accepting_cpos);
01062 yy_current_state = (yy_last_accepting_state);
01063 yy_act = yy_accept[yy_current_state];
01064 }
01065
01066 YY_DO_BEFORE_ACTION;
01067
01068 do_action:
01069
01070 switch ( yy_act )
01071 {
01072 case 0:
01073
01074 *yy_cp = (yy_hold_char);
01075 yy_cp = (yy_last_accepting_cpos);
01076 yy_current_state = (yy_last_accepting_state);
01077 goto yy_find_action;
01078
01079 case 1:
01080 YY_RULE_SETUP
01081 #line 120 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01082 { BEGIN(INCL); }
01083 YY_BREAK
01084 case 2:
01085 YY_RULE_SETUP
01086 #line 121 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01087 ;
01088 YY_BREAK
01089 case 3:
01090 YY_RULE_SETUP
01091 #line 122 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01092 { BEGIN(INCL_FILE); }
01093 YY_BREAK
01094 case 4:
01095 YY_RULE_SETUP
01096 #line 123 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01097 { luxError( LUX_SYNTAX,LUX_SEVERE,"Illegal character following Include directive" ); }
01098 YY_BREAK
01099 case 5:
01100 YY_RULE_SETUP
01101 #line 124 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01102 { BEGIN INITIAL; }
01103 YY_BREAK
01104 case 6:
01105 YY_RULE_SETUP
01106 #line 125 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01107 { luxError( LUX_SYNTAX,LUX_SEVERE,"Illegal character in Include file name" ); }
01108 YY_BREAK
01109 case 7:
01110 YY_RULE_SETUP
01111 #line 126 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01112 {
01113 BEGIN(INITIAL);
01114 include_push(yytext);
01115 }
01116 YY_BREAK
01117 case 8:
01118 YY_RULE_SETUP
01119 #line 130 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01120 { BEGIN COMMENT; }
01121 YY_BREAK
01122 case 9:
01123 YY_RULE_SETUP
01124 #line 131 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01125
01126 YY_BREAK
01127 case 10:
01128
01129 YY_RULE_SETUP
01130 #line 132 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01131 { line_num++; BEGIN INITIAL; }
01132 YY_BREAK
01133 case 11:
01134 YY_RULE_SETUP
01135 #line 133 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01136 { return ACCELERATOR; }
01137 YY_BREAK
01138 case 12:
01139 YY_RULE_SETUP
01140 #line 134 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01141 { return AREALIGHTSOURCE; }
01142 YY_BREAK
01143 case 13:
01144 YY_RULE_SETUP
01145 #line 135 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01146 { return ATTRIBUTEBEGIN; }
01147 YY_BREAK
01148 case 14:
01149 YY_RULE_SETUP
01150 #line 136 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01151 { return ATTRIBUTEEND; }
01152 YY_BREAK
01153 case 15:
01154 YY_RULE_SETUP
01155 #line 137 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01156 { return CAMERA; }
01157 YY_BREAK
01158 case 16:
01159 YY_RULE_SETUP
01160 #line 138 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01161 { return CONCATTRANSFORM; }
01162 YY_BREAK
01163 case 17:
01164 YY_RULE_SETUP
01165 #line 139 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01166 { return COORDINATESYSTEM; }
01167 YY_BREAK
01168 case 18:
01169 YY_RULE_SETUP
01170 #line 140 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01171 { return COORDSYSTRANSFORM; }
01172 YY_BREAK
01173 case 19:
01174 YY_RULE_SETUP
01175 #line 141 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01176 { return FILM; }
01177 YY_BREAK
01178 case 20:
01179 YY_RULE_SETUP
01180 #line 142 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01181 { return IDENTITY; }
01182 YY_BREAK
01183 case 21:
01184 YY_RULE_SETUP
01185 #line 143 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01186 { return LIGHTGROUP; }
01187 YY_BREAK
01188 case 22:
01189 YY_RULE_SETUP
01190 #line 144 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01191 { return LIGHTSOURCE; }
01192 YY_BREAK
01193 case 23:
01194 YY_RULE_SETUP
01195 #line 145 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01196 { return LOOKAT; }
01197 YY_BREAK
01198 case 24:
01199 YY_RULE_SETUP
01200 #line 146 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01201 { return MATERIAL; }
01202 YY_BREAK
01203 case 25:
01204 YY_RULE_SETUP
01205 #line 147 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01206 { return MAKENAMEDMATERIAL; }
01207 YY_BREAK
01208 case 26:
01209 YY_RULE_SETUP
01210 #line 148 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01211 { return NAMEDMATERIAL; }
01212 YY_BREAK
01213 case 27:
01214 YY_RULE_SETUP
01215 #line 149 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01216 { return OBJECTBEGIN; }
01217 YY_BREAK
01218 case 28:
01219 YY_RULE_SETUP
01220 #line 150 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01221 { return OBJECTEND; }
01222 YY_BREAK
01223 case 29:
01224 YY_RULE_SETUP
01225 #line 151 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01226 { return OBJECTINSTANCE; }
01227 YY_BREAK
01228 case 30:
01229 YY_RULE_SETUP
01230 #line 152 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01231 { return MOTIONINSTANCE; }
01232 YY_BREAK
01233 case 31:
01234 YY_RULE_SETUP
01235 #line 153 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01236 { return PIXELFILTER; }
01237 YY_BREAK
01238 case 32:
01239 YY_RULE_SETUP
01240 #line 154 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01241 { return REVERSEORIENTATION; }
01242 YY_BREAK
01243 case 33:
01244 YY_RULE_SETUP
01245 #line 155 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01246 { return ROTATE; }
01247 YY_BREAK
01248 case 34:
01249 YY_RULE_SETUP
01250 #line 156 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01251 { return SAMPLER; }
01252 YY_BREAK
01253 case 35:
01254 YY_RULE_SETUP
01255 #line 157 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01256 { return SEARCHPATH; }
01257 YY_BREAK
01258 case 36:
01259 YY_RULE_SETUP
01260 #line 158 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01261 { return SCALE; }
01262 YY_BREAK
01263 case 37:
01264 YY_RULE_SETUP
01265 #line 159 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01266 { return PORTALSHAPE; }
01267 YY_BREAK
01268 case 38:
01269 YY_RULE_SETUP
01270 #line 160 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01271 { return SHAPE; }
01272 YY_BREAK
01273 case 39:
01274 YY_RULE_SETUP
01275 #line 161 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01276 { return SURFACEINTEGRATOR; }
01277 YY_BREAK
01278 case 40:
01279 YY_RULE_SETUP
01280 #line 162 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01281 { return TEXTURE; }
01282 YY_BREAK
01283 case 41:
01284 YY_RULE_SETUP
01285 #line 163 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01286 { return TRANSFORMBEGIN; }
01287 YY_BREAK
01288 case 42:
01289 YY_RULE_SETUP
01290 #line 164 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01291 { return TRANSFORMEND; }
01292 YY_BREAK
01293 case 43:
01294 YY_RULE_SETUP
01295 #line 165 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01296 { return TRANSFORM; }
01297 YY_BREAK
01298 case 44:
01299 YY_RULE_SETUP
01300 #line 166 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01301 { return TRANSLATE; }
01302 YY_BREAK
01303 case 45:
01304 YY_RULE_SETUP
01305 #line 167 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01306 { return VOLUME; }
01307 YY_BREAK
01308 case 46:
01309 YY_RULE_SETUP
01310 #line 168 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01311 { return VOLUMEINTEGRATOR; }
01312 YY_BREAK
01313 case 47:
01314 YY_RULE_SETUP
01315 #line 169 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01316 { return WORLDBEGIN; }
01317 YY_BREAK
01318 case 48:
01319 YY_RULE_SETUP
01320 #line 170 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01321 { return WORLDEND; }
01322 YY_BREAK
01323 case 49:
01324 YY_RULE_SETUP
01325 #line 171 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01326
01327 YY_BREAK
01328 case 50:
01329 YY_RULE_SETUP
01330 #line 172 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01331
01332 YY_BREAK
01333 case 51:
01334
01335 YY_RULE_SETUP
01336 #line 173 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01337 { line_num++; }
01338 YY_BREAK
01339 case 52:
01340 YY_RULE_SETUP
01341 #line 174 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01342 {
01343 yylval.num = (float) atof(yytext);
01344 return NUM;
01345 }
01346 YY_BREAK
01347 case 53:
01348 YY_RULE_SETUP
01349 #line 178 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01350 {
01351 strcpy( yylval.string, yytext );
01352 return ID;
01353 }
01354 YY_BREAK
01355 case 54:
01356 YY_RULE_SETUP
01357 #line 182 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01358 { return LBRACK; }
01359 YY_BREAK
01360 case 55:
01361 YY_RULE_SETUP
01362 #line 183 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01363 { return RBRACK; }
01364 YY_BREAK
01365 case 56:
01366 YY_RULE_SETUP
01367 #line 184 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01368 { BEGIN STR; str_pos = 0; yylval.string[0] = '\0';
01369 }
01370 YY_BREAK
01371 case 57:
01372 YY_RULE_SETUP
01373 #line 186 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01374 {add_string_char('\n');}
01375 YY_BREAK
01376 case 58:
01377 YY_RULE_SETUP
01378 #line 187 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01379 {add_string_char('\t');}
01380 YY_BREAK
01381 case 59:
01382 YY_RULE_SETUP
01383 #line 188 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01384 {add_string_char('\r');}
01385 YY_BREAK
01386 case 60:
01387 YY_RULE_SETUP
01388 #line 189 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01389 {add_string_char('\b');}
01390 YY_BREAK
01391 case 61:
01392 YY_RULE_SETUP
01393 #line 190 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01394 {add_string_char('\f');}
01395 YY_BREAK
01396 case 62:
01397 YY_RULE_SETUP
01398 #line 191 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01399 {add_string_char('\"');}
01400 YY_BREAK
01401 case 63:
01402 YY_RULE_SETUP
01403 #line 192 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01404 {add_string_char('\\');}
01405 YY_BREAK
01406 case 64:
01407 YY_RULE_SETUP
01408 #line 193 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01409 {
01410 int val = atoi(yytext+1);
01411 while(val > 256)
01412 val -= 256;
01413 add_string_char(val);
01414 }
01415 YY_BREAK
01416 case 65:
01417
01418 YY_RULE_SETUP
01419 #line 199 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01420 {line_num++;}
01421 YY_BREAK
01422 case 66:
01423 YY_RULE_SETUP
01424 #line 200 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01425 { add_string_char(yytext[1]);}
01426 YY_BREAK
01427 case 67:
01428 YY_RULE_SETUP
01429 #line 201 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01430 {BEGIN INITIAL; return STRING;}
01431 YY_BREAK
01432 case 68:
01433 YY_RULE_SETUP
01434 #line 202 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01435 {add_string_char(yytext[0]);}
01436 YY_BREAK
01437 case 69:
01438
01439 YY_RULE_SETUP
01440 #line 203 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01441 {luxError( LUX_SYNTAX,LUX_SEVERE,"Unterminated string!");}
01442 YY_BREAK
01443 case 70:
01444 YY_RULE_SETUP
01445 #line 205 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01446 { std::stringstream ss; ss<<"Illegal character: "<<yytext[0]; luxError( LUX_SYNTAX,LUX_SEVERE,ss.str().c_str()); }
01447 YY_BREAK
01448 case 71:
01449 YY_RULE_SETUP
01450 #line 206 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
01451 ECHO;
01452 YY_BREAK
01453 #line 1454 "/builddir/build/BUILD/lux-0.6.1/build/luxlex.cpp"
01454 case YY_STATE_EOF(INITIAL):
01455 case YY_STATE_EOF(STR):
01456 case YY_STATE_EOF(COMMENT):
01457 case YY_STATE_EOF(INCL):
01458 case YY_STATE_EOF(INCL_FILE):
01459 yyterminate();
01460
01461 case YY_END_OF_BUFFER:
01462 {
01463
01464 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
01465
01466
01467 *yy_cp = (yy_hold_char);
01468 YY_RESTORE_YY_MORE_OFFSET
01469
01470 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01471 {
01472
01473
01474
01475
01476
01477
01478
01479
01480
01481 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01482 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01483 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01484 }
01485
01486
01487
01488
01489
01490
01491
01492
01493 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01494 {
01495 yy_state_type yy_next_state;
01496
01497 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
01498
01499 yy_current_state = yy_get_previous_state( );
01500
01501
01502
01503
01504
01505
01506
01507
01508
01509
01510 yy_next_state = yy_try_NUL_trans( yy_current_state );
01511
01512 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01513
01514 if ( yy_next_state )
01515 {
01516
01517 yy_cp = ++(yy_c_buf_p);
01518 yy_current_state = yy_next_state;
01519 goto yy_match;
01520 }
01521
01522 else
01523 {
01524 yy_cp = (yy_c_buf_p);
01525 goto yy_find_action;
01526 }
01527 }
01528
01529 else switch ( yy_get_next_buffer( ) )
01530 {
01531 case EOB_ACT_END_OF_FILE:
01532 {
01533 (yy_did_buffer_switch_on_eof) = 0;
01534
01535 if ( yywrap( ) )
01536 {
01537
01538
01539
01540
01541
01542
01543
01544
01545
01546 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
01547
01548 yy_act = YY_STATE_EOF(YY_START);
01549 goto do_action;
01550 }
01551
01552 else
01553 {
01554 if ( ! (yy_did_buffer_switch_on_eof) )
01555 YY_NEW_FILE;
01556 }
01557 break;
01558 }
01559
01560 case EOB_ACT_CONTINUE_SCAN:
01561 (yy_c_buf_p) =
01562 (yytext_ptr) + yy_amount_of_matched_text;
01563
01564 yy_current_state = yy_get_previous_state( );
01565
01566 yy_cp = (yy_c_buf_p);
01567 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01568 goto yy_match;
01569
01570 case EOB_ACT_LAST_MATCH:
01571 (yy_c_buf_p) =
01572 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
01573
01574 yy_current_state = yy_get_previous_state( );
01575
01576 yy_cp = (yy_c_buf_p);
01577 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01578 goto yy_find_action;
01579 }
01580 break;
01581 }
01582
01583 default:
01584 YY_FATAL_ERROR(
01585 "fatal flex scanner internal error--no action found" );
01586 }
01587 }
01588 }
01589
01590
01591
01592
01593
01594
01595
01596
01597 static int yy_get_next_buffer (void)
01598 {
01599 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01600 register char *source = (yytext_ptr);
01601 register int number_to_move, i;
01602 int ret_val;
01603
01604 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
01605 YY_FATAL_ERROR(
01606 "fatal flex scanner internal error--end of buffer missed" );
01607
01608 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01609 {
01610 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
01611 {
01612
01613
01614
01615 return EOB_ACT_END_OF_FILE;
01616 }
01617
01618 else
01619 {
01620
01621
01622
01623 return EOB_ACT_LAST_MATCH;
01624 }
01625 }
01626
01627
01628
01629
01630 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
01631
01632 for ( i = 0; i < number_to_move; ++i )
01633 *(dest++) = *(source++);
01634
01635 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01636
01637
01638
01639 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
01640
01641 else
01642 {
01643 int num_to_read =
01644 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01645
01646 while ( num_to_read <= 0 )
01647 {
01648
01649
01650 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
01651
01652 int yy_c_buf_p_offset =
01653 (int) ((yy_c_buf_p) - b->yy_ch_buf);
01654
01655 if ( b->yy_is_our_buffer )
01656 {
01657 int new_size = b->yy_buf_size * 2;
01658
01659 if ( new_size <= 0 )
01660 b->yy_buf_size += b->yy_buf_size / 8;
01661 else
01662 b->yy_buf_size *= 2;
01663
01664 b->yy_ch_buf = (char *)
01665
01666 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
01667 }
01668 else
01669
01670 b->yy_ch_buf = 0;
01671
01672 if ( ! b->yy_ch_buf )
01673 YY_FATAL_ERROR(
01674 "fatal error - scanner input buffer overflow" );
01675
01676 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
01677
01678 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
01679 number_to_move - 1;
01680
01681 }
01682
01683 if ( num_to_read > YY_READ_BUF_SIZE )
01684 num_to_read = YY_READ_BUF_SIZE;
01685
01686
01687 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01688 (yy_n_chars), (size_t) num_to_read );
01689
01690 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01691 }
01692
01693 if ( (yy_n_chars) == 0 )
01694 {
01695 if ( number_to_move == YY_MORE_ADJ )
01696 {
01697 ret_val = EOB_ACT_END_OF_FILE;
01698 yyrestart(yyin );
01699 }
01700
01701 else
01702 {
01703 ret_val = EOB_ACT_LAST_MATCH;
01704 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
01705 YY_BUFFER_EOF_PENDING;
01706 }
01707 }
01708
01709 else
01710 ret_val = EOB_ACT_CONTINUE_SCAN;
01711
01712 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
01713
01714 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
01715 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
01716 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
01717 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
01718 }
01719
01720 (yy_n_chars) += number_to_move;
01721 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
01722 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
01723
01724 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
01725
01726 return ret_val;
01727 }
01728
01729
01730
01731 static yy_state_type yy_get_previous_state (void)
01732 {
01733 register yy_state_type yy_current_state;
01734 register char *yy_cp;
01735
01736 yy_current_state = (yy_start);
01737
01738 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
01739 {
01740 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 2);
01741 if ( yy_accept[yy_current_state] )
01742 {
01743 (yy_last_accepting_state) = yy_current_state;
01744 (yy_last_accepting_cpos) = yy_cp;
01745 }
01746 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01747 {
01748 yy_current_state = (int) yy_def[yy_current_state];
01749 if ( yy_current_state >= 400 )
01750 yy_c = yy_meta[(unsigned int) yy_c];
01751 }
01752 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01753 }
01754
01755 return yy_current_state;
01756 }
01757
01758
01759
01760
01761
01762
01763 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
01764 {
01765 register int yy_is_jam;
01766 register char *yy_cp = (yy_c_buf_p);
01767
01768 register YY_CHAR yy_c = 2;
01769 if ( yy_accept[yy_current_state] )
01770 {
01771 (yy_last_accepting_state) = yy_current_state;
01772 (yy_last_accepting_cpos) = yy_cp;
01773 }
01774 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01775 {
01776 yy_current_state = (int) yy_def[yy_current_state];
01777 if ( yy_current_state >= 400 )
01778 yy_c = yy_meta[(unsigned int) yy_c];
01779 }
01780 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01781 yy_is_jam = (yy_current_state == 399);
01782
01783 return yy_is_jam ? 0 : yy_current_state;
01784 }
01785
01786 #ifndef YY_NO_INPUT
01787 #ifdef __cplusplus
01788 static int yyinput (void)
01789 #else
01790 static int input (void)
01791 #endif
01792
01793 {
01794 int c;
01795
01796 *(yy_c_buf_p) = (yy_hold_char);
01797
01798 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
01799 {
01800
01801
01802
01803
01804 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01805
01806 *(yy_c_buf_p) = '\0';
01807
01808 else
01809 {
01810 int offset = (yy_c_buf_p) - (yytext_ptr);
01811 ++(yy_c_buf_p);
01812
01813 switch ( yy_get_next_buffer( ) )
01814 {
01815 case EOB_ACT_LAST_MATCH:
01816
01817
01818
01819
01820
01821
01822
01823
01824
01825
01826
01827 yyrestart(yyin );
01828
01829
01830
01831 case EOB_ACT_END_OF_FILE:
01832 {
01833 if ( yywrap( ) )
01834 return EOF;
01835
01836 if ( ! (yy_did_buffer_switch_on_eof) )
01837 YY_NEW_FILE;
01838 #ifdef __cplusplus
01839 return yyinput();
01840 #else
01841 return input();
01842 #endif
01843 }
01844
01845 case EOB_ACT_CONTINUE_SCAN:
01846 (yy_c_buf_p) = (yytext_ptr) + offset;
01847 break;
01848 }
01849 }
01850 }
01851
01852 c = *(unsigned char *) (yy_c_buf_p);
01853 *(yy_c_buf_p) = '\0';
01854 (yy_hold_char) = *++(yy_c_buf_p);
01855
01856 return c;
01857 }
01858 #endif
01859
01865 void yyrestart (FILE * input_file )
01866 {
01867
01868 if ( ! YY_CURRENT_BUFFER ){
01869 yyensure_buffer_stack ();
01870 YY_CURRENT_BUFFER_LVALUE =
01871 yy_create_buffer(yyin,YY_BUF_SIZE );
01872 }
01873
01874 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
01875 yy_load_buffer_state( );
01876 }
01877
01882 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
01883 {
01884
01885
01886
01887
01888
01889
01890 yyensure_buffer_stack ();
01891 if ( YY_CURRENT_BUFFER == new_buffer )
01892 return;
01893
01894 if ( YY_CURRENT_BUFFER )
01895 {
01896
01897 *(yy_c_buf_p) = (yy_hold_char);
01898 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
01899 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01900 }
01901
01902 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01903 yy_load_buffer_state( );
01904
01905
01906
01907
01908
01909
01910 (yy_did_buffer_switch_on_eof) = 1;
01911 }
01912
01913 static void yy_load_buffer_state (void)
01914 {
01915 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01916 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
01917 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
01918 (yy_hold_char) = *(yy_c_buf_p);
01919 }
01920
01927 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
01928 {
01929 YY_BUFFER_STATE b;
01930
01931 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
01932 if ( ! b )
01933 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01934
01935 b->yy_buf_size = size;
01936
01937
01938
01939
01940 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
01941 if ( ! b->yy_ch_buf )
01942 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01943
01944 b->yy_is_our_buffer = 1;
01945
01946 yy_init_buffer(b,file );
01947
01948 return b;
01949 }
01950
01955 void yy_delete_buffer (YY_BUFFER_STATE b )
01956 {
01957
01958 if ( ! b )
01959 return;
01960
01961 if ( b == YY_CURRENT_BUFFER )
01962 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
01963
01964 if ( b->yy_is_our_buffer )
01965 yyfree((void *) b->yy_ch_buf );
01966
01967 yyfree((void *) b );
01968 }
01969
01970 #ifndef __cplusplus
01971 extern int isatty (int );
01972 #endif
01973
01974
01975
01976
01977
01978 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
01979
01980 {
01981 int oerrno = errno;
01982
01983 yy_flush_buffer(b );
01984
01985 b->yy_input_file = file;
01986 b->yy_fill_buffer = 1;
01987
01988
01989
01990
01991
01992 if (b != YY_CURRENT_BUFFER){
01993 b->yy_bs_lineno = 1;
01994 b->yy_bs_column = 0;
01995 }
01996
01997 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
01998
01999 errno = oerrno;
02000 }
02001
02006 void yy_flush_buffer (YY_BUFFER_STATE b )
02007 {
02008 if ( ! b )
02009 return;
02010
02011 b->yy_n_chars = 0;
02012
02013
02014
02015
02016
02017 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02018 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02019
02020 b->yy_buf_pos = &b->yy_ch_buf[0];
02021
02022 b->yy_at_bol = 1;
02023 b->yy_buffer_status = YY_BUFFER_NEW;
02024
02025 if ( b == YY_CURRENT_BUFFER )
02026 yy_load_buffer_state( );
02027 }
02028
02035 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
02036 {
02037 if (new_buffer == NULL)
02038 return;
02039
02040 yyensure_buffer_stack();
02041
02042
02043 if ( YY_CURRENT_BUFFER )
02044 {
02045
02046 *(yy_c_buf_p) = (yy_hold_char);
02047 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02048 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02049 }
02050
02051
02052 if (YY_CURRENT_BUFFER)
02053 (yy_buffer_stack_top)++;
02054 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02055
02056
02057 yy_load_buffer_state( );
02058 (yy_did_buffer_switch_on_eof) = 1;
02059 }
02060
02065 void yypop_buffer_state (void)
02066 {
02067 if (!YY_CURRENT_BUFFER)
02068 return;
02069
02070 yy_delete_buffer(YY_CURRENT_BUFFER );
02071 YY_CURRENT_BUFFER_LVALUE = NULL;
02072 if ((yy_buffer_stack_top) > 0)
02073 --(yy_buffer_stack_top);
02074
02075 if (YY_CURRENT_BUFFER) {
02076 yy_load_buffer_state( );
02077 (yy_did_buffer_switch_on_eof) = 1;
02078 }
02079 }
02080
02081
02082
02083
02084 static void yyensure_buffer_stack (void)
02085 {
02086 int num_to_alloc;
02087
02088 if (!(yy_buffer_stack)) {
02089
02090
02091
02092
02093
02094 num_to_alloc = 1;
02095 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
02096 (num_to_alloc * sizeof(struct yy_buffer_state*)
02097 );
02098 if ( ! (yy_buffer_stack) )
02099 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
02100
02101 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02102
02103 (yy_buffer_stack_max) = num_to_alloc;
02104 (yy_buffer_stack_top) = 0;
02105 return;
02106 }
02107
02108 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
02109
02110
02111 int grow_size = 8 ;
02112
02113 num_to_alloc = (yy_buffer_stack_max) + grow_size;
02114 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
02115 ((yy_buffer_stack),
02116 num_to_alloc * sizeof(struct yy_buffer_state*)
02117 );
02118 if ( ! (yy_buffer_stack) )
02119 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
02120
02121
02122 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
02123 (yy_buffer_stack_max) = num_to_alloc;
02124 }
02125 }
02126
02133 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
02134 {
02135 YY_BUFFER_STATE b;
02136
02137 if ( size < 2 ||
02138 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02139 base[size-1] != YY_END_OF_BUFFER_CHAR )
02140
02141 return 0;
02142
02143 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02144 if ( ! b )
02145 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02146
02147 b->yy_buf_size = size - 2;
02148 b->yy_buf_pos = b->yy_ch_buf = base;
02149 b->yy_is_our_buffer = 0;
02150 b->yy_input_file = 0;
02151 b->yy_n_chars = b->yy_buf_size;
02152 b->yy_is_interactive = 0;
02153 b->yy_at_bol = 1;
02154 b->yy_fill_buffer = 0;
02155 b->yy_buffer_status = YY_BUFFER_NEW;
02156
02157 yy_switch_to_buffer(b );
02158
02159 return b;
02160 }
02161
02170 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
02171 {
02172
02173 return yy_scan_bytes(yystr,strlen(yystr) );
02174 }
02175
02183 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
02184 {
02185 YY_BUFFER_STATE b;
02186 char *buf;
02187 yy_size_t n;
02188 int i;
02189
02190
02191 n = _yybytes_len + 2;
02192 buf = (char *) yyalloc(n );
02193 if ( ! buf )
02194 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02195
02196 for ( i = 0; i < _yybytes_len; ++i )
02197 buf[i] = yybytes[i];
02198
02199 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02200
02201 b = yy_scan_buffer(buf,n );
02202 if ( ! b )
02203 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02204
02205
02206
02207
02208 b->yy_is_our_buffer = 1;
02209
02210 return b;
02211 }
02212
02213 #ifndef YY_EXIT_FAILURE
02214 #define YY_EXIT_FAILURE 2
02215 #endif
02216
02217 static void yy_fatal_error (yyconst char* msg )
02218 {
02219 (void) fprintf( stderr, "%s\n", msg );
02220 exit( YY_EXIT_FAILURE );
02221 }
02222
02223
02224
02225 #undef yyless
02226 #define yyless(n) \
02227 do \
02228 { \
02229 \
02230 int yyless_macro_arg = (n); \
02231 YY_LESS_LINENO(yyless_macro_arg);\
02232 yytext[yyleng] = (yy_hold_char); \
02233 (yy_c_buf_p) = yytext + yyless_macro_arg; \
02234 (yy_hold_char) = *(yy_c_buf_p); \
02235 *(yy_c_buf_p) = '\0'; \
02236 yyleng = yyless_macro_arg; \
02237 } \
02238 while ( 0 )
02239
02240
02241
02245 int yyget_lineno (void)
02246 {
02247
02248 return yylineno;
02249 }
02250
02254 FILE *yyget_in (void)
02255 {
02256 return yyin;
02257 }
02258
02262 FILE *yyget_out (void)
02263 {
02264 return yyout;
02265 }
02266
02270 int yyget_leng (void)
02271 {
02272 return yyleng;
02273 }
02274
02279 char *yyget_text (void)
02280 {
02281 return yytext;
02282 }
02283
02288 void yyset_lineno (int line_number )
02289 {
02290
02291 yylineno = line_number;
02292 }
02293
02300 void yyset_in (FILE * in_str )
02301 {
02302 yyin = in_str ;
02303 }
02304
02305 void yyset_out (FILE * out_str )
02306 {
02307 yyout = out_str ;
02308 }
02309
02310 int yyget_debug (void)
02311 {
02312 return yy_flex_debug;
02313 }
02314
02315 void yyset_debug (int bdebug )
02316 {
02317 yy_flex_debug = bdebug ;
02318 }
02319
02320 static int yy_init_globals (void)
02321 {
02322
02323
02324
02325
02326 (yy_buffer_stack) = 0;
02327 (yy_buffer_stack_top) = 0;
02328 (yy_buffer_stack_max) = 0;
02329 (yy_c_buf_p) = (char *) 0;
02330 (yy_init) = 0;
02331 (yy_start) = 0;
02332
02333
02334 #ifdef YY_STDINIT
02335 yyin = stdin;
02336 yyout = stdout;
02337 #else
02338 yyin = (FILE *) 0;
02339 yyout = (FILE *) 0;
02340 #endif
02341
02342
02343
02344
02345 return 0;
02346 }
02347
02348
02349 int yylex_destroy (void)
02350 {
02351
02352
02353 while(YY_CURRENT_BUFFER){
02354 yy_delete_buffer(YY_CURRENT_BUFFER );
02355 YY_CURRENT_BUFFER_LVALUE = NULL;
02356 yypop_buffer_state();
02357 }
02358
02359
02360 yyfree((yy_buffer_stack) );
02361 (yy_buffer_stack) = NULL;
02362
02363
02364
02365 yy_init_globals( );
02366
02367 return 0;
02368 }
02369
02370
02371
02372
02373
02374 #ifndef yytext_ptr
02375 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
02376 {
02377 register int i;
02378 for ( i = 0; i < n; ++i )
02379 s1[i] = s2[i];
02380 }
02381 #endif
02382
02383 #ifdef YY_NEED_STRLEN
02384 static int yy_flex_strlen (yyconst char * s )
02385 {
02386 register int n;
02387 for ( n = 0; s[n]; ++n )
02388 ;
02389
02390 return n;
02391 }
02392 #endif
02393
02394 void *yyalloc (yy_size_t size )
02395 {
02396 return (void *) malloc( size );
02397 }
02398
02399 void *yyrealloc (void * ptr, yy_size_t size )
02400 {
02401
02402
02403
02404
02405
02406
02407
02408 return (void *) realloc( (char *) ptr, size );
02409 }
02410
02411 void yyfree (void * ptr )
02412 {
02413 free( (char *) ptr );
02414 }
02415
02416 #define YYTABLES_NAME "yytables"
02417
02418 #line 206 "/builddir/build/BUILD/lux-0.6.1/core/luxlex.l"
02419
02420
02421 int yywrap(void)
02422 {
02423 if (includeStack.size() ==0) return 1;
02424 include_pop();
02425 BEGIN(INCL_FILE);
02426 return 0;
02427 }
02428
02429