00001 #line 2 "ast_expr2f.c"
00002
00003 #line 4 "ast_expr2f.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 31
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 #include <inttypes.h>
00036 typedef int8_t flex_int8_t;
00037 typedef uint8_t flex_uint8_t;
00038 typedef int16_t flex_int16_t;
00039 typedef uint16_t flex_uint16_t;
00040 typedef int32_t flex_int32_t;
00041 typedef uint32_t flex_uint32_t;
00042 #else
00043 typedef signed char flex_int8_t;
00044 typedef short int flex_int16_t;
00045 typedef int flex_int32_t;
00046 typedef unsigned char flex_uint8_t;
00047 typedef unsigned short int flex_uint16_t;
00048 typedef unsigned int flex_uint32_t;
00049 #endif
00050
00051
00052 #ifndef INT8_MIN
00053 #define INT8_MIN (-128)
00054 #endif
00055 #ifndef INT16_MIN
00056 #define INT16_MIN (-32767-1)
00057 #endif
00058 #ifndef INT32_MIN
00059 #define INT32_MIN (-2147483647-1)
00060 #endif
00061 #ifndef INT8_MAX
00062 #define INT8_MAX (127)
00063 #endif
00064 #ifndef INT16_MAX
00065 #define INT16_MAX (32767)
00066 #endif
00067 #ifndef INT32_MAX
00068 #define INT32_MAX (2147483647)
00069 #endif
00070 #ifndef UINT8_MAX
00071 #define UINT8_MAX (255U)
00072 #endif
00073 #ifndef UINT16_MAX
00074 #define UINT16_MAX (65535U)
00075 #endif
00076 #ifndef UINT32_MAX
00077 #define UINT32_MAX (4294967295U)
00078 #endif
00079
00080 #endif
00081
00082 #ifdef __cplusplus
00083
00084
00085 #define YY_USE_CONST
00086
00087 #else
00088
00089 #if __STDC__
00090
00091 #define YY_USE_CONST
00092
00093 #endif
00094 #endif
00095
00096 #ifdef YY_USE_CONST
00097 #define yyconst const
00098 #else
00099 #define yyconst
00100 #endif
00101
00102
00103 #define YY_NULL 0
00104
00105
00106
00107
00108
00109
00110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00111
00112
00113 #ifndef YY_TYPEDEF_YY_SCANNER_T
00114 #define YY_TYPEDEF_YY_SCANNER_T
00115 typedef void* yyscan_t;
00116 #endif
00117
00118
00119
00120 #define yyin yyg->yyin_r
00121 #define yyout yyg->yyout_r
00122 #define yyextra yyg->yyextra_r
00123 #define yyleng yyg->yyleng_r
00124 #define yytext yyg->yytext_r
00125 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00126 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00127 #define yy_flex_debug yyg->yy_flex_debug_r
00128
00129 int ast_yylex_init (yyscan_t* scanner);
00130
00131
00132
00133
00134
00135 #define BEGIN yyg->yy_start = 1 + 2 *
00136
00137
00138
00139
00140
00141 #define YY_START ((yyg->yy_start - 1) / 2)
00142 #define YYSTATE YY_START
00143
00144
00145 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00146
00147
00148 #define YY_NEW_FILE ast_yyrestart(yyin ,yyscanner )
00149
00150 #define YY_END_OF_BUFFER_CHAR 0
00151
00152
00153 #ifndef YY_BUF_SIZE
00154 #define YY_BUF_SIZE 16384
00155 #endif
00156
00157 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00158 #define YY_TYPEDEF_YY_BUFFER_STATE
00159 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00160 #endif
00161
00162 #define EOB_ACT_CONTINUE_SCAN 0
00163 #define EOB_ACT_END_OF_FILE 1
00164 #define EOB_ACT_LAST_MATCH 2
00165
00166 #define YY_LESS_LINENO(n)
00167
00168
00169 #define yyless(n) \
00170 do \
00171 { \
00172 \
00173 int yyless_macro_arg = (n); \
00174 YY_LESS_LINENO(yyless_macro_arg);\
00175 *yy_cp = yyg->yy_hold_char; \
00176 YY_RESTORE_YY_MORE_OFFSET \
00177 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00178 YY_DO_BEFORE_ACTION; \
00179 } \
00180 while ( 0 )
00181
00182 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
00183
00184
00185
00186
00187
00188
00189 #ifndef YY_TYPEDEF_YY_SIZE_T
00190 #define YY_TYPEDEF_YY_SIZE_T
00191 typedef unsigned int yy_size_t;
00192 #endif
00193
00194 #ifndef YY_STRUCT_YY_BUFFER_STATE
00195 #define YY_STRUCT_YY_BUFFER_STATE
00196 struct yy_buffer_state
00197 {
00198 FILE *yy_input_file;
00199
00200 char *yy_ch_buf;
00201 char *yy_buf_pos;
00202
00203
00204
00205
00206 yy_size_t yy_buf_size;
00207
00208
00209
00210
00211 int yy_n_chars;
00212
00213
00214
00215
00216
00217 int yy_is_our_buffer;
00218
00219
00220
00221
00222
00223
00224 int yy_is_interactive;
00225
00226
00227
00228
00229
00230 int yy_at_bol;
00231
00232 int yy_bs_lineno;
00233 int yy_bs_column;
00234
00235
00236
00237
00238 int yy_fill_buffer;
00239
00240 int yy_buffer_status;
00241
00242 #define YY_BUFFER_NEW 0
00243 #define YY_BUFFER_NORMAL 1
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254 #define YY_BUFFER_EOF_PENDING 2
00255
00256 };
00257 #endif
00258
00259
00260
00261
00262
00263
00264
00265 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00266 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00267 : NULL)
00268
00269
00270
00271
00272 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00273
00274 void ast_yyrestart (FILE *input_file ,yyscan_t yyscanner );
00275 void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00276 YY_BUFFER_STATE ast_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00277 void ast_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00278 void ast_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00279 void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00280 void ast_yypop_buffer_state (yyscan_t yyscanner );
00281
00282 static void ast_yyensure_buffer_stack (yyscan_t yyscanner );
00283 static void ast_yy_load_buffer_state (yyscan_t yyscanner );
00284 static void ast_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00285
00286 #define YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00287
00288 YY_BUFFER_STATE ast_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00289 YY_BUFFER_STATE ast_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00290 YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00291
00292 void *ast_yyalloc (yy_size_t ,yyscan_t yyscanner );
00293 void *ast_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00294 void ast_yyfree (void * ,yyscan_t yyscanner );
00295
00296 #define yy_new_buffer ast_yy_create_buffer
00297
00298 #define yy_set_interactive(is_interactive) \
00299 { \
00300 if ( ! YY_CURRENT_BUFFER ){ \
00301 ast_yyensure_buffer_stack (yyscanner); \
00302 YY_CURRENT_BUFFER_LVALUE = \
00303 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00304 } \
00305 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00306 }
00307
00308 #define yy_set_bol(at_bol) \
00309 { \
00310 if ( ! YY_CURRENT_BUFFER ){\
00311 ast_yyensure_buffer_stack (yyscanner); \
00312 YY_CURRENT_BUFFER_LVALUE = \
00313 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00314 } \
00315 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00316 }
00317
00318 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00319
00320
00321
00322 #define ast_yywrap(n) 1
00323 #define YY_SKIP_YYWRAP
00324
00325 typedef char YY_CHAR;
00326
00327 typedef int yy_state_type;
00328
00329 #define yytext_ptr yytext_r
00330 static yyconst flex_int16_t yy_nxt[][128] =
00331 {
00332 {
00333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00343
00344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00346 0, 0, 0, 0, 0, 0, 0, 0
00347 },
00348
00349 {
00350 7, 8, 8, 8, 8, 8, 8, 8, 8, 9,
00351 10, 8, 8, 9, 8, 8, 8, 8, 8, 8,
00352 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
00353 8, 8, 9, 11, 12, 13, 14, 15, 16, 13,
00354 17, 18, 19, 20, 13, 21, 13, 22, 23, 23,
00355 23, 23, 23, 23, 23, 23, 23, 23, 24, 13,
00356 25, 26, 27, 28, 13, 13, 13, 13, 13, 13,
00357
00358 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00359 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00360 13, 8, 13, 8, 13, 13, 8, 13, 13, 13,
00361 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00362 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00363 13, 13, 13, 8, 29, 8, 8, 8
00364 },
00365
00366 {
00367 7, 8, 8, 8, 8, 8, 8, 8, 8, 9,
00368 10, 8, 8, 9, 8, 8, 8, 8, 8, 8,
00369 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
00370 8, 8, 9, 11, 12, 13, 14, 15, 16, 13,
00371
00372 17, 18, 19, 20, 13, 21, 13, 22, 23, 23,
00373 23, 23, 23, 23, 23, 23, 23, 23, 24, 13,
00374 25, 26, 27, 28, 13, 13, 13, 13, 13, 13,
00375 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00376 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00377 13, 8, 13, 8, 13, 13, 8, 13, 13, 13,
00378 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00379 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
00380 13, 13, 13, 8, 29, 8, 8, 8
00381 },
00382
00383 {
00384 7, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00385
00386 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00387 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00388 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00389 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00390 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00391 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00392 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00393 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00394 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00395 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00396
00397 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00398 30, 30, 30, 31, 30, 32, 30, 30
00399 },
00400
00401 {
00402 7, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00403 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00404 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00405 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00406 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00407 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00408 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00409 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00410
00411 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00412 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00413 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00414 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
00415 30, 30, 30, 31, 30, 32, 30, 30
00416 },
00417
00418 {
00419 7, 33, 33, 33, 33, 33, 33, 33, 33, 34,
00420 34, 33, 33, 34, 33, 33, 33, 33, 33, 33,
00421 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00422 33, 33, 34, 34, 33, 33, 35, 34, 34, 33,
00423 34, 34, 34, 34, 33, 34, 33, 34, 33, 33,
00424
00425 33, 33, 33, 33, 33, 33, 33, 33, 34, 33,
00426 34, 34, 34, 34, 33, 33, 33, 33, 33, 33,
00427 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00428 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00429 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00430 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00431 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00432 33, 33, 33, 33, 34, 33, 33, 33
00433 },
00434
00435 {
00436 7, 33, 33, 33, 33, 33, 33, 33, 33, 34,
00437 34, 33, 33, 34, 33, 33, 33, 33, 33, 33,
00438
00439 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00440 33, 33, 34, 34, 33, 33, 35, 34, 34, 33,
00441 34, 34, 34, 34, 33, 34, 33, 34, 33, 33,
00442 33, 33, 33, 33, 33, 33, 33, 33, 34, 33,
00443 34, 34, 34, 34, 33, 33, 33, 33, 33, 33,
00444 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00445 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00446 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00447 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00448 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
00449
00450 33, 33, 33, 33, 34, 33, 33, 33
00451 },
00452
00453 {
00454 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00455 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00456 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00457 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00458 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00459 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00460 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00461 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00462 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00463
00464 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00465 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00466 -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
00467 -7, -7, -7, -7, -7, -7, -7, -7
00468 },
00469
00470 {
00471 7, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00472 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00473 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00474 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00475 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00476 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00477
00478 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00479 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00480 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00481 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00482 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00483 -8, -8, -8, -8, -8, -8, -8, -8, -8, -8,
00484 -8, -8, -8, -8, -8, -8, -8, -8
00485 },
00486
00487 {
00488 7, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00489 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00490 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00491
00492 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00493 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00494 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00495 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00496 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00497 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00498 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00499 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00500 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
00501 -9, -9, -9, -9, -9, -9, -9, -9
00502
00503 },
00504
00505 {
00506 7, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00507 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00508 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00509 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00510 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00511 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00512 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00513 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00514 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00515 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00516
00517 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00518 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
00519 -10, -10, -10, -10, -10, -10, -10, -10
00520 },
00521
00522 {
00523 7, -11, -11, -11, -11, -11, -11, -11, -11, -11,
00524 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
00525 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
00526 -11, -11, -11, 36, -11, 36, 36, 36, -11, 36,
00527 -11, -11, -11, -11, 36, -11, 36, -11, 36, 36,
00528 36, 36, 36, 36, 36, 36, 36, 36, -11, 36,
00529 -11, 37, -11, -11, 36, 36, 36, 36, 36, 36,
00530
00531 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00532 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00533 36, -11, 36, -11, 36, 36, -11, 36, 36, 36,
00534 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00535 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00536 36, 36, 36, -11, -11, -11, -11, -11
00537 },
00538
00539 {
00540 7, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00541 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00542 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00543 38, 38, 38, 38, 39, 38, 38, 38, 38, 38,
00544
00545 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00546 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00547 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00548 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00549 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00550 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00551 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00552 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00553 38, 38, 38, 38, 38, 38, 38, 38
00554 },
00555
00556 {
00557 7, -13, -13, -13, -13, -13, -13, -13, -13, -13,
00558
00559 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
00560 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
00561 -13, -13, -13, 36, -13, 36, 36, 36, -13, 36,
00562 -13, -13, -13, -13, 36, -13, 36, -13, 36, 36,
00563 36, 36, 36, 36, 36, 36, 36, 36, -13, 36,
00564 -13, -13, -13, -13, 36, 36, 36, 36, 36, 36,
00565 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00566 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00567 36, -13, 36, -13, 36, 36, -13, 36, 36, 36,
00568 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00569
00570 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00571 36, 36, 36, -13, -13, -13, -13, -13
00572 },
00573
00574 {
00575 7, -14, -14, -14, -14, -14, -14, -14, -14, -14,
00576 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
00577 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
00578 -14, -14, -14, 36, -14, 36, 36, 36, -14, 36,
00579 -14, -14, -14, -14, 36, -14, 36, -14, 36, 36,
00580 36, 36, 36, 36, 36, 36, 36, 36, -14, 36,
00581 -14, -14, -14, -14, 36, 36, 36, 36, 36, 36,
00582 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00583
00584 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00585 36, -14, 36, -14, 36, 36, -14, 36, 36, 36,
00586 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00587 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00588 36, 36, 36, 40, -14, -14, -14, -14
00589 },
00590
00591 {
00592 7, -15, -15, -15, -15, -15, -15, -15, -15, -15,
00593 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
00594 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
00595 -15, -15, -15, 36, -15, 36, 36, 36, -15, 36,
00596 -15, -15, -15, -15, 36, -15, 36, -15, 36, 36,
00597
00598 36, 36, 36, 36, 36, 36, 36, 36, -15, 36,
00599 -15, -15, -15, -15, 36, 36, 36, 36, 36, 36,
00600 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00601 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00602 36, -15, 36, -15, 36, 36, -15, 36, 36, 36,
00603 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00604 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00605 36, 36, 36, -15, -15, -15, -15, -15
00606 },
00607
00608 {
00609 7, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00610 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00611
00612 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00613 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00614 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00615 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00616 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00617 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00618 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00619 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00620 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00621 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
00622
00623 -16, -16, -16, -16, -16, -16, -16, -16
00624 },
00625
00626 {
00627 7, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00628 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00629 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00630 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00631 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00632 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00633 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00634 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00635 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00636
00637 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00638 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00639 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
00640 -17, -17, -17, -17, -17, -17, -17, -17
00641 },
00642
00643 {
00644 7, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00645 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00646 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00647 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00648 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00649 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00650
00651 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00652 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00653 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00654 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00655 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00656 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
00657 -18, -18, -18, -18, -18, -18, -18, -18
00658 },
00659
00660 {
00661 7, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00662 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00663 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00664
00665 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00666 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00667 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00668 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00669 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00670 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00671 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00672 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00673 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
00674 -19, -19, -19, -19, -19, -19, -19, -19
00675
00676 },
00677
00678 {
00679 7, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00680 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00681 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00682 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00683 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00684 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00685 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00686 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00687 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00688 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00689
00690 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00691 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
00692 -20, -20, -20, -20, -20, -20, -20, -20
00693 },
00694
00695 {
00696 7, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00697 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00698 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00699 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00700 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00701 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00702 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00703
00704 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00705 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00706 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00707 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00708 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
00709 -21, -21, -21, -21, -21, -21, -21, -21
00710 },
00711
00712 {
00713 7, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00714 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00715 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00716 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00717
00718 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00719 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00720 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00721 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00722 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00723 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00724 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00725 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
00726 -22, -22, -22, -22, -22, -22, -22, -22
00727 },
00728
00729 {
00730 7, -23, -23, -23, -23, -23, -23, -23, -23, -23,
00731
00732 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
00733 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
00734 -23, -23, -23, 36, -23, 36, 36, 36, -23, 36,
00735 -23, -23, -23, -23, 36, -23, 36, -23, 41, 41,
00736 41, 41, 41, 41, 41, 41, 41, 41, -23, 36,
00737 -23, -23, -23, -23, 36, 36, 36, 36, 36, 36,
00738 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00739 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00740 36, -23, 36, -23, 36, 36, -23, 36, 36, 36,
00741 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00742
00743 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00744 36, 36, 36, -23, -23, -23, -23, -23
00745 },
00746
00747 {
00748 7, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00749 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00750 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00751 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00752 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00753 -24, -24, -24, -24, -24, -24, -24, -24, 42, -24,
00754 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00755 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00756
00757 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00758 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00759 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00760 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
00761 -24, -24, -24, -24, -24, -24, -24, -24
00762 },
00763
00764 {
00765 7, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00766 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00767 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00768 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00769 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00770
00771 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00772 -25, 43, -25, -25, -25, -25, -25, -25, -25, -25,
00773 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00774 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00775 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00776 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00777 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
00778 -25, -25, -25, -25, -25, -25, -25, -25
00779 },
00780
00781 {
00782 7, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00783 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00784
00785 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00786 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00787 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00788 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00789 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00790 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00791 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00792 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00793 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00794 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
00795
00796 -26, -26, -26, -26, -26, -26, -26, -26
00797 },
00798
00799 {
00800 7, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00801 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00802 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00803 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00804 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00805 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00806 -27, 44, -27, -27, -27, -27, -27, -27, -27, -27,
00807 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00808 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00809
00810 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00811 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00812 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
00813 -27, -27, -27, -27, -27, -27, -27, -27
00814 },
00815
00816 {
00817 7, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00818 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00819 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00820 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00821 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00822 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00823
00824 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00825 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00826 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00827 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00828 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00829 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
00830 -28, -28, -28, -28, -28, -28, -28, -28
00831 },
00832
00833 {
00834 7, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00835 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00836 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00837
00838 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00839 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00840 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00841 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00842 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00843 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00844 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00845 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00846 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
00847 -29, -29, -29, -29, -29, -29, -29, -29
00848
00849 },
00850
00851 {
00852 7, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00853 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00854 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00855 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00856 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00857 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00858 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00859 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00860 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00861 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00862
00863 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00864 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00865 45, 45, 45, 46, 45, 47, 45, 45
00866 },
00867
00868 {
00869 7, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00870 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00871 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00872 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00873 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00874 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00875 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00876
00877 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00878 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00879 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00880 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00881 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
00882 -31, -31, -31, -31, -31, -31, -31, -31
00883 },
00884
00885 {
00886 7, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00887 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00888 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00889 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00890
00891 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00892 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00893 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00894 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00895 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00896 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00897 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00898 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
00899 -32, -32, -32, -32, -32, -32, -32, -32
00900 },
00901
00902 {
00903 7, 48, 48, 48, 48, 48, 48, 48, 48, -33,
00904
00905 -33, 48, 48, -33, 48, 48, 48, 48, 48, 48,
00906 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00907 48, 48, -33, -33, 48, 48, -33, -33, -33, 48,
00908 -33, -33, -33, -33, 48, -33, 48, -33, 48, 48,
00909 48, 48, 48, 48, 48, 48, 48, 48, -33, 48,
00910 -33, -33, -33, -33, 48, 48, 48, 48, 48, 48,
00911 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00912 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00913 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00914 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00915
00916 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
00917 48, 48, 48, 48, -33, 48, 48, 48
00918 },
00919
00920 {
00921 7, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00922 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00923 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00924 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00925 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00926 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00927 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00928 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00929
00930 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00931 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00932 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00933 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
00934 -34, -34, -34, -34, -34, -34, -34, -34
00935 },
00936
00937 {
00938 7, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00939 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00940 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00941 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00942 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00943
00944 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00945 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00946 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00947 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00948 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00949 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00950 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
00951 -35, -35, -35, 49, -35, -35, -35, -35
00952 },
00953
00954 {
00955 7, -36, -36, -36, -36, -36, -36, -36, -36, -36,
00956 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
00957
00958 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
00959 -36, -36, -36, 36, -36, 36, 36, 36, -36, 36,
00960 -36, -36, -36, -36, 36, -36, 36, -36, 36, 36,
00961 36, 36, 36, 36, 36, 36, 36, 36, -36, 36,
00962 -36, -36, -36, -36, 36, 36, 36, 36, 36, 36,
00963 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00964 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00965 36, -36, 36, -36, 36, 36, -36, 36, 36, 36,
00966 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00967 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
00968
00969 36, 36, 36, -36, -36, -36, -36, -36
00970 },
00971
00972 {
00973 7, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00974 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00975 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00976 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00977 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00978 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00979 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00980 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00981 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00982
00983 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00984 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00985 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
00986 -37, -37, -37, -37, -37, -37, -37, -37
00987 },
00988
00989 {
00990 7, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00991 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00992 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00993 38, 38, 38, 38, 39, 38, 38, 38, 38, 38,
00994 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00995 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00996
00997 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00998 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
00999 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
01000 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
01001 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
01002 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
01003 38, 38, 38, 38, 38, 38, 38, 38
01004 },
01005
01006 {
01007 7, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01008 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01009 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01010
01011 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01012 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01013 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01014 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01015 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01016 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01017 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01018 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01019 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
01020 -39, -39, -39, -39, -39, -39, -39, -39
01021
01022 },
01023
01024 {
01025 7, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01026 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01027 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01028 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01029 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01030 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01031 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01032 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01033 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01034 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01035
01036 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01037 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
01038 -40, -40, -40, -40, -40, -40, -40, -40
01039 },
01040
01041 {
01042 7, -41, -41, -41, -41, -41, -41, -41, -41, -41,
01043 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
01044 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
01045 -41, -41, -41, 36, -41, 36, 36, 36, -41, 36,
01046 -41, -41, -41, -41, 36, -41, 36, -41, 41, 41,
01047 41, 41, 41, 41, 41, 41, 41, 41, -41, 36,
01048 -41, -41, -41, -41, 36, 36, 36, 36, 36, 36,
01049
01050 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
01051 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
01052 36, -41, 36, -41, 36, 36, -41, 36, 36, 36,
01053 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
01054 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
01055 36, 36, 36, -41, -41, -41, -41, -41
01056 },
01057
01058 {
01059 7, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01060 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01061 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01062 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01063
01064 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01065 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01066 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01067 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01068 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01069 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01070 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01071 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
01072 -42, -42, -42, -42, -42, -42, -42, -42
01073 },
01074
01075 {
01076 7, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01077
01078 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01079 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01080 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01081 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01082 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01083 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01084 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01085 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01086 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01087 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01088
01089 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
01090 -43, -43, -43, -43, -43, -43, -43, -43
01091 },
01092
01093 {
01094 7, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01095 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01096 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01097 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01098 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01099 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01100 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01101 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01102
01103 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01104 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01105 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01106 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
01107 -44, -44, -44, -44, -44, -44, -44, -44
01108 },
01109
01110 {
01111 7, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01112 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01113 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01114 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01115 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01116
01117 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01118 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01119 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01120 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01121 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01122 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01123 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
01124 45, 45, 45, 46, 45, 47, 45, 45
01125 },
01126
01127 {
01128 7, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01129 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01130
01131 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01132 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01133 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01134 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01135 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01136 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01137 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01138 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01139 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01140 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
01141
01142 -46, -46, -46, -46, -46, -46, -46, -46
01143 },
01144
01145 {
01146 7, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01147 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01148 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01149 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01150 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01151 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01152 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01153 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01154 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01155
01156 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01157 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01158 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
01159 -47, -47, -47, -47, -47, -47, -47, -47
01160 },
01161
01162 {
01163 7, 48, 48, 48, 48, 48, 48, 48, 48, -48,
01164 -48, 48, 48, -48, 48, 48, 48, 48, 48, 48,
01165 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01166 48, 48, -48, -48, 48, 48, -48, -48, -48, 48,
01167 -48, -48, -48, -48, 48, -48, 48, -48, 48, 48,
01168 48, 48, 48, 48, 48, 48, 48, 48, -48, 48,
01169
01170 -48, -48, -48, -48, 48, 48, 48, 48, 48, 48,
01171 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01172 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01173 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01174 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01175 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
01176 48, 48, 48, 48, -48, 48, 48, 48
01177 },
01178
01179 {
01180 7, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01181 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01182 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01183
01184 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01185 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01186 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01187 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01188 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01189 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01190 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01191 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01192 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
01193 -49, -49, -49, -49, -49, -49, -49, -49
01194
01195 },
01196
01197 } ;
01198
01199 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
01200 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
01201 static int yy_get_next_buffer (yyscan_t yyscanner );
01202 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
01203
01204
01205
01206
01207 #define YY_DO_BEFORE_ACTION \
01208 yyg->yytext_ptr = yy_bp; \
01209 yyg->yytext_ptr -= yyg->yy_more_len; \
01210 yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \
01211 yyg->yy_hold_char = *yy_cp; \
01212 *yy_cp = '\0'; \
01213 yyg->yy_c_buf_p = yy_cp;
01214
01215 #define YY_NUM_RULES 30
01216 #define YY_END_OF_BUFFER 31
01217
01218
01219 struct yy_trans_info
01220 {
01221 flex_int32_t yy_verify;
01222 flex_int32_t yy_nxt;
01223 };
01224 static yyconst flex_int16_t yy_accept[50] =
01225 { 0,
01226 0, 0, 0, 0, 27, 27, 31, 30, 20, 22,
01227 24, 30, 24, 24, 13, 2, 17, 18, 11, 9,
01228 10, 12, 23, 15, 5, 3, 4, 14, 1, 30,
01229 26, 25, 27, 28, 28, 24, 8, 0, 21, 19,
01230 23, 16, 7, 6, 0, 26, 25, 27, 29
01231 } ;
01232
01233 static yyconst yy_state_type yy_NUL_trans[50] =
01234 { 0,
01235 8, 8, 30, 30, 33, 33, 0, 0, 0, 0,
01236 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
01237 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
01238 0, 0, 48, 0, 0, 0, 0, 38, 0, 0,
01239 0, 0, 0, 0, 45, 0, 0, 48, 0
01240 } ;
01241
01242
01243
01244
01245 #define REJECT reject_used_but_not_detected
01246 #define yymore() (yyg->yy_more_flag = 1)
01247 #define YY_MORE_ADJ yyg->yy_more_len
01248 #define YY_RESTORE_YY_MORE_OFFSET
01249 #line 1 "ast_expr2.fl"
01250 #line 2 "ast_expr2.fl"
01251
01252
01253
01254
01255
01256 #include <sys/types.h>
01257 #include <stdio.h>
01258 #include <stdlib.h>
01259 #include <string.h>
01260 #include <locale.h>
01261 #include <ctype.h>
01262 #if !defined(SOLARIS) && !defined(__CYGWIN__)
01263 #include <err.h>
01264 #else
01265 #define quad_t int64_t
01266 #endif
01267 #include <errno.h>
01268 #include <regex.h>
01269 #include <limits.h>
01270 #include <asterisk/ast_expr.h>
01271 #include <asterisk/logger.h>
01272 #include <asterisk/strings.h>
01273
01274 enum valtype {
01275 AST_EXPR_integer, AST_EXPR_numeric_string, AST_EXPR_string
01276 } ;
01277
01278 struct val {
01279 enum valtype type;
01280 union {
01281 char *s;
01282 quad_t i;
01283 } u;
01284 } ;
01285
01286 #include "ast_expr2.h"
01287
01288 #define SET_COLUMNS yylloc_param->first_column = (int)(yyg->yytext_r - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);yylloc_param->last_column = yylloc_param->last_column + yyleng - 1; yylloc_param->first_line = yylloc_param->last_line = 1
01289 #define SET_STRING yylval_param->val = (struct val *)calloc(sizeof(struct val),1); yylval_param->val->type = AST_EXPR_string; yylval_param->val->u.s = strdup(yytext);
01290 #define SET_NUMERIC_STRING yylval_param->val = (struct val *)calloc(sizeof(struct val),1); yylval_param->val->type = AST_EXPR_numeric_string; yylval_param->val->u.s = strdup(yytext);
01291
01292 struct parse_io
01293 {
01294 char *string;
01295 struct val *val;
01296 yyscan_t scanner;
01297 };
01298
01299 void ast_yyset_column(int column_no, yyscan_t yyscanner);
01300 int ast_yyget_column(yyscan_t yyscanner);
01301 static int curlycount = 0;
01302
01303 #line 1304 "ast_expr2f.c"
01304
01305 #define INITIAL 0
01306 #define var 1
01307 #define trail 2
01308
01309
01310
01311
01312
01313 #include <unistd.h>
01314
01315 #ifndef YY_EXTRA_TYPE
01316 #define YY_EXTRA_TYPE void *
01317 #endif
01318
01319
01320 struct yyguts_t
01321 {
01322
01323
01324 YY_EXTRA_TYPE yyextra_r;
01325
01326
01327 FILE *yyin_r, *yyout_r;
01328 size_t yy_buffer_stack_top;
01329 size_t yy_buffer_stack_max;
01330 YY_BUFFER_STATE * yy_buffer_stack;
01331 char yy_hold_char;
01332 int yy_n_chars;
01333 int yyleng_r;
01334 char *yy_c_buf_p;
01335 int yy_init;
01336 int yy_start;
01337 int yy_did_buffer_switch_on_eof;
01338 int yy_start_stack_ptr;
01339 int yy_start_stack_depth;
01340 int *yy_start_stack;
01341 yy_state_type yy_last_accepting_state;
01342 char* yy_last_accepting_cpos;
01343
01344 int yylineno_r;
01345 int yy_flex_debug_r;
01346
01347 char *yytext_r;
01348 int yy_more_flag;
01349 int yy_more_len;
01350
01351 YYSTYPE * yylval_r;
01352
01353 YYLTYPE * yylloc_r;
01354
01355 };
01356
01357
01358
01359 # define yylval yyg->yylval_r
01360
01361 # define yylloc yyg->yylloc_r
01362
01363
01364
01365
01366 int ast_yylex_destroy (yyscan_t yyscanner );
01367
01368 int ast_yyget_debug (yyscan_t yyscanner );
01369
01370 void ast_yyset_debug (int debug_flag ,yyscan_t yyscanner );
01371
01372 YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner );
01373
01374 void ast_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
01375
01376 FILE *ast_yyget_in (yyscan_t yyscanner );
01377
01378 void ast_yyset_in (FILE * in_str ,yyscan_t yyscanner );
01379
01380 FILE *ast_yyget_out (yyscan_t yyscanner );
01381
01382 void ast_yyset_out (FILE * out_str ,yyscan_t yyscanner );
01383
01384 int ast_yyget_leng (yyscan_t yyscanner );
01385
01386 char *ast_yyget_text (yyscan_t yyscanner );
01387
01388 int ast_yyget_lineno (yyscan_t yyscanner );
01389
01390 void ast_yyset_lineno (int line_number ,yyscan_t yyscanner );
01391
01392 YYSTYPE * ast_yyget_lval (yyscan_t yyscanner );
01393
01394 void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
01395
01396 YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner );
01397
01398 void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
01399
01400
01401
01402
01403
01404 #ifndef YY_SKIP_YYWRAP
01405 #ifdef __cplusplus
01406 extern "C" int ast_yywrap (yyscan_t yyscanner );
01407 #else
01408 extern int ast_yywrap (yyscan_t yyscanner );
01409 #endif
01410 #endif
01411
01412 static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
01413
01414 #ifndef yytext_ptr
01415 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
01416 #endif
01417
01418 #ifdef YY_NEED_STRLEN
01419 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
01420 #endif
01421
01422 #ifndef YY_NO_INPUT
01423
01424 #ifdef __cplusplus
01425 static int yyinput (yyscan_t yyscanner );
01426 #else
01427 static int input (yyscan_t yyscanner );
01428 #endif
01429
01430 #endif
01431
01432
01433 #ifndef YY_READ_BUF_SIZE
01434 #define YY_READ_BUF_SIZE 8192
01435 #endif
01436
01437
01438 #ifndef ECHO
01439
01440
01441
01442 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
01443 #endif
01444
01445
01446
01447
01448 #ifndef YY_INPUT
01449 #define YY_INPUT(buf,result,max_size) \
01450 errno=0; \
01451 while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
01452 { \
01453 if( errno != EINTR) \
01454 { \
01455 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01456 break; \
01457 } \
01458 errno=0; \
01459 clearerr(yyin); \
01460 }\
01461 \
01462
01463 #endif
01464
01465
01466
01467
01468
01469 #ifndef yyterminate
01470 #define yyterminate() return YY_NULL
01471 #endif
01472
01473
01474 #ifndef YY_START_STACK_INCR
01475 #define YY_START_STACK_INCR 25
01476 #endif
01477
01478
01479 #ifndef YY_FATAL_ERROR
01480 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01481 #endif
01482
01483
01484
01485
01486
01487
01488 #ifndef YY_DECL
01489 #define YY_DECL_IS_OURS 1
01490
01491 extern int ast_yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
01492
01493 #define YY_DECL int ast_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
01494 #endif
01495
01496
01497
01498
01499 #ifndef YY_USER_ACTION
01500 #define YY_USER_ACTION
01501 #endif
01502
01503
01504 #ifndef YY_BREAK
01505 #define YY_BREAK break;
01506 #endif
01507
01508 #define YY_RULE_SETUP \
01509 YY_USER_ACTION
01510
01511
01512
01513 YY_DECL
01514 {
01515 register yy_state_type yy_current_state;
01516 register char *yy_cp, *yy_bp;
01517 register int yy_act;
01518 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01519
01520 #line 64 "ast_expr2.fl"
01521
01522
01523 #line 1524 "ast_expr2f.c"
01524
01525 yylval = yylval_param;
01526
01527 yylloc = yylloc_param;
01528
01529 if ( yyg->yy_init )
01530 {
01531 yyg->yy_init = 0;
01532
01533 #ifdef YY_USER_INIT
01534 YY_USER_INIT;
01535 #endif
01536
01537 if ( ! yyg->yy_start )
01538 yyg->yy_start = 1;
01539
01540 if ( ! yyin )
01541 yyin = stdin;
01542
01543 if ( ! yyout )
01544 yyout = stdout;
01545
01546 if ( ! YY_CURRENT_BUFFER ) {
01547 ast_yyensure_buffer_stack (yyscanner);
01548 YY_CURRENT_BUFFER_LVALUE =
01549 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01550 }
01551
01552 ast_yy_load_buffer_state(yyscanner );
01553 }
01554
01555 while ( 1 )
01556 {
01557 yyg->yy_more_len = 0;
01558 if ( yyg->yy_more_flag )
01559 {
01560 yyg->yy_more_len = yyg->yy_c_buf_p - yyg->yytext_ptr;
01561 yyg->yy_more_flag = 0;
01562 }
01563 yy_cp = yyg->yy_c_buf_p;
01564
01565
01566 *yy_cp = yyg->yy_hold_char;
01567
01568
01569
01570
01571 yy_bp = yy_cp;
01572
01573 yy_current_state = yyg->yy_start;
01574 yy_match:
01575 while ( (yy_current_state = yy_nxt[yy_current_state][ YY_SC_TO_UI(*yy_cp) ]) > 0 )
01576 {
01577 if ( yy_accept[yy_current_state] )
01578 {
01579 yyg->yy_last_accepting_state = yy_current_state;
01580 yyg->yy_last_accepting_cpos = yy_cp;
01581 }
01582
01583 ++yy_cp;
01584 }
01585
01586 yy_current_state = -yy_current_state;
01587
01588 yy_find_action:
01589 yy_act = yy_accept[yy_current_state];
01590
01591 YY_DO_BEFORE_ACTION;
01592
01593 do_action:
01594
01595 switch ( yy_act )
01596 {
01597 case 0:
01598
01599 *yy_cp = yyg->yy_hold_char;
01600 yy_cp = yyg->yy_last_accepting_cpos + 1;
01601 yy_current_state = yyg->yy_last_accepting_state;
01602 goto yy_find_action;
01603
01604 case 1:
01605 YY_RULE_SETUP
01606 #line 66 "ast_expr2.fl"
01607 { SET_COLUMNS; SET_STRING; return TOK_OR;}
01608 YY_BREAK
01609 case 2:
01610 YY_RULE_SETUP
01611 #line 67 "ast_expr2.fl"
01612 { SET_COLUMNS; SET_STRING; return TOK_AND;}
01613 YY_BREAK
01614 case 3:
01615 YY_RULE_SETUP
01616 #line 68 "ast_expr2.fl"
01617 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
01618 YY_BREAK
01619 case 4:
01620 YY_RULE_SETUP
01621 #line 69 "ast_expr2.fl"
01622 { SET_COLUMNS; SET_STRING; return TOK_GT;}
01623 YY_BREAK
01624 case 5:
01625 YY_RULE_SETUP
01626 #line 70 "ast_expr2.fl"
01627 { SET_COLUMNS; SET_STRING; return TOK_LT;}
01628 YY_BREAK
01629 case 6:
01630 YY_RULE_SETUP
01631 #line 71 "ast_expr2.fl"
01632 { SET_COLUMNS; SET_STRING; return TOK_GE;}
01633 YY_BREAK
01634 case 7:
01635 YY_RULE_SETUP
01636 #line 72 "ast_expr2.fl"
01637 { SET_COLUMNS; SET_STRING; return TOK_LE;}
01638 YY_BREAK
01639 case 8:
01640 YY_RULE_SETUP
01641 #line 73 "ast_expr2.fl"
01642 { SET_COLUMNS; SET_STRING; return TOK_NE;}
01643 YY_BREAK
01644 case 9:
01645 YY_RULE_SETUP
01646 #line 74 "ast_expr2.fl"
01647 { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
01648 YY_BREAK
01649 case 10:
01650 YY_RULE_SETUP
01651 #line 75 "ast_expr2.fl"
01652 { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
01653 YY_BREAK
01654 case 11:
01655 YY_RULE_SETUP
01656 #line 76 "ast_expr2.fl"
01657 { SET_COLUMNS; SET_STRING; return TOK_MULT;}
01658 YY_BREAK
01659 case 12:
01660 YY_RULE_SETUP
01661 #line 77 "ast_expr2.fl"
01662 { SET_COLUMNS; SET_STRING; return TOK_DIV;}
01663 YY_BREAK
01664 case 13:
01665 YY_RULE_SETUP
01666 #line 78 "ast_expr2.fl"
01667 { SET_COLUMNS; SET_STRING; return TOK_MOD;}
01668 YY_BREAK
01669 case 14:
01670 YY_RULE_SETUP
01671 #line 79 "ast_expr2.fl"
01672 { SET_COLUMNS; SET_STRING; return TOK_COND;}
01673 YY_BREAK
01674 case 15:
01675 YY_RULE_SETUP
01676 #line 80 "ast_expr2.fl"
01677 { SET_COLUMNS; SET_STRING; return TOK_COLON;}
01678 YY_BREAK
01679 case 16:
01680 YY_RULE_SETUP
01681 #line 81 "ast_expr2.fl"
01682 { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
01683 YY_BREAK
01684 case 17:
01685 YY_RULE_SETUP
01686 #line 82 "ast_expr2.fl"
01687 { SET_COLUMNS; SET_STRING; return TOK_LP;}
01688 YY_BREAK
01689 case 18:
01690 YY_RULE_SETUP
01691 #line 83 "ast_expr2.fl"
01692 { SET_COLUMNS; SET_STRING; return TOK_RP;}
01693 YY_BREAK
01694 case 19:
01695 YY_RULE_SETUP
01696 #line 84 "ast_expr2.fl"
01697 {
01698 curlycount = 0; BEGIN(var); yymore();}
01699 YY_BREAK
01700 case 20:
01701 YY_RULE_SETUP
01702 #line 87 "ast_expr2.fl"
01703 {}
01704 YY_BREAK
01705 case 21:
01706
01707 YY_RULE_SETUP
01708 #line 88 "ast_expr2.fl"
01709 {SET_COLUMNS; SET_STRING; return TOKEN;}
01710 YY_BREAK
01711 case 22:
01712
01713 YY_RULE_SETUP
01714 #line 90 "ast_expr2.fl"
01715 {}
01716 YY_BREAK
01717 case 23:
01718 YY_RULE_SETUP
01719 #line 91 "ast_expr2.fl"
01720 { SET_COLUMNS;
01721 SET_NUMERIC_STRING;
01722 return TOKEN;}
01723 YY_BREAK
01724 case 24:
01725 YY_RULE_SETUP
01726 #line 94 "ast_expr2.fl"
01727 {SET_COLUMNS; SET_STRING; return TOKEN;}
01728 YY_BREAK
01729 case 25:
01730
01731 YY_RULE_SETUP
01732 #line 96 "ast_expr2.fl"
01733 {curlycount--; if(curlycount < 0){ BEGIN(trail); yymore();} else { yymore();}}
01734 YY_BREAK
01735 case 26:
01736
01737 YY_RULE_SETUP
01738 #line 97 "ast_expr2.fl"
01739 {curlycount++; yymore(); }
01740 YY_BREAK
01741 case 27:
01742 YY_RULE_SETUP
01743 #line 98 "ast_expr2.fl"
01744 {BEGIN(0); SET_COLUMNS; SET_STRING; return TOKEN;}
01745 YY_BREAK
01746 case 28:
01747
01748 YY_RULE_SETUP
01749 #line 99 "ast_expr2.fl"
01750 {char c = yytext[yyleng-1]; BEGIN(0); unput(c); SET_COLUMNS; SET_STRING; return TOKEN;}
01751 YY_BREAK
01752 case 29:
01753 YY_RULE_SETUP
01754 #line 100 "ast_expr2.fl"
01755 {curlycount = 0; BEGIN(var); yymore(); }
01756 YY_BREAK
01757 case YY_STATE_EOF(trail):
01758 #line 101 "ast_expr2.fl"
01759 {BEGIN(0); SET_COLUMNS; SET_STRING; return TOKEN; }
01760 YY_BREAK
01761 case 30:
01762 YY_RULE_SETUP
01763 #line 103 "ast_expr2.fl"
01764 ECHO;
01765 YY_BREAK
01766 #line 1767 "ast_expr2f.c"
01767 case YY_STATE_EOF(INITIAL):
01768 case YY_STATE_EOF(var):
01769 yyterminate();
01770
01771 case YY_END_OF_BUFFER:
01772 {
01773
01774 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
01775
01776
01777 *yy_cp = yyg->yy_hold_char;
01778 YY_RESTORE_YY_MORE_OFFSET
01779
01780 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01781 {
01782
01783
01784
01785
01786
01787
01788
01789
01790
01791 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01792 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01793 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01794 }
01795
01796
01797
01798
01799
01800
01801
01802
01803 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01804 {
01805 yy_state_type yy_next_state;
01806
01807 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
01808
01809 yy_current_state = yy_get_previous_state( yyscanner );
01810
01811
01812
01813
01814
01815
01816
01817
01818
01819
01820 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
01821
01822 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01823
01824 if ( yy_next_state )
01825 {
01826
01827 yy_cp = ++yyg->yy_c_buf_p;
01828 yy_current_state = yy_next_state;
01829 goto yy_match;
01830 }
01831
01832 else
01833 {
01834 yy_cp = yyg->yy_c_buf_p;
01835 goto yy_find_action;
01836 }
01837 }
01838
01839 else switch ( yy_get_next_buffer( yyscanner ) )
01840 {
01841 case EOB_ACT_END_OF_FILE:
01842 {
01843 yyg->yy_did_buffer_switch_on_eof = 0;
01844
01845 if ( ast_yywrap(yyscanner ) )
01846 {
01847
01848
01849
01850
01851
01852
01853
01854
01855
01856 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
01857
01858 yy_act = YY_STATE_EOF(YY_START);
01859 goto do_action;
01860 }
01861
01862 else
01863 {
01864 if ( ! yyg->yy_did_buffer_switch_on_eof )
01865 YY_NEW_FILE;
01866 }
01867 break;
01868 }
01869
01870 case EOB_ACT_CONTINUE_SCAN:
01871 yyg->yy_c_buf_p =
01872 yyg->yytext_ptr + yy_amount_of_matched_text;
01873
01874 yy_current_state = yy_get_previous_state( yyscanner );
01875
01876 yy_cp = yyg->yy_c_buf_p;
01877 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01878 goto yy_match;
01879
01880 case EOB_ACT_LAST_MATCH:
01881 yyg->yy_c_buf_p =
01882 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
01883
01884 yy_current_state = yy_get_previous_state( yyscanner );
01885
01886 yy_cp = yyg->yy_c_buf_p;
01887 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01888 goto yy_find_action;
01889 }
01890 break;
01891 }
01892
01893 default:
01894 YY_FATAL_ERROR(
01895 "fatal flex scanner internal error--no action found" );
01896 }
01897 }
01898 }
01899
01900
01901
01902
01903
01904
01905
01906
01907 static int yy_get_next_buffer (yyscan_t yyscanner)
01908 {
01909 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01910 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01911 register char *source = yyg->yytext_ptr;
01912 register int number_to_move, i;
01913 int ret_val;
01914
01915 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
01916 YY_FATAL_ERROR(
01917 "fatal flex scanner internal error--end of buffer missed" );
01918
01919 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01920 {
01921 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
01922 {
01923
01924
01925
01926 return EOB_ACT_END_OF_FILE;
01927 }
01928
01929 else
01930 {
01931
01932
01933
01934 return EOB_ACT_LAST_MATCH;
01935 }
01936 }
01937
01938
01939
01940
01941 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
01942
01943 for ( i = 0; i < number_to_move; ++i )
01944 *(dest++) = *(source++);
01945
01946 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01947
01948
01949
01950 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
01951
01952 else
01953 {
01954 size_t num_to_read =
01955 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01956
01957 while ( num_to_read <= 0 )
01958 {
01959
01960
01961 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
01962
01963 int yy_c_buf_p_offset =
01964 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
01965
01966 if ( b->yy_is_our_buffer )
01967 {
01968 int new_size = b->yy_buf_size * 2;
01969
01970 if ( new_size <= 0 )
01971 b->yy_buf_size += b->yy_buf_size / 8;
01972 else
01973 b->yy_buf_size *= 2;
01974
01975 b->yy_ch_buf = (char *)
01976
01977 ast_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
01978 }
01979 else
01980
01981 b->yy_ch_buf = 0;
01982
01983 if ( ! b->yy_ch_buf )
01984 YY_FATAL_ERROR(
01985 "fatal error - scanner input buffer overflow" );
01986
01987 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01988
01989 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
01990 number_to_move - 1;
01991
01992 }
01993
01994 if ( num_to_read > YY_READ_BUF_SIZE )
01995 num_to_read = YY_READ_BUF_SIZE;
01996
01997
01998 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01999 yyg->yy_n_chars, num_to_read );
02000
02001 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02002 }
02003
02004 if ( yyg->yy_n_chars == 0 )
02005 {
02006 if ( number_to_move == YY_MORE_ADJ )
02007 {
02008 ret_val = EOB_ACT_END_OF_FILE;
02009 ast_yyrestart(yyin ,yyscanner);
02010 }
02011
02012 else
02013 {
02014 ret_val = EOB_ACT_LAST_MATCH;
02015 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02016 YY_BUFFER_EOF_PENDING;
02017 }
02018 }
02019
02020 else
02021 ret_val = EOB_ACT_CONTINUE_SCAN;
02022
02023 yyg->yy_n_chars += number_to_move;
02024 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02025 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02026
02027 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02028
02029 return ret_val;
02030 }
02031
02032
02033
02034 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02035 {
02036 register yy_state_type yy_current_state;
02037 register char *yy_cp;
02038 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02039
02040 yy_current_state = yyg->yy_start;
02041
02042 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02043 {
02044 if ( *yy_cp )
02045 {
02046 yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
02047 }
02048 else
02049 yy_current_state = yy_NUL_trans[yy_current_state];
02050 if ( yy_accept[yy_current_state] )
02051 {
02052 yyg->yy_last_accepting_state = yy_current_state;
02053 yyg->yy_last_accepting_cpos = yy_cp;
02054 }
02055 }
02056
02057 return yy_current_state;
02058 }
02059
02060
02061
02062
02063
02064
02065 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
02066 {
02067 register int yy_is_jam;
02068 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02069 register char *yy_cp = yyg->yy_c_buf_p;
02070
02071 yy_current_state = yy_NUL_trans[yy_current_state];
02072 yy_is_jam = (yy_current_state == 0);
02073
02074 if ( ! yy_is_jam )
02075 {
02076 if ( yy_accept[yy_current_state] )
02077 {
02078 yyg->yy_last_accepting_state = yy_current_state;
02079 yyg->yy_last_accepting_cpos = yy_cp;
02080 }
02081 }
02082
02083 return yy_is_jam ? 0 : yy_current_state;
02084 }
02085
02086 static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
02087 {
02088 register char *yy_cp;
02089 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02090
02091 yy_cp = yyg->yy_c_buf_p;
02092
02093
02094 *yy_cp = yyg->yy_hold_char;
02095
02096 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02097 {
02098
02099 register int number_to_move = yyg->yy_n_chars + 2;
02100 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
02101 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
02102 register char *source =
02103 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
02104
02105 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02106 *--dest = *--source;
02107
02108 yy_cp += (int) (dest - source);
02109 yy_bp += (int) (dest - source);
02110 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
02111 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
02112
02113 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02114 YY_FATAL_ERROR( "flex scanner push-back overflow" );
02115 }
02116
02117 *--yy_cp = (char) c;
02118
02119 yyg->yytext_ptr = yy_bp;
02120 yyg->yy_hold_char = *yy_cp;
02121 yyg->yy_c_buf_p = yy_cp;
02122 }
02123
02124 #ifndef YY_NO_INPUT
02125 #ifdef __cplusplus
02126 static int yyinput (yyscan_t yyscanner)
02127 #else
02128 static int input (yyscan_t yyscanner)
02129 #endif
02130
02131 {
02132 int c;
02133 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02134
02135 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02136
02137 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02138 {
02139
02140
02141
02142
02143 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02144
02145 *yyg->yy_c_buf_p = '\0';
02146
02147 else
02148 {
02149 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02150 ++yyg->yy_c_buf_p;
02151
02152 switch ( yy_get_next_buffer( yyscanner ) )
02153 {
02154 case EOB_ACT_LAST_MATCH:
02155
02156
02157
02158
02159
02160
02161
02162
02163
02164
02165
02166 ast_yyrestart(yyin ,yyscanner);
02167
02168
02169
02170 case EOB_ACT_END_OF_FILE:
02171 {
02172 if ( ast_yywrap(yyscanner ) )
02173 return EOF;
02174
02175 if ( ! yyg->yy_did_buffer_switch_on_eof )
02176 YY_NEW_FILE;
02177 #ifdef __cplusplus
02178 return yyinput(yyscanner);
02179 #else
02180 return input(yyscanner);
02181 #endif
02182 }
02183
02184 case EOB_ACT_CONTINUE_SCAN:
02185 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02186 break;
02187 }
02188 }
02189 }
02190
02191 c = *(unsigned char *) yyg->yy_c_buf_p;
02192 *yyg->yy_c_buf_p = '\0';
02193 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02194
02195 return c;
02196 }
02197 #endif
02198
02199
02200
02201
02202
02203
02204 void ast_yyrestart (FILE * input_file , yyscan_t yyscanner)
02205 {
02206 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02207
02208 if ( ! YY_CURRENT_BUFFER ){
02209 ast_yyensure_buffer_stack (yyscanner);
02210 YY_CURRENT_BUFFER_LVALUE =
02211 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02212 }
02213
02214 ast_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02215 ast_yy_load_buffer_state(yyscanner );
02216 }
02217
02218
02219
02220
02221
02222 void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02223 {
02224 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02225
02226
02227
02228
02229
02230
02231 ast_yyensure_buffer_stack (yyscanner);
02232 if ( YY_CURRENT_BUFFER == new_buffer )
02233 return;
02234
02235 if ( YY_CURRENT_BUFFER )
02236 {
02237
02238 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02239 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02240 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02241 }
02242
02243 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02244 ast_yy_load_buffer_state(yyscanner );
02245
02246
02247
02248
02249
02250
02251 yyg->yy_did_buffer_switch_on_eof = 1;
02252 }
02253
02254 static void ast_yy_load_buffer_state (yyscan_t yyscanner)
02255 {
02256 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02257 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02258 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02259 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02260 yyg->yy_hold_char = *yyg->yy_c_buf_p;
02261 }
02262
02263
02264
02265
02266
02267
02268
02269 YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
02270 {
02271 YY_BUFFER_STATE b;
02272
02273 b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02274 if ( ! b )
02275 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
02276
02277 b->yy_buf_size = size;
02278
02279
02280
02281
02282 b->yy_ch_buf = (char *) ast_yyalloc(b->yy_buf_size + 2 ,yyscanner );
02283 if ( ! b->yy_ch_buf )
02284 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
02285
02286 b->yy_is_our_buffer = 1;
02287
02288 ast_yy_init_buffer(b,file ,yyscanner);
02289
02290 return b;
02291 }
02292
02293
02294
02295
02296
02297 void ast_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02298 {
02299 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02300
02301 if ( ! b )
02302 return;
02303
02304 if ( b == YY_CURRENT_BUFFER )
02305 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02306
02307 if ( b->yy_is_our_buffer )
02308 ast_yyfree((void *) b->yy_ch_buf ,yyscanner );
02309
02310 ast_yyfree((void *) b ,yyscanner );
02311 }
02312
02313 #ifndef __cplusplus
02314 extern int isatty (int );
02315 #endif
02316
02317
02318
02319
02320
02321 static void ast_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
02322
02323 {
02324 int oerrno = errno;
02325 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02326
02327 ast_yy_flush_buffer(b ,yyscanner);
02328
02329 b->yy_input_file = file;
02330 b->yy_fill_buffer = 1;
02331
02332
02333
02334
02335
02336 if (b != YY_CURRENT_BUFFER){
02337 b->yy_bs_lineno = 1;
02338 b->yy_bs_column = 0;
02339 }
02340
02341 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02342
02343 errno = oerrno;
02344 }
02345
02346
02347
02348
02349
02350 void ast_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02351 {
02352 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02353 if ( ! b )
02354 return;
02355
02356 b->yy_n_chars = 0;
02357
02358
02359
02360
02361
02362 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02363 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02364
02365 b->yy_buf_pos = &b->yy_ch_buf[0];
02366
02367 b->yy_at_bol = 1;
02368 b->yy_buffer_status = YY_BUFFER_NEW;
02369
02370 if ( b == YY_CURRENT_BUFFER )
02371 ast_yy_load_buffer_state(yyscanner );
02372 }
02373
02374
02375
02376
02377
02378
02379
02380 void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02381 {
02382 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02383 if (new_buffer == NULL)
02384 return;
02385
02386 ast_yyensure_buffer_stack(yyscanner);
02387
02388
02389 if ( YY_CURRENT_BUFFER )
02390 {
02391
02392 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02393 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02394 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02395 }
02396
02397
02398 if (YY_CURRENT_BUFFER)
02399 yyg->yy_buffer_stack_top++;
02400 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02401
02402
02403 ast_yy_load_buffer_state(yyscanner );
02404 yyg->yy_did_buffer_switch_on_eof = 1;
02405 }
02406
02407
02408
02409
02410
02411 void ast_yypop_buffer_state (yyscan_t yyscanner)
02412 {
02413 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02414 if (!YY_CURRENT_BUFFER)
02415 return;
02416
02417 ast_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02418 YY_CURRENT_BUFFER_LVALUE = NULL;
02419 if (yyg->yy_buffer_stack_top > 0)
02420 --yyg->yy_buffer_stack_top;
02421
02422 if (YY_CURRENT_BUFFER) {
02423 ast_yy_load_buffer_state(yyscanner );
02424 yyg->yy_did_buffer_switch_on_eof = 1;
02425 }
02426 }
02427
02428
02429
02430
02431 static void ast_yyensure_buffer_stack (yyscan_t yyscanner)
02432 {
02433 int num_to_alloc;
02434 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02435
02436 if (!yyg->yy_buffer_stack) {
02437
02438
02439
02440
02441
02442 num_to_alloc = 1;
02443 yyg->yy_buffer_stack = (struct yy_buffer_state**)ast_yyalloc
02444 (num_to_alloc * sizeof(struct yy_buffer_state*)
02445 , yyscanner);
02446
02447 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02448
02449 yyg->yy_buffer_stack_max = num_to_alloc;
02450 yyg->yy_buffer_stack_top = 0;
02451 return;
02452 }
02453
02454 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02455
02456
02457 int grow_size = 8 ;
02458
02459 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02460 yyg->yy_buffer_stack = (struct yy_buffer_state**)ast_yyrealloc
02461 (yyg->yy_buffer_stack,
02462 num_to_alloc * sizeof(struct yy_buffer_state*)
02463 , yyscanner);
02464
02465
02466 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02467 yyg->yy_buffer_stack_max = num_to_alloc;
02468 }
02469 }
02470
02471
02472
02473
02474
02475
02476
02477 YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
02478 {
02479 YY_BUFFER_STATE b;
02480
02481 if ( size < 2 ||
02482 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02483 base[size-1] != YY_END_OF_BUFFER_CHAR )
02484
02485 return 0;
02486
02487 b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02488 if ( ! b )
02489 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_scan_buffer()" );
02490
02491 b->yy_buf_size = size - 2;
02492 b->yy_buf_pos = b->yy_ch_buf = base;
02493 b->yy_is_our_buffer = 0;
02494 b->yy_input_file = 0;
02495 b->yy_n_chars = b->yy_buf_size;
02496 b->yy_is_interactive = 0;
02497 b->yy_at_bol = 1;
02498 b->yy_fill_buffer = 0;
02499 b->yy_buffer_status = YY_BUFFER_NEW;
02500
02501 ast_yy_switch_to_buffer(b ,yyscanner );
02502
02503 return b;
02504 }
02505
02506
02507
02508
02509
02510
02511
02512
02513
02514 YY_BUFFER_STATE ast_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
02515 {
02516
02517 return ast_yy_scan_bytes(str,strlen(str) ,yyscanner);
02518 }
02519
02520
02521
02522
02523
02524
02525
02526
02527 YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
02528 {
02529 YY_BUFFER_STATE b;
02530 char *buf;
02531 yy_size_t n;
02532 int i;
02533
02534
02535 n = len + 2;
02536 buf = (char *) ast_yyalloc(n ,yyscanner );
02537 if ( ! buf )
02538 YY_FATAL_ERROR( "out of dynamic memory in ast_yy_scan_bytes()" );
02539
02540 for ( i = 0; i < len; ++i )
02541 buf[i] = bytes[i];
02542
02543 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
02544
02545 b = ast_yy_scan_buffer(buf,n ,yyscanner);
02546 if ( ! b )
02547 YY_FATAL_ERROR( "bad buffer in ast_yy_scan_bytes()" );
02548
02549
02550
02551
02552 b->yy_is_our_buffer = 1;
02553
02554 return b;
02555 }
02556
02557 #ifndef YY_EXIT_FAILURE
02558 #define YY_EXIT_FAILURE 2
02559 #endif
02560
02561 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02562 {
02563 (void) fprintf( stderr, "%s\n", msg );
02564 exit( YY_EXIT_FAILURE );
02565 }
02566
02567
02568
02569 #undef yyless
02570 #define yyless(n) \
02571 do \
02572 { \
02573 \
02574 int yyless_macro_arg = (n); \
02575 YY_LESS_LINENO(yyless_macro_arg);\
02576 yytext[yyleng] = yyg->yy_hold_char; \
02577 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02578 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02579 *yyg->yy_c_buf_p = '\0'; \
02580 yyleng = yyless_macro_arg; \
02581 } \
02582 while ( 0 )
02583
02584
02585
02586
02587
02588
02589 YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner)
02590 {
02591 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02592 return yyextra;
02593 }
02594
02595
02596
02597
02598 int ast_yyget_lineno (yyscan_t yyscanner)
02599 {
02600 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02601
02602 if (! YY_CURRENT_BUFFER)
02603 return 0;
02604
02605 return yylineno;
02606 }
02607
02608
02609
02610
02611 int ast_yyget_column (yyscan_t yyscanner)
02612 {
02613 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02614
02615 if (! YY_CURRENT_BUFFER)
02616 return 0;
02617
02618 return yycolumn;
02619 }
02620
02621
02622
02623
02624 FILE *ast_yyget_in (yyscan_t yyscanner)
02625 {
02626 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02627 return yyin;
02628 }
02629
02630
02631
02632
02633 FILE *ast_yyget_out (yyscan_t yyscanner)
02634 {
02635 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02636 return yyout;
02637 }
02638
02639
02640
02641
02642 int ast_yyget_leng (yyscan_t yyscanner)
02643 {
02644 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02645 return yyleng;
02646 }
02647
02648
02649
02650
02651
02652 char *ast_yyget_text (yyscan_t yyscanner)
02653 {
02654 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02655 return yytext;
02656 }
02657
02658
02659
02660
02661
02662 void ast_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
02663 {
02664 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02665 yyextra = user_defined ;
02666 }
02667
02668
02669
02670
02671
02672 void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
02673 {
02674 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02675
02676
02677 if (! YY_CURRENT_BUFFER )
02678 yy_fatal_error( "ast_yyset_lineno called with no buffer" , yyscanner);
02679
02680 yylineno = line_number;
02681 }
02682
02683
02684
02685
02686
02687 void ast_yyset_column (int column_no , yyscan_t yyscanner)
02688 {
02689 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02690
02691
02692 if (! YY_CURRENT_BUFFER )
02693 yy_fatal_error( "ast_yyset_column called with no buffer" , yyscanner);
02694
02695 yycolumn = column_no;
02696 }
02697
02698
02699
02700
02701
02702
02703
02704 void ast_yyset_in (FILE * in_str , yyscan_t yyscanner)
02705 {
02706 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02707 yyin = in_str ;
02708 }
02709
02710 void ast_yyset_out (FILE * out_str , yyscan_t yyscanner)
02711 {
02712 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02713 yyout = out_str ;
02714 }
02715
02716 int ast_yyget_debug (yyscan_t yyscanner)
02717 {
02718 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02719 return yy_flex_debug;
02720 }
02721
02722 void ast_yyset_debug (int bdebug , yyscan_t yyscanner)
02723 {
02724 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02725 yy_flex_debug = bdebug ;
02726 }
02727
02728
02729
02730 YYSTYPE * ast_yyget_lval (yyscan_t yyscanner)
02731 {
02732 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02733 return yylval;
02734 }
02735
02736 void ast_yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
02737 {
02738 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02739 yylval = yylval_param;
02740 }
02741
02742 YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner)
02743 {
02744 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02745 return yylloc;
02746 }
02747
02748 void ast_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
02749 {
02750 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02751 yylloc = yylloc_param;
02752 }
02753
02754 static int yy_init_globals (yyscan_t yyscanner)
02755 {
02756 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02757
02758
02759
02760 yyg->yy_buffer_stack = 0;
02761 yyg->yy_buffer_stack_top = 0;
02762 yyg->yy_buffer_stack_max = 0;
02763 yyg->yy_c_buf_p = (char *) 0;
02764 yyg->yy_init = 1;
02765 yyg->yy_start = 0;
02766 yyg->yy_start_stack_ptr = 0;
02767 yyg->yy_start_stack_depth = 0;
02768 yyg->yy_start_stack = (int *) 0;
02769
02770
02771 #ifdef YY_STDINIT
02772 yyin = stdin;
02773 yyout = stdout;
02774 #else
02775 yyin = (FILE *) 0;
02776 yyout = (FILE *) 0;
02777 #endif
02778
02779
02780
02781
02782 return 0;
02783 }
02784
02785
02786
02787
02788
02789
02790
02791
02792 int ast_yylex_init(yyscan_t* ptr_yy_globals)
02793
02794 {
02795 if (ptr_yy_globals == NULL){
02796 errno = EINVAL;
02797 return 1;
02798 }
02799
02800 *ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), NULL );
02801
02802 if (*ptr_yy_globals == NULL){
02803 errno = ENOMEM;
02804 return 1;
02805 }
02806
02807 memset(*ptr_yy_globals,0,sizeof(struct yyguts_t));
02808
02809 return yy_init_globals ( *ptr_yy_globals );
02810 }
02811
02812
02813 int ast_yylex_destroy (yyscan_t yyscanner)
02814 {
02815 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02816
02817
02818 while(YY_CURRENT_BUFFER){
02819 ast_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
02820 YY_CURRENT_BUFFER_LVALUE = NULL;
02821 ast_yypop_buffer_state(yyscanner);
02822 }
02823
02824
02825 ast_yyfree(yyg->yy_buffer_stack ,yyscanner);
02826 yyg->yy_buffer_stack = NULL;
02827
02828
02829 ast_yyfree(yyg->yy_start_stack ,yyscanner );
02830 yyg->yy_start_stack = NULL;
02831
02832
02833 ast_yyfree ( yyscanner , yyscanner );
02834 return 0;
02835 }
02836
02837
02838
02839
02840
02841 #ifndef yytext_ptr
02842 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
02843 {
02844 register int i;
02845 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02846 for ( i = 0; i < n; ++i )
02847 s1[i] = s2[i];
02848 }
02849 #endif
02850
02851 #ifdef YY_NEED_STRLEN
02852 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
02853 {
02854 register int n;
02855 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02856 for ( n = 0; s[n]; ++n )
02857 ;
02858
02859 return n;
02860 }
02861 #endif
02862
02863 void *ast_yyalloc (yy_size_t size , yyscan_t yyscanner)
02864 {
02865 return (void *) malloc( size );
02866 }
02867
02868 void *ast_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
02869 {
02870
02871
02872
02873
02874
02875
02876
02877 return (void *) realloc( (char *) ptr, size );
02878 }
02879
02880 void ast_yyfree (void * ptr , yyscan_t yyscanner)
02881 {
02882 free( (char *) ptr );
02883 }
02884
02885 #define YYTABLES_NAME "yytables"
02886
02887 #undef YY_NEW_FILE
02888 #undef YY_FLUSH_BUFFER
02889 #undef yy_set_bol
02890 #undef yy_new_buffer
02891 #undef yy_set_interactive
02892 #undef yytext_ptr
02893 #undef YY_DO_BEFORE_ACTION
02894
02895 #ifdef YY_DECL_IS_OURS
02896 #undef YY_DECL_IS_OURS
02897 #undef YY_DECL
02898 #endif
02899 #line 103 "ast_expr2.fl"
02900
02901
02902
02903
02904
02905
02906
02907
02908
02909 int ast_yyparse(void *);
02910 int ast_yyerror(const char *, YYLTYPE *, struct parse_io *);
02911
02912 int ast_expr(char *expr, char *buf, int length)
02913 {
02914 struct parse_io io;
02915 int return_value = 0;
02916
02917 memset(&io, 0, sizeof(io));
02918 io.string = expr;
02919
02920 ast_yylex_init(&io.scanner);
02921
02922 ast_yy_scan_string(expr, io.scanner);
02923
02924 ast_yyparse ((void *) &io);
02925
02926 ast_yylex_destroy(io.scanner);
02927
02928 if (!io.val) {
02929 if (length > 1) {
02930 strcpy(buf, "0");
02931 return_value = 1;
02932 }
02933 } else {
02934 if (io.val->type == AST_EXPR_integer) {
02935 int res_length;
02936
02937 res_length = snprintf(buf, length, "%ld", (long int) io.val->u.i);
02938 return_value = (res_length <= length) ? res_length : length;
02939 } else {
02940 #ifdef STANDALONE
02941 strncpy(buf, io.val->u.s, length - 1);
02942 #else
02943 ast_copy_string(buf, io.val->u.s, length);
02944 #endif
02945 return_value = strlen(buf);
02946 free(io.val->u.s);
02947 }
02948 free(io.val);
02949 }
02950 return return_value;
02951 }
02952
02953 int ast_yyerror (const char *s, yyltype *loc, struct parse_io *parseio )
02954 {
02955 struct yyguts_t * yyg = (struct yyguts_t*)(parseio->scanner);
02956 char spacebuf[8000];
02957 char spacebuf2[8000];
02958 int i=0;
02959 spacebuf[0] = 0;
02960
02961 for(i=0;i< (int)(yytext - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);i++) spacebuf2[i] = ' ';
02962
02963
02964
02965
02966
02967
02968
02969
02970
02971
02972 spacebuf2[i++]='^';
02973 spacebuf2[i]= 0;
02974
02975 #ifdef STANDALONE3
02976
02977 printf("ast_yyerror(): syntax error: %s; Input:\n%s\n%s\n",
02978 s, parseio->string,spacebuf2);
02979 #else
02980 ast_log(LOG_WARNING,"ast_yyerror(): syntax error: %s; Input:\n%s\n%s\n",
02981 s, parseio->string,spacebuf2);
02982 #endif
02983 #ifndef STANDALONE
02984 ast_log(LOG_WARNING,"If you have questions, please refer to doc/README.variables in the asterisk source.\n");
02985 #endif
02986 return(0);
02987 }
02988