00001 #line 2 "src/Robots/LoBot/metlog/LoMetlogParser.C"
00002
00003 #line 4 "src/Robots/LoBot/metlog/LoMetlogParser.C"
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
00058
00059 #ifndef INT8_MIN
00060 #define INT8_MIN (-128)
00061 #endif
00062 #ifndef INT16_MIN
00063 #define INT16_MIN (-32767-1)
00064 #endif
00065 #ifndef INT32_MIN
00066 #define INT32_MIN (-2147483647-1)
00067 #endif
00068 #ifndef INT8_MAX
00069 #define INT8_MAX (127)
00070 #endif
00071 #ifndef INT16_MAX
00072 #define INT16_MAX (32767)
00073 #endif
00074 #ifndef INT32_MAX
00075 #define INT32_MAX (2147483647)
00076 #endif
00077 #ifndef UINT8_MAX
00078 #define UINT8_MAX (255U)
00079 #endif
00080 #ifndef UINT16_MAX
00081 #define UINT16_MAX (65535U)
00082 #endif
00083 #ifndef UINT32_MAX
00084 #define UINT32_MAX (4294967295U)
00085 #endif
00086
00087 #endif
00088
00089 #endif
00090
00091 #ifdef __cplusplus
00092
00093
00094 #define YY_USE_CONST
00095
00096 #else
00097
00098
00099 #if defined (__STDC__)
00100
00101 #define YY_USE_CONST
00102
00103 #endif
00104 #endif
00105
00106 #ifdef YY_USE_CONST
00107 #define yyconst const
00108 #else
00109 #define yyconst
00110 #endif
00111
00112
00113 #define YY_NULL 0
00114
00115
00116
00117
00118
00119
00120 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00121
00122
00123 #ifndef YY_TYPEDEF_YY_SCANNER_T
00124 #define YY_TYPEDEF_YY_SCANNER_T
00125 typedef void* yyscan_t;
00126 #endif
00127
00128
00129
00130 #define yyin yyg->yyin_r
00131 #define yyout yyg->yyout_r
00132 #define yyextra yyg->yyextra_r
00133 #define yyleng yyg->yyleng_r
00134 #define yytext yyg->yytext_r
00135 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00136 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00137 #define yy_flex_debug yyg->yy_flex_debug_r
00138
00139
00140
00141
00142
00143 #define BEGIN yyg->yy_start = 1 + 2 *
00144
00145
00146
00147
00148
00149 #define YY_START ((yyg->yy_start - 1) / 2)
00150 #define YYSTATE YY_START
00151
00152
00153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00154
00155
00156 #define YY_NEW_FILE lomet_parser_restart(yyin ,yyscanner )
00157
00158 #define YY_END_OF_BUFFER_CHAR 0
00159
00160
00161 #ifndef YY_BUF_SIZE
00162 #ifdef __ia64__
00163
00164
00165
00166
00167 #define YY_BUF_SIZE 32768
00168 #else
00169 #define YY_BUF_SIZE 16384
00170 #endif
00171 #endif
00172
00173
00174
00175 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00176
00177 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00178 #define YY_TYPEDEF_YY_BUFFER_STATE
00179 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00180 #endif
00181
00182 #define EOB_ACT_CONTINUE_SCAN 0
00183 #define EOB_ACT_END_OF_FILE 1
00184 #define EOB_ACT_LAST_MATCH 2
00185
00186 #define YY_LESS_LINENO(n)
00187
00188
00189 #define yyless(n) \
00190 do \
00191 { \
00192 \
00193 int yyless_macro_arg = (n); \
00194 YY_LESS_LINENO(yyless_macro_arg);\
00195 *yy_cp = yyg->yy_hold_char; \
00196 YY_RESTORE_YY_MORE_OFFSET \
00197 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00198 YY_DO_BEFORE_ACTION; \
00199 } \
00200 while ( 0 )
00201
00202 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
00203
00204 #ifndef YY_TYPEDEF_YY_SIZE_T
00205 #define YY_TYPEDEF_YY_SIZE_T
00206 typedef size_t yy_size_t;
00207 #endif
00208
00209 #ifndef YY_STRUCT_YY_BUFFER_STATE
00210 #define YY_STRUCT_YY_BUFFER_STATE
00211 struct yy_buffer_state
00212 {
00213 FILE *yy_input_file;
00214
00215 char *yy_ch_buf;
00216 char *yy_buf_pos;
00217
00218
00219
00220
00221 yy_size_t yy_buf_size;
00222
00223
00224
00225
00226 int yy_n_chars;
00227
00228
00229
00230
00231
00232 int yy_is_our_buffer;
00233
00234
00235
00236
00237
00238
00239 int yy_is_interactive;
00240
00241
00242
00243
00244
00245 int yy_at_bol;
00246
00247 int yy_bs_lineno;
00248 int yy_bs_column;
00249
00250
00251
00252
00253 int yy_fill_buffer;
00254
00255 int yy_buffer_status;
00256
00257 #define YY_BUFFER_NEW 0
00258 #define YY_BUFFER_NORMAL 1
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269 #define YY_BUFFER_EOF_PENDING 2
00270
00271 };
00272 #endif
00273
00274
00275
00276
00277
00278
00279
00280 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00281 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00282 : NULL)
00283
00284
00285
00286
00287 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00288
00289 void lomet_parser_restart (FILE *input_file ,yyscan_t yyscanner );
00290 void lomet_parser__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00291 YY_BUFFER_STATE lomet_parser__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00292 void lomet_parser__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00293 void lomet_parser__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00294 void lomet_parser_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00295 void lomet_parser_pop_buffer_state (yyscan_t yyscanner );
00296
00297 static void lomet_parser_ensure_buffer_stack (yyscan_t yyscanner );
00298 static void lomet_parser__load_buffer_state (yyscan_t yyscanner );
00299 static void lomet_parser__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00300
00301 #define YY_FLUSH_BUFFER lomet_parser__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00302
00303 YY_BUFFER_STATE lomet_parser__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00304 YY_BUFFER_STATE lomet_parser__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00305 YY_BUFFER_STATE lomet_parser__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00306
00307 void *lomet_parser_alloc (yy_size_t ,yyscan_t yyscanner );
00308 void *lomet_parser_realloc (void *,yy_size_t ,yyscan_t yyscanner );
00309 void lomet_parser_free (void * ,yyscan_t yyscanner );
00310
00311 #define yy_new_buffer lomet_parser__create_buffer
00312
00313 #define yy_set_interactive(is_interactive) \
00314 { \
00315 if ( ! YY_CURRENT_BUFFER ){ \
00316 lomet_parser_ensure_buffer_stack (yyscanner); \
00317 YY_CURRENT_BUFFER_LVALUE = \
00318 lomet_parser__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00319 } \
00320 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00321 }
00322
00323 #define yy_set_bol(at_bol) \
00324 { \
00325 if ( ! YY_CURRENT_BUFFER ){\
00326 lomet_parser_ensure_buffer_stack (yyscanner); \
00327 YY_CURRENT_BUFFER_LVALUE = \
00328 lomet_parser__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00329 } \
00330 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00331 }
00332
00333 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00334
00335 #define lomet_parser_wrap(n) 1
00336 #define YY_SKIP_YYWRAP
00337
00338 typedef unsigned char YY_CHAR;
00339
00340 typedef int yy_state_type;
00341
00342 #define yytext_ptr yytext_r
00343
00344 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
00345 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
00346 static int yy_get_next_buffer (yyscan_t yyscanner );
00347 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
00348
00349
00350
00351
00352 #define YY_DO_BEFORE_ACTION \
00353 yyg->yytext_ptr = yy_bp; \
00354 yyleng = (size_t) (yy_cp - yy_bp); \
00355 yyg->yy_hold_char = *yy_cp; \
00356 *yy_cp = '\0'; \
00357 yyg->yy_c_buf_p = yy_cp;
00358
00359 #define YY_NUM_RULES 17
00360 #define YY_END_OF_BUFFER 18
00361
00362
00363 struct yy_trans_info
00364 {
00365 flex_int32_t yy_verify;
00366 flex_int32_t yy_nxt;
00367 };
00368 static yyconst flex_int16_t yy_accept[116] =
00369 { 0,
00370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00371 18, 17, 17, 17, 17, 17, 17, 17, 1, 17,
00372 4, 11, 11, 10, 13, 13, 12, 16, 16, 15,
00373 0, 0, 0, 0, 0, 0, 0, 1, 0, 4,
00374 10, 12, 15, 15, 0, 0, 0, 0, 0, 0,
00375 0, 15, 9, 0, 0, 0, 0, 0, 0, 0,
00376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00378 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
00379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00380
00381 0, 0, 0, 3, 2, 0, 0, 0, 0, 5,
00382 0, 6, 7, 14, 0
00383 } ;
00384
00385 static yyconst flex_int32_t yy_ec[256] =
00386 { 0,
00387 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
00388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00390 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
00391 1, 1, 4, 1, 4, 5, 1, 6, 6, 6,
00392 6, 6, 6, 6, 6, 6, 6, 1, 1, 1,
00393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00395 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00396 1, 1, 1, 1, 7, 1, 8, 9, 10, 11,
00397
00398 12, 1, 13, 14, 15, 1, 16, 17, 18, 19,
00399 20, 21, 1, 22, 23, 24, 25, 1, 1, 26,
00400 27, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00401 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00406 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00407 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00408
00409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00410 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00413 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00414 1, 1, 1, 1, 1
00415 } ;
00416
00417 static yyconst flex_int32_t yy_meta[28] =
00418 { 0,
00419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00421 1, 1, 1, 1, 1, 1, 1
00422 } ;
00423
00424 static yyconst flex_int16_t yy_base[122] =
00425 { 0,
00426 0, 19, 131, 130, 0, 1, 9, 12, 28, 31,
00427 131, 134, 105, 1, 116, 116, 115, 104, 119, 122,
00428 134, 134, 117, 116, 134, 115, 114, 134, 113, 15,
00429 100, 105, 92, 97, 106, 101, 104, 105, 108, 134,
00430 103, 102, 33, 101, 85, 83, 82, 92, 92, 85,
00431 90, 93, 134, 85, 82, 89, 81, 79, 77, 80,
00432 81, 78, 77, 69, 72, 67, 77, 58, 72, 69,
00433 62, 70, 55, 54, 74, 73, 62, 47, 61, 50,
00434 58, 57, 66, 65, 134, 52, 46, 45, 23, 41,
00435 53, 54, 53, 40, 38, 34, 49, 39, 38, 31,
00436
00437 41, 32, 27, 134, 134, 38, 37, 27, 35, 134,
00438 34, 134, 134, 134, 134, 39, 28, 25, 9, 7,
00439 0
00440 } ;
00441
00442 static yyconst flex_int16_t yy_def[122] =
00443 { 0,
00444 116, 116, 117, 117, 118, 118, 119, 119, 120, 120,
00445 115, 115, 115, 115, 115, 115, 115, 115, 115, 121,
00446 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00447 115, 115, 115, 115, 115, 115, 115, 115, 121, 115,
00448 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00449 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00450 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00451 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00452 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00453 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00454
00455 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00456 115, 115, 115, 115, 0, 115, 115, 115, 115, 115,
00457 115
00458 } ;
00459
00460 static yyconst flex_int16_t yy_nxt[162] =
00461 { 0,
00462 39, 12, 12, 23, 23, 24, 24, 28, 13, 25,
00463 12, 14, 26, 12, 27, 26, 15, 27, 32, 44,
00464 43, 16, 17, 18, 19, 22, 33, 13, 20, 12,
00465 14, 29, 12, 30, 29, 15, 30, 44, 43, 12,
00466 16, 17, 18, 94, 114, 95, 113, 112, 111, 110,
00467 109, 108, 107, 106, 105, 104, 103, 102, 101, 100,
00468 99, 98, 97, 96, 93, 92, 91, 90, 89, 88,
00469 87, 86, 85, 84, 83, 82, 81, 80, 79, 78,
00470 77, 76, 75, 74, 73, 72, 71, 70, 69, 68,
00471 67, 66, 65, 64, 63, 62, 61, 60, 52, 59,
00472
00473 58, 57, 56, 55, 54, 53, 52, 42, 41, 40,
00474 38, 51, 50, 49, 48, 47, 46, 45, 43, 42,
00475 42, 41, 41, 40, 38, 37, 36, 35, 34, 31,
00476 115, 21, 21, 11, 115, 115, 115, 115, 115, 115,
00477 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00478 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00479 115
00480 } ;
00481
00482 static yyconst flex_int16_t yy_chk[162] =
00483 { 0,
00484 121, 5, 6, 5, 6, 5, 6, 120, 1, 119,
00485 7, 1, 7, 8, 7, 8, 1, 8, 14, 30,
00486 30, 1, 1, 1, 2, 118, 14, 2, 117, 9,
00487 2, 9, 10, 9, 10, 2, 10, 43, 43, 116,
00488 2, 2, 2, 89, 111, 89, 109, 108, 107, 106,
00489 103, 102, 101, 100, 99, 98, 97, 96, 95, 94,
00490 93, 92, 91, 90, 88, 87, 86, 84, 83, 82,
00491 81, 80, 79, 78, 77, 76, 75, 74, 73, 72,
00492 71, 70, 69, 68, 67, 66, 65, 64, 63, 62,
00493 61, 60, 59, 58, 57, 56, 55, 54, 52, 51,
00494
00495 50, 49, 48, 47, 46, 45, 44, 42, 41, 39,
00496 38, 37, 36, 35, 34, 33, 32, 31, 29, 27,
00497 26, 24, 23, 20, 19, 18, 17, 16, 15, 13,
00498 11, 4, 3, 115, 115, 115, 115, 115, 115, 115,
00499 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00500 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
00501 115
00502 } ;
00503
00504
00505
00506
00507 #define REJECT reject_used_but_not_detected
00508 #define yymore() yymore_used_but_not_detected
00509 #define YY_MORE_ADJ 0
00510 #define YY_RESTORE_YY_MORE_OFFSET
00511 #line 1 "src/Robots/LoBot/metlog/LoMetlogParser.l"
00512
00513 #line 3 "src/Robots/LoBot/metlog/LoMetlogParser.l"
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537 #include "Robots/LoBot/metlog/LoExperiment.H"
00538 #include "Robots/LoBot/metlog/LoPointTypes.H"
00539 #include "Robots/LoBot/util/LoString.H"
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559 #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
00560 #pragma GCC diagnostic ignored "-Wsign-compare"
00561 #endif
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573 #define YY_EXTRA_TYPE lobot::Experiment*
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586 #define ECHO
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630 #line 631 "src/Robots/LoBot/metlog/LoMetlogParser.C"
00631
00632 #define INITIAL 0
00633 #define LOMP_GOAL_POSE 1
00634 #define LOMP_POSE_X 2
00635 #define LOMP_POSE_Y 3
00636 #define LOMP_SPEED 4
00637
00638 #ifndef YY_NO_UNISTD_H
00639
00640
00641
00642
00643 #include <unistd.h>
00644 #endif
00645
00646 #ifndef YY_EXTRA_TYPE
00647 #define YY_EXTRA_TYPE void *
00648 #endif
00649
00650
00651 struct yyguts_t
00652 {
00653
00654
00655 YY_EXTRA_TYPE yyextra_r;
00656
00657
00658 FILE *yyin_r, *yyout_r;
00659 size_t yy_buffer_stack_top;
00660 size_t yy_buffer_stack_max;
00661 YY_BUFFER_STATE * yy_buffer_stack;
00662 char yy_hold_char;
00663 int yy_n_chars;
00664 int yyleng_r;
00665 char *yy_c_buf_p;
00666 int yy_init;
00667 int yy_start;
00668 int yy_did_buffer_switch_on_eof;
00669 int yy_start_stack_ptr;
00670 int yy_start_stack_depth;
00671 int *yy_start_stack;
00672 yy_state_type yy_last_accepting_state;
00673 char* yy_last_accepting_cpos;
00674
00675 int yylineno_r;
00676 int yy_flex_debug_r;
00677
00678 char *yytext_r;
00679 int yy_more_flag;
00680 int yy_more_len;
00681
00682 };
00683
00684 static int yy_init_globals (yyscan_t yyscanner );
00685
00686 int lomet_parser_lex_init (yyscan_t* scanner);
00687
00688 int lomet_parser_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
00689
00690
00691
00692
00693 int lomet_parser_lex_destroy (yyscan_t yyscanner );
00694
00695 int lomet_parser_get_debug (yyscan_t yyscanner );
00696
00697 void lomet_parser_set_debug (int debug_flag ,yyscan_t yyscanner );
00698
00699 YY_EXTRA_TYPE lomet_parser_get_extra (yyscan_t yyscanner );
00700
00701 void lomet_parser_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
00702
00703 FILE *lomet_parser_get_in (yyscan_t yyscanner );
00704
00705 void lomet_parser_set_in (FILE * in_str ,yyscan_t yyscanner );
00706
00707 FILE *lomet_parser_get_out (yyscan_t yyscanner );
00708
00709 void lomet_parser_set_out (FILE * out_str ,yyscan_t yyscanner );
00710
00711 int lomet_parser_get_leng (yyscan_t yyscanner );
00712
00713 char *lomet_parser_get_text (yyscan_t yyscanner );
00714
00715 int lomet_parser_get_lineno (yyscan_t yyscanner );
00716
00717 void lomet_parser_set_lineno (int line_number ,yyscan_t yyscanner );
00718
00719
00720
00721
00722
00723 #ifndef YY_SKIP_YYWRAP
00724 #ifdef __cplusplus
00725 extern "C" int lomet_parser_wrap (yyscan_t yyscanner );
00726 #else
00727 extern int lomet_parser_wrap (yyscan_t yyscanner );
00728 #endif
00729 #endif
00730
00731 #ifndef yytext_ptr
00732 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
00733 #endif
00734
00735 #ifdef YY_NEED_STRLEN
00736 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
00737 #endif
00738
00739 #ifndef YY_NO_INPUT
00740
00741 #ifdef __cplusplus
00742 static int yyinput (yyscan_t yyscanner );
00743 #else
00744 static int input (yyscan_t yyscanner );
00745 #endif
00746
00747 #endif
00748
00749
00750 #ifndef YY_READ_BUF_SIZE
00751 #ifdef __ia64__
00752
00753 #define YY_READ_BUF_SIZE 16384
00754 #else
00755 #define YY_READ_BUF_SIZE 8192
00756 #endif
00757 #endif
00758
00759
00760 #ifndef ECHO
00761
00762
00763
00764 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
00765 #endif
00766
00767
00768
00769
00770 #ifndef YY_INPUT
00771 #define YY_INPUT(buf,result,max_size) \
00772 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
00773 { \
00774 int c = '*'; \
00775 size_t n; \
00776 for ( n = 0; n < max_size && \
00777 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00778 buf[n] = (char) c; \
00779 if ( c == '\n' ) \
00780 buf[n++] = (char) c; \
00781 if ( c == EOF && ferror( yyin ) ) \
00782 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00783 result = n; \
00784 } \
00785 else \
00786 { \
00787 errno=0; \
00788 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00789 { \
00790 if( errno != EINTR) \
00791 { \
00792 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00793 break; \
00794 } \
00795 errno=0; \
00796 clearerr(yyin); \
00797 } \
00798 }\
00799 \
00800
00801 #endif
00802
00803
00804
00805
00806
00807 #ifndef yyterminate
00808 #define yyterminate() return YY_NULL
00809 #endif
00810
00811
00812 #ifndef YY_START_STACK_INCR
00813 #define YY_START_STACK_INCR 25
00814 #endif
00815
00816
00817 #ifndef YY_FATAL_ERROR
00818 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
00819 #endif
00820
00821
00822
00823
00824
00825
00826 #ifndef YY_DECL
00827 #define YY_DECL_IS_OURS 1
00828
00829 extern int lomet_parser_lex (yyscan_t yyscanner);
00830
00831 #define YY_DECL int lomet_parser_lex (yyscan_t yyscanner)
00832 #endif
00833
00834
00835
00836
00837 #ifndef YY_USER_ACTION
00838 #define YY_USER_ACTION
00839 #endif
00840
00841
00842 #ifndef YY_BREAK
00843 #define YY_BREAK break;
00844 #endif
00845
00846 #define YY_RULE_SETUP \
00847 if ( yyleng > 0 ) \
00848 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
00849 (yytext[yyleng - 1] == '\n'); \
00850 YY_USER_ACTION
00851
00852
00853
00854 YY_DECL
00855 {
00856 register yy_state_type yy_current_state;
00857 register char *yy_cp, *yy_bp;
00858 register int yy_act;
00859 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
00860
00861 #line 134 "src/Robots/LoBot/metlog/LoMetlogParser.l"
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875
00876 long long int lomp_time_stamp = 0 ;
00877
00878
00879
00880
00881 lobot::PointListName lomp_pose_target = lobot::TRAJECTORY ;
00882
00883
00884
00885 int lomp_pose_x = 0, lomp_pose_y = 0 ;
00886
00887
00888
00889
00890
00891
00892
00893
00894 #line 895 "src/Robots/LoBot/metlog/LoMetlogParser.C"
00895
00896 if ( !yyg->yy_init )
00897 {
00898 yyg->yy_init = 1;
00899
00900 #ifdef YY_USER_INIT
00901 YY_USER_INIT;
00902 #endif
00903
00904 if ( ! yyg->yy_start )
00905 yyg->yy_start = 1;
00906
00907 if ( ! yyin )
00908 yyin = stdin;
00909
00910 if ( ! yyout )
00911 yyout = stdout;
00912
00913 if ( ! YY_CURRENT_BUFFER ) {
00914 lomet_parser_ensure_buffer_stack (yyscanner);
00915 YY_CURRENT_BUFFER_LVALUE =
00916 lomet_parser__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
00917 }
00918
00919 lomet_parser__load_buffer_state(yyscanner );
00920 }
00921
00922 while ( 1 )
00923 {
00924 yy_cp = yyg->yy_c_buf_p;
00925
00926
00927 *yy_cp = yyg->yy_hold_char;
00928
00929
00930
00931
00932 yy_bp = yy_cp;
00933
00934 yy_current_state = yyg->yy_start;
00935 yy_current_state += YY_AT_BOL();
00936 yy_match:
00937 do
00938 {
00939 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00940 if ( yy_accept[yy_current_state] )
00941 {
00942 yyg->yy_last_accepting_state = yy_current_state;
00943 yyg->yy_last_accepting_cpos = yy_cp;
00944 }
00945 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00946 {
00947 yy_current_state = (int) yy_def[yy_current_state];
00948 if ( yy_current_state >= 116 )
00949 yy_c = yy_meta[(unsigned int) yy_c];
00950 }
00951 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00952 ++yy_cp;
00953 }
00954 while ( yy_current_state != 115 );
00955 yy_cp = yyg->yy_last_accepting_cpos;
00956 yy_current_state = yyg->yy_last_accepting_state;
00957
00958 yy_find_action:
00959 yy_act = yy_accept[yy_current_state];
00960
00961 YY_DO_BEFORE_ACTION;
00962
00963 do_action:
00964
00965 switch ( yy_act )
00966 {
00967 case 0:
00968
00969 *yy_cp = yyg->yy_hold_char;
00970 yy_cp = yyg->yy_last_accepting_cpos;
00971 yy_current_state = yyg->yy_last_accepting_state;
00972 goto yy_find_action;
00973
00974 case 1:
00975 YY_RULE_SETUP
00976 #line 166 "src/Robots/LoBot/metlog/LoMetlogParser.l"
00977 {
00978 lomp_time_stamp = lobot::from_string<long long int>(yytext) ;
00979 }
00980 YY_BREAK
00981
00982
00983
00984
00985
00986
00987
00988
00989
00990 case 2:
00991 YY_RULE_SETUP
00992 #line 179 "src/Robots/LoBot/metlog/LoMetlogParser.l"
00993 {
00994 yyextra->start_time(lomp_time_stamp) ;
00995 BEGIN(LOMP_GOAL_POSE) ;
00996 }
00997 YY_BREAK
00998 case 3:
00999 YY_RULE_SETUP
01000 #line 184 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01001 {
01002 yyextra->finis_time(lomp_time_stamp) ;
01003 BEGIN(LOMP_GOAL_POSE) ;
01004 }
01005 YY_BREAK
01006 case 4:
01007
01008 YY_RULE_SETUP
01009 #line 189 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01010 {
01011
01012
01013
01014
01015
01016 lomp_pose_target = lobot::TRAJECTORY ;
01017 BEGIN(LOMP_POSE_X) ;
01018 }
01019 YY_BREAK
01020
01021
01022
01023
01024 case 5:
01025 YY_RULE_SETUP
01026 #line 203 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01027 {
01028 lomp_pose_target = lobot::TRAJECTORY ;
01029 BEGIN(LOMP_POSE_X) ;
01030 }
01031 YY_BREAK
01032 case 6:
01033 YY_RULE_SETUP
01034 #line 208 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01035 {
01036 lomp_pose_target = lobot::EMERGENCY_STOP ;
01037 BEGIN(LOMP_POSE_X) ;
01038 }
01039 YY_BREAK
01040 case 7:
01041 YY_RULE_SETUP
01042 #line 213 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01043 {
01044 lomp_pose_target = lobot::LGMD_EXTRICATE ;
01045 BEGIN(LOMP_POSE_X) ;
01046 }
01047 YY_BREAK
01048 case 8:
01049 YY_RULE_SETUP
01050 #line 218 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01051 {
01052 lomp_pose_target = lobot::EXTRICATE ;
01053 BEGIN(LOMP_POSE_X) ;
01054 }
01055 YY_BREAK
01056 case 9:
01057 YY_RULE_SETUP
01058 #line 223 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01059 {
01060 lomp_pose_target = lobot::BUMP ;
01061 BEGIN(LOMP_POSE_X) ;
01062 }
01063 YY_BREAK
01064
01065
01066
01067
01068
01069
01070 case 10:
01071 YY_RULE_SETUP
01072 #line 234 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01073 {
01074 lomp_pose_x = lobot::from_string<int>(yytext) ;
01075 BEGIN(LOMP_POSE_Y) ;
01076 }
01077 YY_BREAK
01078 case 11:
01079 YY_RULE_SETUP
01080 #line 239 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01081 {}
01082 YY_BREAK
01083
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093 case 12:
01094 YY_RULE_SETUP
01095 #line 251 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01096 {
01097 lomp_pose_y = lobot::from_string<int>(yytext) ;
01098 yyextra->add_point(lomp_pose_target, lomp_pose_x, lomp_pose_y) ;
01099 BEGIN(INITIAL) ;
01100 }
01101 YY_BREAK
01102 case 13:
01103 YY_RULE_SETUP
01104 #line 257 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01105 {}
01106 YY_BREAK
01107
01108
01109
01110
01111
01112 case 14:
01113 YY_RULE_SETUP
01114 #line 264 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01115 {
01116 BEGIN(LOMP_SPEED) ;
01117 }
01118 YY_BREAK
01119 case 15:
01120 YY_RULE_SETUP
01121 #line 268 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01122 {
01123 yyextra->add_speed(lobot::from_string<float>(yytext)) ;
01124 BEGIN(INITIAL) ;
01125 }
01126 YY_BREAK
01127 case 16:
01128 YY_RULE_SETUP
01129 #line 273 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01130 {}
01131 YY_BREAK
01132 case 17:
01133 YY_RULE_SETUP
01134 #line 274 "src/Robots/LoBot/metlog/LoMetlogParser.l"
01135 ECHO;
01136 YY_BREAK
01137 #line 1138 "src/Robots/LoBot/metlog/LoMetlogParser.C"
01138 case YY_STATE_EOF(INITIAL):
01139 case YY_STATE_EOF(LOMP_GOAL_POSE):
01140 case YY_STATE_EOF(LOMP_POSE_X):
01141 case YY_STATE_EOF(LOMP_POSE_Y):
01142 case YY_STATE_EOF(LOMP_SPEED):
01143 yyterminate();
01144
01145 case YY_END_OF_BUFFER:
01146 {
01147
01148 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
01149
01150
01151 *yy_cp = yyg->yy_hold_char;
01152 YY_RESTORE_YY_MORE_OFFSET
01153
01154 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01155 {
01156
01157
01158
01159
01160
01161
01162
01163
01164
01165 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01166 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01167 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01168 }
01169
01170
01171
01172
01173
01174
01175
01176
01177 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01178 {
01179 yy_state_type yy_next_state;
01180
01181 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
01182
01183 yy_current_state = yy_get_previous_state( yyscanner );
01184
01185
01186
01187
01188
01189
01190
01191
01192
01193
01194 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
01195
01196 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01197
01198 if ( yy_next_state )
01199 {
01200
01201 yy_cp = ++yyg->yy_c_buf_p;
01202 yy_current_state = yy_next_state;
01203 goto yy_match;
01204 }
01205
01206 else
01207 {
01208 yy_cp = yyg->yy_last_accepting_cpos;
01209 yy_current_state = yyg->yy_last_accepting_state;
01210 goto yy_find_action;
01211 }
01212 }
01213
01214 else switch ( yy_get_next_buffer( yyscanner ) )
01215 {
01216 case EOB_ACT_END_OF_FILE:
01217 {
01218 yyg->yy_did_buffer_switch_on_eof = 0;
01219
01220 if ( lomet_parser_wrap(yyscanner ) )
01221 {
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
01232
01233 yy_act = YY_STATE_EOF(YY_START);
01234 goto do_action;
01235 }
01236
01237 else
01238 {
01239 if ( ! yyg->yy_did_buffer_switch_on_eof )
01240 YY_NEW_FILE;
01241 }
01242 break;
01243 }
01244
01245 case EOB_ACT_CONTINUE_SCAN:
01246 yyg->yy_c_buf_p =
01247 yyg->yytext_ptr + yy_amount_of_matched_text;
01248
01249 yy_current_state = yy_get_previous_state( yyscanner );
01250
01251 yy_cp = yyg->yy_c_buf_p;
01252 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01253 goto yy_match;
01254
01255 case EOB_ACT_LAST_MATCH:
01256 yyg->yy_c_buf_p =
01257 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
01258
01259 yy_current_state = yy_get_previous_state( yyscanner );
01260
01261 yy_cp = yyg->yy_c_buf_p;
01262 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01263 goto yy_find_action;
01264 }
01265 break;
01266 }
01267
01268 default:
01269 YY_FATAL_ERROR(
01270 "fatal flex scanner internal error--no action found" );
01271 }
01272 }
01273 }
01274
01275
01276
01277
01278
01279
01280
01281
01282 static int yy_get_next_buffer (yyscan_t yyscanner)
01283 {
01284 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01285 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01286 register char *source = yyg->yytext_ptr;
01287 register int number_to_move, i;
01288 int ret_val;
01289
01290 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
01291 YY_FATAL_ERROR(
01292 "fatal flex scanner internal error--end of buffer missed" );
01293
01294 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01295 {
01296 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
01297 {
01298
01299
01300
01301 return EOB_ACT_END_OF_FILE;
01302 }
01303
01304 else
01305 {
01306
01307
01308
01309 return EOB_ACT_LAST_MATCH;
01310 }
01311 }
01312
01313
01314
01315
01316 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
01317
01318 for ( i = 0; i < number_to_move; ++i )
01319 *(dest++) = *(source++);
01320
01321 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01322
01323
01324
01325 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
01326
01327 else
01328 {
01329 int num_to_read =
01330 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01331
01332 while ( num_to_read <= 0 )
01333 {
01334
01335
01336 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
01337
01338 int yy_c_buf_p_offset =
01339 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
01340
01341 if ( b->yy_is_our_buffer )
01342 {
01343 int new_size = b->yy_buf_size * 2;
01344
01345 if ( new_size <= 0 )
01346 b->yy_buf_size += b->yy_buf_size / 8;
01347 else
01348 b->yy_buf_size *= 2;
01349
01350 b->yy_ch_buf = (char *)
01351
01352 lomet_parser_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
01353 }
01354 else
01355
01356 b->yy_ch_buf = 0;
01357
01358 if ( ! b->yy_ch_buf )
01359 YY_FATAL_ERROR(
01360 "fatal error - scanner input buffer overflow" );
01361
01362 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01363
01364 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
01365 number_to_move - 1;
01366
01367 }
01368
01369 if ( num_to_read > YY_READ_BUF_SIZE )
01370 num_to_read = YY_READ_BUF_SIZE;
01371
01372
01373 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01374 yyg->yy_n_chars, (size_t) num_to_read );
01375
01376 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01377 }
01378
01379 if ( yyg->yy_n_chars == 0 )
01380 {
01381 if ( number_to_move == YY_MORE_ADJ )
01382 {
01383 ret_val = EOB_ACT_END_OF_FILE;
01384 lomet_parser_restart(yyin ,yyscanner);
01385 }
01386
01387 else
01388 {
01389 ret_val = EOB_ACT_LAST_MATCH;
01390 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
01391 YY_BUFFER_EOF_PENDING;
01392 }
01393 }
01394
01395 else
01396 ret_val = EOB_ACT_CONTINUE_SCAN;
01397
01398 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
01399
01400 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
01401 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) lomet_parser_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
01402 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
01403 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
01404 }
01405
01406 yyg->yy_n_chars += number_to_move;
01407 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01408 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01409
01410 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
01411
01412 return ret_val;
01413 }
01414
01415
01416
01417 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
01418 {
01419 register yy_state_type yy_current_state;
01420 register char *yy_cp;
01421 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01422
01423 yy_current_state = yyg->yy_start;
01424 yy_current_state += YY_AT_BOL();
01425
01426 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
01427 {
01428 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01429 if ( yy_accept[yy_current_state] )
01430 {
01431 yyg->yy_last_accepting_state = yy_current_state;
01432 yyg->yy_last_accepting_cpos = yy_cp;
01433 }
01434 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01435 {
01436 yy_current_state = (int) yy_def[yy_current_state];
01437 if ( yy_current_state >= 116 )
01438 yy_c = yy_meta[(unsigned int) yy_c];
01439 }
01440 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01441 }
01442
01443 return yy_current_state;
01444 }
01445
01446
01447
01448
01449
01450
01451 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
01452 {
01453 register int yy_is_jam;
01454 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01455 register char *yy_cp = yyg->yy_c_buf_p;
01456
01457 register YY_CHAR yy_c = 1;
01458 if ( yy_accept[yy_current_state] )
01459 {
01460 yyg->yy_last_accepting_state = yy_current_state;
01461 yyg->yy_last_accepting_cpos = yy_cp;
01462 }
01463 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01464 {
01465 yy_current_state = (int) yy_def[yy_current_state];
01466 if ( yy_current_state >= 116 )
01467 yy_c = yy_meta[(unsigned int) yy_c];
01468 }
01469 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01470 yy_is_jam = (yy_current_state == 115);
01471
01472 return yy_is_jam ? 0 : yy_current_state;
01473 }
01474
01475 #ifndef YY_NO_INPUT
01476 #ifdef __cplusplus
01477 static int yyinput (yyscan_t yyscanner)
01478 #else
01479 static int input (yyscan_t yyscanner)
01480 #endif
01481
01482 {
01483 int c;
01484 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01485
01486 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01487
01488 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01489 {
01490
01491
01492
01493
01494 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01495
01496 *yyg->yy_c_buf_p = '\0';
01497
01498 else
01499 {
01500 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
01501 ++yyg->yy_c_buf_p;
01502
01503 switch ( yy_get_next_buffer( yyscanner ) )
01504 {
01505 case EOB_ACT_LAST_MATCH:
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516
01517 lomet_parser_restart(yyin ,yyscanner);
01518
01519
01520
01521 case EOB_ACT_END_OF_FILE:
01522 {
01523 if ( lomet_parser_wrap(yyscanner ) )
01524 return EOF;
01525
01526 if ( ! yyg->yy_did_buffer_switch_on_eof )
01527 YY_NEW_FILE;
01528 #ifdef __cplusplus
01529 return yyinput(yyscanner);
01530 #else
01531 return input(yyscanner);
01532 #endif
01533 }
01534
01535 case EOB_ACT_CONTINUE_SCAN:
01536 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
01537 break;
01538 }
01539 }
01540 }
01541
01542 c = *(unsigned char *) yyg->yy_c_buf_p;
01543 *yyg->yy_c_buf_p = '\0';
01544 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
01545
01546 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
01547
01548 return c;
01549 }
01550 #endif
01551
01552
01553
01554
01555
01556
01557 void lomet_parser_restart (FILE * input_file , yyscan_t yyscanner)
01558 {
01559 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01560
01561 if ( ! YY_CURRENT_BUFFER ){
01562 lomet_parser_ensure_buffer_stack (yyscanner);
01563 YY_CURRENT_BUFFER_LVALUE =
01564 lomet_parser__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01565 }
01566
01567 lomet_parser__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
01568 lomet_parser__load_buffer_state(yyscanner );
01569 }
01570
01571
01572
01573
01574
01575 void lomet_parser__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
01576 {
01577 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01578
01579
01580
01581
01582
01583
01584 lomet_parser_ensure_buffer_stack (yyscanner);
01585 if ( YY_CURRENT_BUFFER == new_buffer )
01586 return;
01587
01588 if ( YY_CURRENT_BUFFER )
01589 {
01590
01591 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01592 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
01593 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01594 }
01595
01596 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01597 lomet_parser__load_buffer_state(yyscanner );
01598
01599
01600
01601
01602
01603
01604 yyg->yy_did_buffer_switch_on_eof = 1;
01605 }
01606
01607 static void lomet_parser__load_buffer_state (yyscan_t yyscanner)
01608 {
01609 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01610 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01611 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
01612 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
01613 yyg->yy_hold_char = *yyg->yy_c_buf_p;
01614 }
01615
01616
01617
01618
01619
01620
01621
01622 YY_BUFFER_STATE lomet_parser__create_buffer (FILE * file, int size , yyscan_t yyscanner)
01623 {
01624 YY_BUFFER_STATE b;
01625
01626 b = (YY_BUFFER_STATE) lomet_parser_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
01627 if ( ! b )
01628 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser__create_buffer()" );
01629
01630 b->yy_buf_size = size;
01631
01632
01633
01634
01635 b->yy_ch_buf = (char *) lomet_parser_alloc(b->yy_buf_size + 2 ,yyscanner );
01636 if ( ! b->yy_ch_buf )
01637 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser__create_buffer()" );
01638
01639 b->yy_is_our_buffer = 1;
01640
01641 lomet_parser__init_buffer(b,file ,yyscanner);
01642
01643 return b;
01644 }
01645
01646
01647
01648
01649
01650 void lomet_parser__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
01651 {
01652 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01653
01654 if ( ! b )
01655 return;
01656
01657 if ( b == YY_CURRENT_BUFFER )
01658 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
01659
01660 if ( b->yy_is_our_buffer )
01661 lomet_parser_free((void *) b->yy_ch_buf ,yyscanner );
01662
01663 lomet_parser_free((void *) b ,yyscanner );
01664 }
01665
01666
01667
01668
01669
01670 static void lomet_parser__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
01671
01672 {
01673 int oerrno = errno;
01674 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01675
01676 lomet_parser__flush_buffer(b ,yyscanner);
01677
01678 b->yy_input_file = file;
01679 b->yy_fill_buffer = 1;
01680
01681
01682
01683
01684
01685 if (b != YY_CURRENT_BUFFER){
01686 b->yy_bs_lineno = 1;
01687 b->yy_bs_column = 0;
01688 }
01689
01690 b->yy_is_interactive = 0;
01691
01692 errno = oerrno;
01693 }
01694
01695
01696
01697
01698
01699 void lomet_parser__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
01700 {
01701 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01702 if ( ! b )
01703 return;
01704
01705 b->yy_n_chars = 0;
01706
01707
01708
01709
01710
01711 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
01712 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
01713
01714 b->yy_buf_pos = &b->yy_ch_buf[0];
01715
01716 b->yy_at_bol = 1;
01717 b->yy_buffer_status = YY_BUFFER_NEW;
01718
01719 if ( b == YY_CURRENT_BUFFER )
01720 lomet_parser__load_buffer_state(yyscanner );
01721 }
01722
01723
01724
01725
01726
01727
01728
01729 void lomet_parser_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
01730 {
01731 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01732 if (new_buffer == NULL)
01733 return;
01734
01735 lomet_parser_ensure_buffer_stack(yyscanner);
01736
01737
01738 if ( YY_CURRENT_BUFFER )
01739 {
01740
01741 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01742 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
01743 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01744 }
01745
01746
01747 if (YY_CURRENT_BUFFER)
01748 yyg->yy_buffer_stack_top++;
01749 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01750
01751
01752 lomet_parser__load_buffer_state(yyscanner );
01753 yyg->yy_did_buffer_switch_on_eof = 1;
01754 }
01755
01756
01757
01758
01759
01760 void lomet_parser_pop_buffer_state (yyscan_t yyscanner)
01761 {
01762 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01763 if (!YY_CURRENT_BUFFER)
01764 return;
01765
01766 lomet_parser__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
01767 YY_CURRENT_BUFFER_LVALUE = NULL;
01768 if (yyg->yy_buffer_stack_top > 0)
01769 --yyg->yy_buffer_stack_top;
01770
01771 if (YY_CURRENT_BUFFER) {
01772 lomet_parser__load_buffer_state(yyscanner );
01773 yyg->yy_did_buffer_switch_on_eof = 1;
01774 }
01775 }
01776
01777
01778
01779
01780 static void lomet_parser_ensure_buffer_stack (yyscan_t yyscanner)
01781 {
01782 int num_to_alloc;
01783 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01784
01785 if (!yyg->yy_buffer_stack) {
01786
01787
01788
01789
01790
01791 num_to_alloc = 1;
01792 yyg->yy_buffer_stack = (struct yy_buffer_state**)lomet_parser_alloc
01793 (num_to_alloc * sizeof(struct yy_buffer_state*)
01794 , yyscanner);
01795 if ( ! yyg->yy_buffer_stack )
01796 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser_ensure_buffer_stack()" );
01797
01798 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
01799
01800 yyg->yy_buffer_stack_max = num_to_alloc;
01801 yyg->yy_buffer_stack_top = 0;
01802 return;
01803 }
01804
01805 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
01806
01807
01808 int grow_size = 8 ;
01809
01810 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
01811 yyg->yy_buffer_stack = (struct yy_buffer_state**)lomet_parser_realloc
01812 (yyg->yy_buffer_stack,
01813 num_to_alloc * sizeof(struct yy_buffer_state*)
01814 , yyscanner);
01815 if ( ! yyg->yy_buffer_stack )
01816 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser_ensure_buffer_stack()" );
01817
01818
01819 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
01820 yyg->yy_buffer_stack_max = num_to_alloc;
01821 }
01822 }
01823
01824
01825
01826
01827
01828
01829
01830 YY_BUFFER_STATE lomet_parser__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
01831 {
01832 YY_BUFFER_STATE b;
01833
01834 if ( size < 2 ||
01835 base[size-2] != YY_END_OF_BUFFER_CHAR ||
01836 base[size-1] != YY_END_OF_BUFFER_CHAR )
01837
01838 return 0;
01839
01840 b = (YY_BUFFER_STATE) lomet_parser_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
01841 if ( ! b )
01842 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser__scan_buffer()" );
01843
01844 b->yy_buf_size = size - 2;
01845 b->yy_buf_pos = b->yy_ch_buf = base;
01846 b->yy_is_our_buffer = 0;
01847 b->yy_input_file = 0;
01848 b->yy_n_chars = b->yy_buf_size;
01849 b->yy_is_interactive = 0;
01850 b->yy_at_bol = 1;
01851 b->yy_fill_buffer = 0;
01852 b->yy_buffer_status = YY_BUFFER_NEW;
01853
01854 lomet_parser__switch_to_buffer(b ,yyscanner );
01855
01856 return b;
01857 }
01858
01859
01860
01861
01862
01863
01864
01865
01866
01867 YY_BUFFER_STATE lomet_parser__scan_string (yyconst char * yystr , yyscan_t yyscanner)
01868 {
01869
01870 return lomet_parser__scan_bytes(yystr,strlen(yystr) ,yyscanner);
01871 }
01872
01873
01874
01875
01876
01877
01878
01879
01880 YY_BUFFER_STATE lomet_parser__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
01881 {
01882 YY_BUFFER_STATE b;
01883 char *buf;
01884 yy_size_t n;
01885 int i;
01886
01887
01888 n = _yybytes_len + 2;
01889 buf = (char *) lomet_parser_alloc(n ,yyscanner );
01890 if ( ! buf )
01891 YY_FATAL_ERROR( "out of dynamic memory in lomet_parser__scan_bytes()" );
01892
01893 for ( i = 0; i < _yybytes_len; ++i )
01894 buf[i] = yybytes[i];
01895
01896 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
01897
01898 b = lomet_parser__scan_buffer(buf,n ,yyscanner);
01899 if ( ! b )
01900 YY_FATAL_ERROR( "bad buffer in lomet_parser__scan_bytes()" );
01901
01902
01903
01904
01905 b->yy_is_our_buffer = 1;
01906
01907 return b;
01908 }
01909
01910 #ifndef YY_EXIT_FAILURE
01911 #define YY_EXIT_FAILURE 2
01912 #endif
01913
01914 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
01915 {
01916 (void) fprintf( stderr, "%s\n", msg );
01917 exit( YY_EXIT_FAILURE );
01918 }
01919
01920
01921
01922 #undef yyless
01923 #define yyless(n) \
01924 do \
01925 { \
01926 \
01927 int yyless_macro_arg = (n); \
01928 YY_LESS_LINENO(yyless_macro_arg);\
01929 yytext[yyleng] = yyg->yy_hold_char; \
01930 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
01931 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
01932 *yyg->yy_c_buf_p = '\0'; \
01933 yyleng = yyless_macro_arg; \
01934 } \
01935 while ( 0 )
01936
01937
01938
01939
01940
01941
01942 YY_EXTRA_TYPE lomet_parser_get_extra (yyscan_t yyscanner)
01943 {
01944 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01945 return yyextra;
01946 }
01947
01948
01949
01950
01951 int lomet_parser_get_lineno (yyscan_t yyscanner)
01952 {
01953 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01954
01955 if (! YY_CURRENT_BUFFER)
01956 return 0;
01957
01958 return yylineno;
01959 }
01960
01961
01962
01963
01964 int lomet_parser_get_column (yyscan_t yyscanner)
01965 {
01966 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01967
01968 if (! YY_CURRENT_BUFFER)
01969 return 0;
01970
01971 return yycolumn;
01972 }
01973
01974
01975
01976
01977 FILE *lomet_parser_get_in (yyscan_t yyscanner)
01978 {
01979 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01980 return yyin;
01981 }
01982
01983
01984
01985
01986 FILE *lomet_parser_get_out (yyscan_t yyscanner)
01987 {
01988 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01989 return yyout;
01990 }
01991
01992
01993
01994
01995 int lomet_parser_get_leng (yyscan_t yyscanner)
01996 {
01997 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01998 return yyleng;
01999 }
02000
02001
02002
02003
02004
02005 char *lomet_parser_get_text (yyscan_t yyscanner)
02006 {
02007 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02008 return yytext;
02009 }
02010
02011
02012
02013
02014
02015 void lomet_parser_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
02016 {
02017 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02018 yyextra = user_defined ;
02019 }
02020
02021
02022
02023
02024
02025 void lomet_parser_set_lineno (int line_number , yyscan_t yyscanner)
02026 {
02027 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02028
02029
02030 if (! YY_CURRENT_BUFFER )
02031 yy_fatal_error( "lomet_parser_set_lineno called with no buffer" , yyscanner);
02032
02033 yylineno = line_number;
02034 }
02035
02036
02037
02038
02039
02040 void lomet_parser_set_column (int column_no , yyscan_t yyscanner)
02041 {
02042 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02043
02044
02045 if (! YY_CURRENT_BUFFER )
02046 yy_fatal_error( "lomet_parser_set_column called with no buffer" , yyscanner);
02047
02048 yycolumn = column_no;
02049 }
02050
02051
02052
02053
02054
02055
02056
02057 void lomet_parser_set_in (FILE * in_str , yyscan_t yyscanner)
02058 {
02059 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02060 yyin = in_str ;
02061 }
02062
02063 void lomet_parser_set_out (FILE * out_str , yyscan_t yyscanner)
02064 {
02065 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02066 yyout = out_str ;
02067 }
02068
02069 int lomet_parser_get_debug (yyscan_t yyscanner)
02070 {
02071 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02072 return yy_flex_debug;
02073 }
02074
02075 void lomet_parser_set_debug (int bdebug , yyscan_t yyscanner)
02076 {
02077 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02078 yy_flex_debug = bdebug ;
02079 }
02080
02081
02082
02083
02084
02085
02086
02087
02088
02089
02090 int lomet_parser_lex_init(yyscan_t* ptr_yy_globals)
02091
02092 {
02093 if (ptr_yy_globals == NULL){
02094 errno = EINVAL;
02095 return 1;
02096 }
02097
02098 *ptr_yy_globals = (yyscan_t) lomet_parser_alloc ( sizeof( struct yyguts_t ), NULL );
02099
02100 if (*ptr_yy_globals == NULL){
02101 errno = ENOMEM;
02102 return 1;
02103 }
02104
02105
02106 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02107
02108 return yy_init_globals ( *ptr_yy_globals );
02109 }
02110
02111
02112
02113
02114
02115
02116
02117
02118
02119 int lomet_parser_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
02120
02121 {
02122 struct yyguts_t dummy_yyguts;
02123
02124 lomet_parser_set_extra (yy_user_defined, &dummy_yyguts);
02125
02126 if (ptr_yy_globals == NULL){
02127 errno = EINVAL;
02128 return 1;
02129 }
02130
02131 *ptr_yy_globals = (yyscan_t) lomet_parser_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
02132
02133 if (*ptr_yy_globals == NULL){
02134 errno = ENOMEM;
02135 return 1;
02136 }
02137
02138
02139
02140 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02141
02142 lomet_parser_set_extra (yy_user_defined, *ptr_yy_globals);
02143
02144 return yy_init_globals ( *ptr_yy_globals );
02145 }
02146
02147 static int yy_init_globals (yyscan_t yyscanner)
02148 {
02149 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02150
02151
02152
02153
02154 yyg->yy_buffer_stack = 0;
02155 yyg->yy_buffer_stack_top = 0;
02156 yyg->yy_buffer_stack_max = 0;
02157 yyg->yy_c_buf_p = (char *) 0;
02158 yyg->yy_init = 0;
02159 yyg->yy_start = 0;
02160
02161 yyg->yy_start_stack_ptr = 0;
02162 yyg->yy_start_stack_depth = 0;
02163 yyg->yy_start_stack = NULL;
02164
02165
02166 #ifdef YY_STDINIT
02167 yyin = stdin;
02168 yyout = stdout;
02169 #else
02170 yyin = (FILE *) 0;
02171 yyout = (FILE *) 0;
02172 #endif
02173
02174
02175
02176
02177 return 0;
02178 }
02179
02180
02181 int lomet_parser_lex_destroy (yyscan_t yyscanner)
02182 {
02183 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02184
02185
02186 while(YY_CURRENT_BUFFER){
02187 lomet_parser__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
02188 YY_CURRENT_BUFFER_LVALUE = NULL;
02189 lomet_parser_pop_buffer_state(yyscanner);
02190 }
02191
02192
02193 lomet_parser_free(yyg->yy_buffer_stack ,yyscanner);
02194 yyg->yy_buffer_stack = NULL;
02195
02196
02197 lomet_parser_free(yyg->yy_start_stack ,yyscanner );
02198 yyg->yy_start_stack = NULL;
02199
02200
02201
02202 yy_init_globals( yyscanner);
02203
02204
02205 lomet_parser_free ( yyscanner , yyscanner );
02206 yyscanner = NULL;
02207 return 0;
02208 }
02209
02210
02211
02212
02213
02214 #ifndef yytext_ptr
02215 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
02216 {
02217 register int i;
02218 for ( i = 0; i < n; ++i )
02219 s1[i] = s2[i];
02220 }
02221 #endif
02222
02223 #ifdef YY_NEED_STRLEN
02224 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
02225 {
02226 register int n;
02227 for ( n = 0; s[n]; ++n )
02228 ;
02229
02230 return n;
02231 }
02232 #endif
02233
02234 void *lomet_parser_alloc (yy_size_t size , yyscan_t yyscanner)
02235 {
02236 return (void *) malloc( size );
02237 }
02238
02239 void *lomet_parser_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
02240 {
02241
02242
02243
02244
02245
02246
02247
02248 return (void *) realloc( (char *) ptr, size );
02249 }
02250
02251 void lomet_parser_free (void * ptr , yyscan_t yyscanner)
02252 {
02253 free( (char *) ptr );
02254 }
02255
02256 #define YYTABLES_NAME "yytables"
02257
02258 #line 274 "src/Robots/LoBot/metlog/LoMetlogParser.l"