163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 3 "lex.yy.c" 363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_INT_ALIGNED short int 563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* A lexical scanner generated by flex */ 763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define FLEX_SCANNER 963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_FLEX_MAJOR_VERSION 2 1063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_FLEX_MINOR_VERSION 5 1163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_FLEX_SUBMINOR_VERSION 31 1263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#if YY_FLEX_SUBMINOR_VERSION > 0 1363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define FLEX_BETA 1463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 1563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* First, we deal with platform-specific or compiler-specific issues. */ 1763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* begin standard C headers. */ 1963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <stdio.h> 2063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <string.h> 2163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <errno.h> 2263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <stdlib.h> 2363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 2463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* end standard C headers. */ 2563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 2663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* flex integer type definitions */ 2763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 2863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef FLEXINT_H 2963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define FLEXINT_H 3063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 3163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 3263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 3363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L 3463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <inttypes.h> 3563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef int8_t flex_int8_t; 3663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef uint8_t flex_uint8_t; 3763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef int16_t flex_int16_t; 3863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef uint16_t flex_uint16_t; 3963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef int32_t flex_int32_t; 4063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef uint32_t flex_uint32_t; 4163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 4263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef signed char flex_int8_t; 4363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef short int flex_int16_t; 4463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef int flex_int32_t; 4563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef unsigned char flex_uint8_t; 4663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef unsigned short int flex_uint16_t; 4763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef unsigned int flex_uint32_t; 4863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* ! C99 */ 4963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 5063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Limits of integral types. */ 5163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT8_MIN 5263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT8_MIN (-128) 5363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 5463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT16_MIN 5563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT16_MIN (-32767-1) 5663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 5763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT32_MIN 5863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT32_MIN (-2147483647-1) 5963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 6063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT8_MAX 6163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT8_MAX (127) 6263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 6363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT16_MAX 6463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT16_MAX (32767) 6563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 6663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef INT32_MAX 6763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INT32_MAX (2147483647) 6863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 6963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef UINT8_MAX 7063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define UINT8_MAX (255U) 7163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 7263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef UINT16_MAX 7363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define UINT16_MAX (65535U) 7463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 7563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef UINT32_MAX 7663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define UINT32_MAX (4294967295U) 7763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 7863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 7963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* ! FLEXINT_H */ 8063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 8163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef __cplusplus 8263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 8363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* The "const" storage-class-modifier is valid. */ 8463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_USE_CONST 8563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 8663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else /* ! __cplusplus */ 8763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 8863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#if __STDC__ 8963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_USE_CONST 9163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* __STDC__ */ 9363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* ! __cplusplus */ 9463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef YY_USE_CONST 9663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yyconst const 9763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 9863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yyconst 9963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 10063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 10163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Returned upon end-of-file. */ 10263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_NULL 0 10363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 10463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Promotes a possibly negative, possibly signed char to an unsigned 10563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * integer for use as an array index. If the signed char is negative, 10663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * we want to instead treat it as an 8-bit unsigned char, hence the 10763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * double cast. 10863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 10963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 11063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 11163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Enter a start condition. This macro really ought to take a parameter, 11263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * but we do it the disgusting crufty way forced on us by the ()-less 11363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * definition of BEGIN. 11463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 11563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define BEGIN (yy_start) = 1 + 2 * 11663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 11763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Translate the current start state into a value that can be later handed 11863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * to BEGIN to return to the state. The YYSTATE alias is for lex 11963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * compatibility. 12063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 12163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_START (((yy_start) - 1) / 2) 12263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YYSTATE YY_START 12363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 12463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Action number for EOF rule of a given start state. */ 12563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 12663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 12763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Special action meaning "start processing a new file". */ 12863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_NEW_FILE yyrestart(yyin ) 12963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 13063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_END_OF_BUFFER_CHAR 0 13163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 13263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Size of default input buffer. */ 13363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_BUF_SIZE 13463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_BUF_SIZE 16384 13563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 13663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 13763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_TYPEDEF_YY_BUFFER_STATE 13863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_TYPEDEF_YY_BUFFER_STATE 13963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef struct yy_buffer_state *YY_BUFFER_STATE; 14063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 14163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 14263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int yyleng; 14363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 14463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern FILE *yyin, *yyout; 14563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 14663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define EOB_ACT_CONTINUE_SCAN 0 14763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define EOB_ACT_END_OF_FILE 1 14863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define EOB_ACT_LAST_MATCH 2 14963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 15063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh #define YY_LESS_LINENO(n) 15163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 15263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Return all but the first "n" matched characters back to the input stream. */ 15363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yyless(n) \ 15463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh do \ 15563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 15663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Undo effects of setting up yytext. */ \ 15763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yyless_macro_arg = (n); \ 15863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_LESS_LINENO(yyless_macro_arg);\ 15963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *yy_cp = (yy_hold_char); \ 16063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_RESTORE_YY_MORE_OFFSET \ 16163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 16263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 16363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 16463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( 0 ) 16563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 16663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define unput(c) yyunput( c, (yytext_ptr) ) 16763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 16863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* The following is because we cannot portably get our hands on size_t 16963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * (without autoconf's help, which isn't available because we want 17063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * flex-generated scanners to compile on their own). 17163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 17263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 17363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_TYPEDEF_YY_SIZE_T 17463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_TYPEDEF_YY_SIZE_T 17563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef unsigned int yy_size_t; 17663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 17763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 17863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_STRUCT_YY_BUFFER_STATE 17963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_STRUCT_YY_BUFFER_STATE 18063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstruct yy_buffer_state 18163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 18263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh FILE *yy_input_file; 18363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 18463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh char *yy_ch_buf; /* input buffer */ 18563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh char *yy_buf_pos; /* current position in input buffer */ 18663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 18763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Size of input buffer in bytes, not including room for EOB 18863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * characters. 18963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 19063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_size_t yy_buf_size; 19163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 19263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Number of characters read into yy_ch_buf, not including EOB 19363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * characters. 19463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 19563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_n_chars; 19663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 19763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Whether we "own" the buffer - i.e., we know we created it, 19863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * and can realloc() it to grow it, and should free() it to 19963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * delete it. 20063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 20163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_is_our_buffer; 20263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 20363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Whether this is an "interactive" input source; if so, and 20463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * if we're using stdio for input, then we want to use getc() 20563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * instead of fread(), to make sure we stop fetching input after 20663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * each newline. 20763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 20863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_is_interactive; 20963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 21063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Whether we're considered to be at the beginning of a line. 21163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * If so, '^' rules will be active on the next match, otherwise 21263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * not. 21363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 21463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_at_bol; 21563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 21663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_bs_lineno; /**< The line count. */ 21763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_bs_column; /**< The column count. */ 21863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 21963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Whether to try to fill the input buffer when we reach the 22063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * end of it. 22163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 22263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_fill_buffer; 22363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 22463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_buffer_status; 22563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 22663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_BUFFER_NEW 0 22763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_BUFFER_NORMAL 1 22863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* When an EOF's been seen but there's still some text to process 22963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * then we mark the buffer as YY_EOF_PENDING, to indicate that we 23063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * shouldn't try reading from the input source any more. We might 23163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * still have a bunch of tokens to match, though, because of 23263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * possible backing-up. 23363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 23463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * When we actually see the EOF, we change the status to "new" 23563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * (via yyrestart()), so that the user can continue scanning by 23663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * just pointing yyin at a new input file. 23763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 23863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_BUFFER_EOF_PENDING 2 23963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 24063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh }; 24163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 24263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 24363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Stack of input buffers. */ 24463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 24563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 24663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 24763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 24863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* We provide macros for accessing buffer states in case in the 24963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * future we want to put the buffer states in a more general 25063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * "scanner state". 25163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 25263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Returns the top of the stack, or NULL. 25363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 25463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 25563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 25663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh : NULL) 25763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 25863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Same as previous macro, but useful when we know that the buffer stack is not 25963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * NULL or when we need an lvalue. For internal use only. 26063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 26163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 26263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 26363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* yy_hold_char holds the character lost when yytext is formed. */ 26463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic char yy_hold_char; 26563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_n_chars; /* number of characters read into yy_ch_buf */ 26663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yyleng; 26763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 26863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Points to current character in buffer. */ 26963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic char *yy_c_buf_p = (char *) 0; 27063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_init = 1; /* whether we need to initialize */ 27163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_start = 0; /* start state number */ 27263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 27363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Flag which is used to allow yywrap()'s to do buffer switches 27463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * instead of setting up a fresh yyin. A bit of a hack ... 27563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 27663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_did_buffer_switch_on_eof; 27763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 27863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyrestart (FILE *input_file ); 27963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 28063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 28163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yy_delete_buffer (YY_BUFFER_STATE b ); 28263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yy_flush_buffer (YY_BUFFER_STATE b ); 28363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 28463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yypop_buffer_state (void ); 28563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 28663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yyensure_buffer_stack (void ); 28763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_load_buffer_state (void ); 28863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 28963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 29063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 29163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 29263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 29363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 29463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); 29563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 29663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid *yyalloc (yy_size_t ); 29763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid *yyrealloc (void *,yy_size_t ); 29863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyfree (void * ); 29963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 30063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yy_new_buffer yy_create_buffer 30163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 30263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yy_set_interactive(is_interactive) \ 30363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 30463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! YY_CURRENT_BUFFER ){ \ 30563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack (); \ 30663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = \ 30763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_create_buffer(yyin,YY_BUF_SIZE ); \ 30863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 30963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 31063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 31163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 31263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yy_set_bol(at_bol) \ 31363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 31463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! YY_CURRENT_BUFFER ){\ 31563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack (); \ 31663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = \ 31763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_create_buffer(yyin,YY_BUF_SIZE ); \ 31863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 31963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 32063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 32163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 32263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 32363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 32463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Begin user sect3 */ 32563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 32663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef unsigned char YY_CHAR; 32763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 32863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 32963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 33063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshtypedef int yy_state_type; 33163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 33263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int yylineno; 33363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 33463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yylineno = 1; 33563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 33663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern char *yytext; 33763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yytext_ptr yytext 33863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 33963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yy_state_type yy_get_previous_state (void ); 34063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 34163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_get_next_buffer (void ); 34263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_fatal_error (yyconst char msg[] ); 34363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 34463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Done after the current pattern has been matched and before the 34563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * corresponding action - sets up yytext. 34663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 34763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_DO_BEFORE_ACTION \ 34863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yytext_ptr) = yy_bp; \ 34963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyleng = (size_t) (yy_cp - yy_bp); \ 35063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_hold_char) = *yy_cp; \ 35163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *yy_cp = '\0'; \ 35263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = yy_cp; 35363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_NUM_RULES 9 35563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_END_OF_BUFFER 10 35663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* This struct is not used in this scanner, 35763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh but its presence is necessary. */ 35863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstruct yy_trans_info 35963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 36063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh flex_int32_t yy_verify; 36163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh flex_int32_t yy_nxt; 36263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh }; 36363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int16_t yy_accept[36] = 36463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 36563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 0, 0, 10, 8, 1, 7, 8, 8, 6, 3, 36663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 6, 0, 4, 0, 2, 6, 3, 6, 3, 0, 36763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 0, 0, 0, 5, 0 36963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 37063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 37163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int32_t yy_ec[256] = 37263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 37363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 37463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 37563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 37663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 2, 1, 4, 5, 1, 1, 1, 1, 1, 37763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 6, 1, 1, 7, 7, 7, 37863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 7, 7, 7, 7, 7, 7, 7, 8, 1, 1, 37963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 38063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 38163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 38263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 6, 1, 9, 9, 9, 9, 38363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 38463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 38563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 38663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 38763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 38863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 38963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 39563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 40063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1 40163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 40263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 40363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int32_t yy_meta[10] = 40463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 40563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 2, 1, 1, 3, 4, 1, 4 40663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 40763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 40863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int16_t yy_base[49] = 40963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 41063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 0, 0, 46, 47, 47, 47, 41, 41, 0, 4, 41163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 36, 38, 37, 37, 47, 0, 7, 31, 31, 0, 41263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 0, 29, 0, 0, 28, 0, 0, 27, 0, 0, 41363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 26, 0, 0, 47, 47, 15, 19, 21, 29, 28, 41463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 27, 26, 25, 24, 23, 22, 13, 8 41563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 41663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 41763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int16_t yy_def[49] = 41863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 41963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35, 1, 35, 35, 35, 35, 36, 37, 38, 35, 42063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 10, 36, 36, 37, 35, 38, 38, 38, 38, 39, 42163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 40, 35, 41, 42, 35, 43, 44, 35, 45, 46, 42263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35, 47, 48, 35, 0, 35, 35, 35, 35, 35, 42363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35, 35, 35, 35, 35, 35, 35, 35 42463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 42563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 42663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int16_t yy_nxt[57] = 42763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 42863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 4, 5, 6, 7, 8, 9, 10, 4, 11, 16, 42963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 17, 34, 18, 19, 20, 12, 33, 12, 12, 14, 43063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 14, 14, 14, 16, 16, 31, 30, 28, 27, 25, 43163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 24, 22, 21, 32, 29, 26, 23, 19, 20, 15, 43263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 13, 13, 18, 15, 13, 35, 3, 35, 35, 35, 43363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35, 35, 35, 35, 35, 35 43463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 43563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 43663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yyconst flex_int16_t yy_chk[57] = 43763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 0, 43863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 43963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 10, 48, 10, 17, 17, 36, 47, 36, 36, 37, 44063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 37, 37, 37, 38, 38, 46, 45, 44, 43, 42, 44163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 41, 40, 39, 31, 28, 25, 22, 19, 18, 14, 44263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 13, 12, 11, 8, 7, 3, 35, 35, 35, 35, 44363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 35, 35, 35, 35, 35, 35 44463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } ; 44563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 44663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic yy_state_type yy_last_accepting_state; 44763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic char *yy_last_accepting_cpos; 44863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 44963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int yy_flex_debug; 45063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yy_flex_debug = 0; 45163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 45263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* The intent behind this definition is that it'll catch 45363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * any uses of REJECT which flex missed. 45463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 45563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define REJECT reject_used_but_not_detected 45663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yymore() yymore_used_but_not_detected 45763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_MORE_ADJ 0 45863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_RESTORE_YY_MORE_OFFSET 45963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshchar *yytext; 46063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 1 "lexer.l" 46163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 2 "lexer.l" 46263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* 46363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 46463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * BlueZ - Bluetooth protocol stack for Linux 46563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 46663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Copyright (C) 2002-2008 Marcel Holtmann <marcel@holtmann.org> 46763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 46863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 46963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * This program is free software; you can redistribute it and/or modify 47063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * it under the terms of the GNU General Public License as published by 47163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * the Free Software Foundation; either version 2 of the License, or 47263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * (at your option) any later version. 47363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 47463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * This program is distributed in the hope that it will be useful, 47563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * but WITHOUT ANY WARRANTY; without even the implied warranty of 47663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 47763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * GNU General Public License for more details. 47863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 47963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * You should have received a copy of the GNU General Public License 48063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * along with this program; if not, write to the Free Software 48163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 48263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 48363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 48463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 48563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef HAVE_CONFIG_H 48663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <config.h> 48763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 48863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 48963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Nasty workaround, but flex defines isatty() twice */ 49063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define _UNISTD_H 49163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 49263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <stdio.h> 49363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <errno.h> 49463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <sys/socket.h> 49563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 49663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <bluetooth/bluetooth.h> 49763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <bluetooth/rfcomm.h> 49863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 49963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include "kword.h" 50063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include "parser.h" 50163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 50263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yylex(void); 50363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 50463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_NO_INPUT 50563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 50663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define ECHO {;} 50763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_DECL int yylex(void) 50863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 50963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yyerror(char *str); 51063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 51163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 512 "lex.yy.c" 51263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 51363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define INITIAL 0 51463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 51563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_NO_UNISTD_H 51663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Special case for "unistd.h", since it is non-ANSI. We include it way 51763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * down here because we want the user's section 1 to have been scanned first. 51863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * The user has a chance to override it with an option. 51963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 52063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#include <unistd.h> 52163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 52263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 52363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_EXTRA_TYPE 52463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_EXTRA_TYPE void * 52563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 52663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 52763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Macros after this point can all be overridden by user definitions in 52863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * section 1. 52963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 53063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 53163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_SKIP_YYWRAP 53263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef __cplusplus 53363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern "C" int yywrap (void ); 53463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 53563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int yywrap (void ); 53663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 53763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 53863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 53963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef yytext_ptr 54063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_flex_strncpy (char *,yyconst char *,int ); 54163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 54263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 54363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef YY_NEED_STRLEN 54463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_flex_strlen (yyconst char * ); 54563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 54663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 54763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_NO_INPUT 54863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 54963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef __cplusplus 55063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yyinput (void ); 55163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 55263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int input (void ); 55363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 55463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 55563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 55663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 55763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Amount of stuff to slurp up with each read. */ 55863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_READ_BUF_SIZE 55963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_READ_BUF_SIZE 8192 56063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 56163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 56263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Copy whatever the last rule matched to the standard output. */ 56363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef ECHO 56463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* This used to be an fputs(), but since the string might contain NUL's, 56563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * we now use fwrite(). 56663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 56763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) 56863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 56963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 57063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 57163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * is returned in "result". 57263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 57363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_INPUT 57463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_INPUT(buf,result,max_size) \ 57563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 57663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 57763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int c = '*'; \ 57863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh size_t n; \ 57963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( n = 0; n < max_size && \ 58063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 58163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh buf[n] = (char) c; \ 58263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( c == '\n' ) \ 58363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh buf[n++] = (char) c; \ 58463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( c == EOF && ferror( yyin ) ) \ 58563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "input in flex scanner failed" ); \ 58663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh result = n; \ 58763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 58863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else \ 58963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 59063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh errno=0; \ 59163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 59263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 59363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if( errno != EINTR) \ 59463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 59563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "input in flex scanner failed" ); \ 59663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh break; \ 59763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 59863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh errno=0; \ 59963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh clearerr(yyin); \ 60063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 60163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh }\ 60263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh\ 60363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 60463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 60563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 60663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* No semi-colon after return; correct usage is to write "yyterminate();" - 60763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * we don't want an extra ';' after the "return" because that will cause 60863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * some compilers to complain about unreachable statements. 60963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 61063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef yyterminate 61163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yyterminate() return YY_NULL 61263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 61363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 61463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Number of entries by which start-condition stack grows. */ 61563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_START_STACK_INCR 61663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_START_STACK_INCR 25 61763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 61863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 61963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Report a fatal error. */ 62063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_FATAL_ERROR 62163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 62263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 62363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 62463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* end tables serialization structures and prototypes */ 62563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 62663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Default declaration of generated scanner - a define so the user can 62763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * easily add parameters. 62863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 62963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_DECL 63063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_DECL_IS_OURS 1 63163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 63263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int yylex (void); 63363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 63463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_DECL int yylex (void) 63563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* !YY_DECL */ 63663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 63763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Code executed at the beginning of each rule, after yytext and yyleng 63863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * have been set up. 63963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 64063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_USER_ACTION 64163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_USER_ACTION 64263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 64363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 64463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Code executed at the end of each rule. */ 64563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_BREAK 64663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_BREAK break; 64763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 64863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 64963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_RULE_SETUP \ 65063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_USER_ACTION 65163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 65263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** The main scanner function which does all the work. 65363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 65463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_DECL 65563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 65663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register yy_state_type yy_current_state; 65763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register char *yy_cp, *yy_bp; 65863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register int yy_act; 65963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 66063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 64 "lexer.l" 66163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 66263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 66363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 664 "lex.yy.c" 66463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 66563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_init) ) 66663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 66763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_init) = 0; 66863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 66963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef YY_USER_INIT 67063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_USER_INIT; 67163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 67263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 67363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! (yy_start) ) 67463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_start) = 1; /* first start state */ 67563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 67663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! yyin ) 67763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyin = stdin; 67863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 67963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! yyout ) 68063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyout = stdout; 68163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 68263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! YY_CURRENT_BUFFER ) { 68363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack (); 68463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = 68563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_create_buffer(yyin,YY_BUF_SIZE ); 68663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 68763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 68863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 68963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 69063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 69163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( 1 ) /* loops until end-of-file is reached */ 69263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 69363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_c_buf_p); 69463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 69563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Support of yytext. */ 69663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *yy_cp = (yy_hold_char); 69763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 69863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* yy_bp points to the position in yy_ch_buf of the start of 69963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * the current run. 70063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 70163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_bp = yy_cp; 70263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 70363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (yy_start); 70463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshyy_match: 70563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh do 70663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 70763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 70863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_accept[yy_current_state] ) 70963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 71063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_state) = yy_current_state; 71163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_cpos) = yy_cp; 71263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 71363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 71463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 71563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (int) yy_def[yy_current_state]; 71663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_current_state >= 36 ) 71763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_c = yy_meta[(unsigned int) yy_c]; 71863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 71963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 72063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ++yy_cp; 72163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 72263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( yy_base[yy_current_state] != 47 ); 72363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 72463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshyy_find_action: 72563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_act = yy_accept[yy_current_state]; 72663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_act == 0 ) 72763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* have to back up */ 72863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_last_accepting_cpos); 72963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (yy_last_accepting_state); 73063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_act = yy_accept[yy_current_state]; 73163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 73263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 73363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_DO_BEFORE_ACTION; 73463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 73563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshdo_action: /* This label is used only to access EOF actions. */ 73663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 73763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh switch ( yy_act ) 73863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* beginning of action switch */ 73963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case 0: /* must back up */ 74063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* undo the effects of YY_DO_BEFORE_ACTION */ 74163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *yy_cp = (yy_hold_char); 74263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_last_accepting_cpos); 74363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (yy_last_accepting_state); 74463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto yy_find_action; 74563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 74663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 1: 74763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 74863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 66 "lexer.l" 74963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 75063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Skip spaces and tabs */ 75163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ; 75263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 75363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 75463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 2: 75563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* rule 2 can match eol */ 75663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 75763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 71 "lexer.l" 75863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 75963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Skip comments */ 76063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh lineno++; 76163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 76263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 76363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 3: 76463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 76563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 76 "lexer.l" 76663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 76763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylval.number = atoi(yytext); 76863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return NUMBER; 76963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 77063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 77163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 4: 77263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 77363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 81 "lexer.l" 77463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 77563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylval.string = yytext; 77663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return STRING; 77763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 77863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 77963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 5: 78063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 78163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 86 "lexer.l" 78263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 78363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh bdaddr_t *ba = malloc(sizeof(bdaddr_t)); 78463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh str2ba(yytext, ba); 78563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylval.bdaddr = ba; 78663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return BDADDR; 78763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 78863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 78963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 6: 79063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 79163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 93 "lexer.l" 79263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 79363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int keyword = rfcomm_find_keyword(rfcomm_keyword, yytext); 79463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (keyword != -1) 79563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return keyword; 79663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 79763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (strncmp(yytext, "rfcomm", 6) == 0) { 79863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylval.number = atoi(yytext + 6); 79963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return RFCOMM; 80063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 80163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 80263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylval.string = yytext; 80363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return WORD; 80463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 80563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 80663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 7: 80763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* rule 7 can match eol */ 80863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 80963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 107 "lexer.l" 81063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 81163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh lineno++; 81263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 81363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 81463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 8: 81563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 81663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 111 "lexer.l" 81763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 81863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return *yytext; 81963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 82063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 82163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase 9: 82263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_RULE_SETUP 82363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 115 "lexer.l" 82463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshECHO; 82563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BREAK 82663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 827 "lex.yy.c" 82763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshcase YY_STATE_EOF(INITIAL): 82863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyterminate(); 82963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 83063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case YY_END_OF_BUFFER: 83163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 83263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Amount of text matched not including the EOB char. */ 83363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 83463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 83563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Undo the effects of YY_DO_BEFORE_ACTION. */ 83663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *yy_cp = (yy_hold_char); 83763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_RESTORE_YY_MORE_OFFSET 83863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 83963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 84063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 84163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* We're scanning a new file or input source. It's 84263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * possible that this happened because the user 84363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * just pointed yyin at a new source and called 84463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yylex(). If so, then we have to assure 84563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * consistency between YY_CURRENT_BUFFER and our 84663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * globals. Here is the right place to do so, because 84763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * this is the first action (other than possibly a 84863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * back-up) that will match for the new input source. 84963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 85063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 85163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 85263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 85363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 85463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 85563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Note that here we test for yy_c_buf_p "<=" to the position 85663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * of the first EOB in the buffer, since yy_c_buf_p will 85763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * already have been incremented past the NUL character 85863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * (since all states make transitions on EOB to the 85963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * end-of-buffer state). Contrast this with the test 86063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * in input(). 86163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 86263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 86363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* This was really a NUL. */ 86463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_state_type yy_next_state; 86563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 86663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 86763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 86863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_get_previous_state( ); 86963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 87063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Okay, we're now positioned to make the NUL 87163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * transition. We couldn't have 87263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yy_get_previous_state() go ahead and do it 87363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * for us because it doesn't know how to deal 87463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * with the possibility of jamming (and we don't 87563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * want to build jamming into it because then it 87663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * will run more slowly). 87763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 87863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 87963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_next_state = yy_try_NUL_trans( yy_current_state ); 88063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 88163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_bp = (yytext_ptr) + YY_MORE_ADJ; 88263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 88363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_next_state ) 88463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 88563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Consume the NUL. */ 88663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = ++(yy_c_buf_p); 88763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_next_state; 88863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto yy_match; 88963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 89063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 89163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 89263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 89363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_c_buf_p); 89463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto yy_find_action; 89563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 89663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 89763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 89863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else switch ( yy_get_next_buffer( ) ) 89963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 90063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_END_OF_FILE: 90163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 90263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_did_buffer_switch_on_eof) = 0; 90363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 90463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yywrap( ) ) 90563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 90663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Note: because we've taken care in 90763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yy_get_next_buffer() to have set up 90863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yytext, we can now set up 90963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yy_c_buf_p so that if some total 91063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * hoser (like flex itself) wants to 91163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * call the scanner after we return the 91263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * YY_NULL, it'll still work - another 91363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * YY_NULL will get returned. 91463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 91563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 91663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 91763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_act = YY_STATE_EOF(YY_START); 91863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto do_action; 91963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 92063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 92163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 92263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 92363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! (yy_did_buffer_switch_on_eof) ) 92463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_NEW_FILE; 92563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 92663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh break; 92763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 92863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 92963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_CONTINUE_SCAN: 93063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = 93163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yytext_ptr) + yy_amount_of_matched_text; 93263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 93363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_get_previous_state( ); 93463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 93563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_c_buf_p); 93663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_bp = (yytext_ptr) + YY_MORE_ADJ; 93763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto yy_match; 93863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 93963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_LAST_MATCH: 94063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = 94163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 94263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 94363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_get_previous_state( ); 94463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 94563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_cp = (yy_c_buf_p); 94663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_bp = (yytext_ptr) + YY_MORE_ADJ; 94763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh goto yy_find_action; 94863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 94963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh break; 95063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 95163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 95263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh default: 95363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( 95463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh "fatal flex scanner internal error--no action found" ); 95563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } /* end of action switch */ 95663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } /* end of scanning one token */ 95763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} /* end of yylex */ 95863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 95963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* yy_get_next_buffer - try to read in a new buffer 96063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 96163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Returns a code representing an action: 96263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * EOB_ACT_LAST_MATCH - 96363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 96463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * EOB_ACT_END_OF_FILE - end of file 96563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 96663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_get_next_buffer (void) 96763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 96863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 96963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register char *source = (yytext_ptr); 97063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register int number_to_move, i; 97163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int ret_val; 97263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 97363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 97463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( 97563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh "fatal flex scanner internal error--end of buffer missed" ); 97663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 97763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 97863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* Don't try to fill the buffer, so this is an EOF. */ 97963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 98063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 98163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* We matched a single character, the EOB, so 98263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * treat this as a final EOF. 98363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 98463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return EOB_ACT_END_OF_FILE; 98563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 98663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 98763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 98863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 98963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* We matched some text prior to the EOB, first 99063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * process it. 99163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 99263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return EOB_ACT_LAST_MATCH; 99363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 99463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 99563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 99663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Try to read more data. */ 99763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 99863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* First move last chars to start of buffer. */ 99963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 100063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 100163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( i = 0; i < number_to_move; ++i ) 100263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(dest++) = *(source++); 100363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 100463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 100563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* don't do the read, it's not guaranteed to return an EOF, 100663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * just force an EOF 100763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 100863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 100963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 101063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 101163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 101263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int num_to_read = 101363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 101463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 101563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( num_to_read <= 0 ) 101663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* Not enough room in the buffer - grow it. */ 101763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 101863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* just a shorter name for the current buffer */ 101963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 102063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 102163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yy_c_buf_p_offset = 102263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (int) ((yy_c_buf_p) - b->yy_ch_buf); 102363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 102463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( b->yy_is_our_buffer ) 102563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 102663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int new_size = b->yy_buf_size * 2; 102763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 102863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( new_size <= 0 ) 102963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_size += b->yy_buf_size / 8; 103063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 103163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_size *= 2; 103263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 103363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_ch_buf = (char *) 103463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Include room in for 2 EOB chars. */ 103563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 103663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 103763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 103863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Can't grow it, we don't own it. */ 103963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_ch_buf = 0; 104063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 104163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b->yy_ch_buf ) 104263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( 104363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh "fatal error - scanner input buffer overflow" ); 104463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 104563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 104663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 104763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 104863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh number_to_move - 1; 104963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 105063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 105163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 105263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( num_to_read > YY_READ_BUF_SIZE ) 105363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh num_to_read = YY_READ_BUF_SIZE; 105463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 105563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Read in more data. */ 105663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 105763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_n_chars), num_to_read ); 105863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 105963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 106063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 106163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 106263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_n_chars) == 0 ) 106363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 106463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( number_to_move == YY_MORE_ADJ ) 106563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 106663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ret_val = EOB_ACT_END_OF_FILE; 106763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyrestart(yyin ); 106863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 106963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 107063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 107163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 107263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ret_val = EOB_ACT_LAST_MATCH; 107363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 107463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_EOF_PENDING; 107563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 107663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 107763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 107863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 107963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ret_val = EOB_ACT_CONTINUE_SCAN; 108063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 108163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_n_chars) += number_to_move; 108263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 108363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 108463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 108563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 108663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 108763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return ret_val; 108863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 108963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 109063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* yy_get_previous_state - get the state just before the EOB char was reached */ 109163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 109263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh static yy_state_type yy_get_previous_state (void) 109363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 109463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register yy_state_type yy_current_state; 109563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register char *yy_cp; 109663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 109763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (yy_start); 109863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 109963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 110063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 110163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 110263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_accept[yy_current_state] ) 110363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 110463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_state) = yy_current_state; 110563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_cpos) = yy_cp; 110663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 110763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 110863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 110963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (int) yy_def[yy_current_state]; 111063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_current_state >= 36 ) 111163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_c = yy_meta[(unsigned int) yy_c]; 111263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 111363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 111463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 111563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 111663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yy_current_state; 111763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 111863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 111963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* yy_try_NUL_trans - try to make a transition on the NUL character 112063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 112163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * synopsis 112263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * next_state = yy_try_NUL_trans( current_state ); 112363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 112463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 112563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 112663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register int yy_is_jam; 112763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register char *yy_cp = (yy_c_buf_p); 112863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 112963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register YY_CHAR yy_c = 1; 113063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_accept[yy_current_state] ) 113163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 113263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_state) = yy_current_state; 113363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_last_accepting_cpos) = yy_cp; 113463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 113563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 113663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 113763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = (int) yy_def[yy_current_state]; 113863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yy_current_state >= 36 ) 113963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_c = yy_meta[(unsigned int) yy_c]; 114063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 114163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 114263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_is_jam = (yy_current_state == 35); 114363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 114463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yy_is_jam ? 0 : yy_current_state; 114563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 114663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 114763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_NO_INPUT 114863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef __cplusplus 114963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh static int yyinput (void) 115063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 115163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh static int input (void) 115263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 115363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 115463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 115563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int c; 115663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 115763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = (yy_hold_char); 115863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 115963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 116063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 116163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* yy_c_buf_p now points to the character we want to return. 116263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * If this occurs *before* the EOB characters, then it's a 116363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * valid NUL; if not, then we've hit the end of the buffer. 116463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 116563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 116663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* This was really a NUL. */ 116763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = '\0'; 116863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 116963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh else 117063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { /* need more input */ 117163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int offset = (yy_c_buf_p) - (yytext_ptr); 117263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ++(yy_c_buf_p); 117363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 117463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh switch ( yy_get_next_buffer( ) ) 117563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 117663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_LAST_MATCH: 117763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* This happens because yy_g_n_b() 117863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * sees that we've accumulated a 117963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * token and flags that we need to 118063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * try matching the token before 118163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * proceeding. But for input(), 118263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * there's no matching to consider. 118363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * So convert the EOB_ACT_LAST_MATCH 118463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * to EOB_ACT_END_OF_FILE. 118563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 118663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 118763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Reset buffer status. */ 118863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyrestart(yyin ); 118963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 119063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /*FALLTHROUGH*/ 119163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 119263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_END_OF_FILE: 119363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 119463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( yywrap( ) ) 119563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return EOF; 119663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 119763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! (yy_did_buffer_switch_on_eof) ) 119863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_NEW_FILE; 119963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef __cplusplus 120063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yyinput(); 120163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#else 120263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return input(); 120363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 120463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 120563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 120663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh case EOB_ACT_CONTINUE_SCAN: 120763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = (yytext_ptr) + offset; 120863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh break; 120963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 121063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 121163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 121263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 121363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 121463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = '\0'; /* preserve yytext */ 121563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_hold_char) = *++(yy_c_buf_p); 121663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 121763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return c; 121863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 121963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* ifndef YY_NO_INPUT */ 122063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 122163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Immediately switch to a different input stream. 122263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param input_file A readable stream. 122363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 122463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @note This function does not reset the start condition to @c INITIAL . 122563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 122663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh void yyrestart (FILE * input_file ) 122763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 122863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 122963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! YY_CURRENT_BUFFER ){ 123063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack (); 123163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = 123263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_create_buffer(yyin,YY_BUF_SIZE ); 123363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 123463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 123563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 123663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 123763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 123863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 123963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Switch to a different input buffer. 124063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param new_buffer The new input buffer. 124163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 124263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 124363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 124463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 124563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 124663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* TODO. We should be able to replace this entire function body 124763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * with 124863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yypop_buffer_state(); 124963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yypush_buffer_state(new_buffer); 125063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 125163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack (); 125263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER == new_buffer ) 125363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 125463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 125563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER ) 125663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 125763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Flush out information for old buffer. */ 125863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = (yy_hold_char); 125963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 126063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 126163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 126263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 126363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = new_buffer; 126463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 126563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 126663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* We don't actually know whether we did this switch during 126763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * EOF (yywrap()) processing, but the only time this flag 126863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * is looked at is after yywrap() is called, so it's safe 126963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * to go ahead and always set it. 127063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 127163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_did_buffer_switch_on_eof) = 1; 127263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 127363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 127463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_load_buffer_state (void) 127563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 127663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 127763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 127863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 127963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_hold_char) = *(yy_c_buf_p); 128063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 128163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 128263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Allocate and initialize an input buffer state. 128363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param file A readable stream. 128463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 128563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 128663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @return the allocated buffer state. 128763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 128863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 128963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 129063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_STATE b; 129163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 129263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 129363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b ) 129463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 129563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 129663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_size = size; 129763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 129863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* yy_ch_buf has to be 2 characters longer than the size given because 129963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * we need to put in 2 end-of-buffer characters. 130063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 130163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 130263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b->yy_ch_buf ) 130363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 130463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 130563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_is_our_buffer = 1; 130663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 130763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_init_buffer(b,file ); 130863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 130963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return b; 131063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 131163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 131263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Destroy the buffer. 131363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param b a buffer created with yy_create_buffer() 131463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 131563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 131663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh void yy_delete_buffer (YY_BUFFER_STATE b ) 131763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 131863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 131963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b ) 132063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 132163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 132263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 132363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 132463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 132563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( b->yy_is_our_buffer ) 132663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyfree((void *) b->yy_ch_buf ); 132763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 132863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyfree((void *) b ); 132963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 133063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 133163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef __cplusplus 133263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshextern int isatty (int ); 133363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif /* __cplusplus */ 133463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 133563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Initializes or reinitializes a buffer. 133663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * This function is sometimes called more than once on the same buffer, 133763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * such as during a yyrestart() or at EOF. 133863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 133963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 134063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 134163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 134263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int oerrno = errno; 134363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 134463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_flush_buffer(b ); 134563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 134663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_input_file = file; 134763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_fill_buffer = 1; 134863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 134963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* If b is the current buffer, then yy_init_buffer was _probably_ 135063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * called from yyrestart() or through yy_get_next_buffer. 135163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * In that case, we don't want to reset the lineno or column. 135263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 135363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (b != YY_CURRENT_BUFFER){ 135463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_bs_lineno = 1; 135563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_bs_column = 0; 135663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 135763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 135863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 135963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 136063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh errno = oerrno; 136163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 136263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 136363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 136463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 136563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 136663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 136763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh void yy_flush_buffer (YY_BUFFER_STATE b ) 136863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 136963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b ) 137063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 137163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 137263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_n_chars = 0; 137363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 137463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* We always need two end-of-buffer characters. The first causes 137563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * a transition to the end-of-buffer state. The second causes 137663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * a jam in that state. 137763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 137863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 137963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 138063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 138163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_pos = &b->yy_ch_buf[0]; 138263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 138363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_at_bol = 1; 138463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buffer_status = YY_BUFFER_NEW; 138563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 138663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( b == YY_CURRENT_BUFFER ) 138763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 138863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 138963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 139063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Pushes the new state onto the stack. The new state becomes 139163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * the current state. This function will allocate the stack 139263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * if necessary. 139363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param new_buffer The new state. 139463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 139563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 139663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 139763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 139863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (new_buffer == NULL) 139963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 140063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 140163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyensure_buffer_stack(); 140263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 140363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* This block is copied from yy_switch_to_buffer. */ 140463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( YY_CURRENT_BUFFER ) 140563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { 140663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Flush out information for old buffer. */ 140763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = (yy_hold_char); 140863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 140963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 141063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 141163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 141263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Only push if top exists. Otherwise, replace top. */ 141363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (YY_CURRENT_BUFFER) 141463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack_top)++; 141563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = new_buffer; 141663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 141763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* copied from yy_switch_to_buffer. */ 141863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 141963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_did_buffer_switch_on_eof) = 1; 142063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 142163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 142263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Removes and deletes the top of the stack, if present. 142363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * The next element becomes the new top. 142463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 142563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 142663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yypop_buffer_state (void) 142763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 142863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (!YY_CURRENT_BUFFER) 142963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 143063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 143163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_delete_buffer(YY_CURRENT_BUFFER ); 143263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = NULL; 143363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ((yy_buffer_stack_top) > 0) 143463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh --(yy_buffer_stack_top); 143563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 143663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (YY_CURRENT_BUFFER) { 143763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_load_buffer_state( ); 143863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_did_buffer_switch_on_eof) = 1; 143963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 144063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 144163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 144263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Allocates the stack if it does not exist. 144363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Guarantees space for at least one push. 144463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 144563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yyensure_buffer_stack (void) 144663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 144763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int num_to_alloc; 144863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 144963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if (!(yy_buffer_stack)) { 145063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 145163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* First allocation is just for 2 elements, since we don't know if this 145263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * scanner will even need a stack. We use 2 instead of 1 to avoid an 145363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * immediate realloc on the next call. 145463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 145563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh num_to_alloc = 1; 145663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 145763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (num_to_alloc * sizeof(struct yy_buffer_state*) 145863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ); 145963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 146063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 146163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 146263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack_max) = num_to_alloc; 146363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack_top) = 0; 146463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return; 146563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 146663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 146763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 146863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 146963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Increase the buffer to prepare for a possible push. */ 147063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int grow_size = 8 /* arbitrary grow size */; 147163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 147263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh num_to_alloc = (yy_buffer_stack_max) + grow_size; 147363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 147463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ((yy_buffer_stack), 147563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh num_to_alloc * sizeof(struct yy_buffer_state*) 147663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ); 147763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 147863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* zero only the new slots.*/ 147963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 148063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack_max) = num_to_alloc; 148163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 148263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 148363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 148463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Setup the input buffer state to scan directly from a user-specified character buffer. 148563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param base the character buffer 148663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param size the size in bytes of the character buffer 148763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 148863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @return the newly allocated buffer state object. 148963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 149063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 149163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 149263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_STATE b; 149363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 149463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( size < 2 || 149563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh base[size-2] != YY_END_OF_BUFFER_CHAR || 149663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh base[size-1] != YY_END_OF_BUFFER_CHAR ) 149763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* They forgot to leave room for the EOB's. */ 149863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return 0; 149963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 150063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 150163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b ) 150263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 150363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 150463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 150563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buf_pos = b->yy_ch_buf = base; 150663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_is_our_buffer = 0; 150763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_input_file = 0; 150863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_n_chars = b->yy_buf_size; 150963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_is_interactive = 0; 151063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_at_bol = 1; 151163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_fill_buffer = 0; 151263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_buffer_status = YY_BUFFER_NEW; 151363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 151463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_switch_to_buffer(b ); 151563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 151663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return b; 151763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 151863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 151963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Setup the input buffer state to scan a string. The next call to yylex() will 152063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * scan from a @e copy of @a str. 152163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param str a NUL-terminated string to scan 152263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 152363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @return the newly allocated buffer state object. 152463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @note If you want to scan bytes that may contain NUL values, then use 152563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * yy_scan_bytes() instead. 152663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 152763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_string (yyconst char * yy_str ) 152863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 152963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 153063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yy_scan_bytes(yy_str,strlen(yy_str) ); 153163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 153263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 153363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 153463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * scan from a @e copy of @a bytes. 153563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param bytes the byte buffer to scan 153663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param len the number of bytes in the buffer pointed to by @a bytes. 153763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 153863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @return the newly allocated buffer state object. 153963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 154063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshYY_BUFFER_STATE yy_scan_bytes (yyconst char * bytes, int len ) 154163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 154263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_BUFFER_STATE b; 154363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh char *buf; 154463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_size_t n; 154563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int i; 154663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 154763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Get memory for full buffer, including space for trailing EOB's. */ 154863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh n = len + 2; 154963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh buf = (char *) yyalloc(n ); 155063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! buf ) 155163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 155263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 155363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( i = 0; i < len; ++i ) 155463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh buf[i] = bytes[i]; 155563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 155663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 155763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 155863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b = yy_scan_buffer(buf,n ); 155963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh if ( ! b ) 156063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 156163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 156263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* It's okay to grow etc. this buffer, and we should throw it 156363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * away when we're done. 156463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 156563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh b->yy_is_our_buffer = 1; 156663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 156763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return b; 156863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 156963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 157063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef YY_EXIT_FAILURE 157163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YY_EXIT_FAILURE 2 157263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 157363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 157463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_fatal_error (yyconst char* msg ) 157563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 157663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (void) fprintf( stderr, "%s\n", msg ); 157763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh exit( YY_EXIT_FAILURE ); 157863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 157963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 158063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Redefine yyless() so it works in section 3 code. */ 158163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 158263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef yyless 158363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define yyless(n) \ 158463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh do \ 158563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh { \ 158663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Undo effects of setting up yytext. */ \ 158763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh int yyless_macro_arg = (n); \ 158863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_LESS_LINENO(yyless_macro_arg);\ 158963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yytext[yyleng] = (yy_hold_char); \ 159063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_c_buf_p) = yytext + yyless_macro_arg; \ 159163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_hold_char) = *(yy_c_buf_p); \ 159263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh *(yy_c_buf_p) = '\0'; \ 159363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyleng = yyless_macro_arg; \ 159463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } \ 159563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while ( 0 ) 159663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 159763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* Accessor methods (get/set functions) to struct members. */ 159863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 159963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Get the current line number. 160063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 160163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 160263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yyget_lineno (void) 160363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 160463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 160563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yylineno; 160663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 160763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 160863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Get the input stream. 160963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 161063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 161163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshFILE *yyget_in (void) 161263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 161363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yyin; 161463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 161563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 161663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Get the output stream. 161763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 161863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 161963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar GaneshFILE *yyget_out (void) 162063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 162163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yyout; 162263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 162363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 162463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Get the length of the current token. 162563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 162663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 162763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yyget_leng (void) 162863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 162963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yyleng; 163063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 163163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 163263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Get the current token. 163363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 163463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 163563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 163663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshchar *yyget_text (void) 163763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 163863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yytext; 163963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 164063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 164163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Set the current line number. 164263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param line_number 164363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 164463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 164563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyset_lineno (int line_number ) 164663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 164763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 164863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yylineno = line_number; 164963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 165063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 165163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/** Set the input stream. This does not discard the current 165263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * input buffer. 165363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @param in_str A readable stream. 165463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * 165563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * @see yy_switch_to_buffer 165663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 165763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyset_in (FILE * in_str ) 165863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 165963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyin = in_str ; 166063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 166163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 166263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyset_out (FILE * out_str ) 166363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 166463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyout = out_str ; 166563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 166663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 166763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yyget_debug (void) 166863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 166963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return yy_flex_debug; 167063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 167163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 167263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyset_debug (int bdebug ) 167363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 167463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_flex_debug = bdebug ; 167563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 167663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 167763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* yylex_destroy is for both reentrant and non-reentrant scanners. */ 167863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yylex_destroy (void) 167963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 168063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 168163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Pop the buffer stack, destroying each element. */ 168263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh while(YY_CURRENT_BUFFER){ 168363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yy_delete_buffer(YY_CURRENT_BUFFER ); 168463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh YY_CURRENT_BUFFER_LVALUE = NULL; 168563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yypop_buffer_state(); 168663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh } 168763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 168863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* Destroy the stack itself. */ 168963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh yyfree((yy_buffer_stack) ); 169063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh (yy_buffer_stack) = NULL; 169163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 169263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return 0; 169363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 169463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 169563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh/* 169663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * Internal utility routines. 169763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 169863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 169963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifndef yytext_ptr 170063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 170163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 170263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register int i; 170363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( i = 0; i < n; ++i ) 170463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh s1[i] = s2[i]; 170563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 170663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 170763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 170863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef YY_NEED_STRLEN 170963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshstatic int yy_flex_strlen (yyconst char * s ) 171063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 171163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh register int n; 171263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh for ( n = 0; s[n]; ++n ) 171363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh ; 171463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 171563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return n; 171663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 171763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 171863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 171963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid *yyalloc (yy_size_t size ) 172063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 172163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return (void *) malloc( size ); 172263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 172363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 172463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid *yyrealloc (void * ptr, yy_size_t size ) 172563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 172663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh /* The cast to (char *) in the following accommodates both 172763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * implementations that use char* generic pointers, and those 172863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * that use void* generic pointers. It works with the latter 172963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * because both ANSI C and C++ allow castless assignment from 173063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * any pointer type to void*, and deal with argument conversions 173163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh * as though doing an assignment. 173263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh */ 173363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return (void *) realloc( (char *) ptr, size ); 173463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 173563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 173663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshvoid yyfree (void * ptr ) 173763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 173863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 173963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 174063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 174163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#define YYTABLES_NAME "yytables" 174263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 174363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef YY_NEW_FILE 174463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef YY_FLUSH_BUFFER 174563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef yy_set_bol 174663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef yy_new_buffer 174763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef yy_set_interactive 174863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef yytext_ptr 174963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef YY_DO_BEFORE_ACTION 175063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 175163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#ifdef YY_DECL_IS_OURS 175263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef YY_DECL_IS_OURS 175363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#undef YY_DECL 175463dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#endif 175563dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh#line 115 "lexer.l" 175663dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 175763dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 175863dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 175963dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganeshint yywrap(void) 176063dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh{ 176163dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh return 1; 176263dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh} 176363dbd172dee999b9d35bc15c1e5e5c97db23de36Jaikumar Ganesh 1764