#ifndef __EO_TOKENIZER_H__ #define __EO_TOKENIZER_H__ #include extern int _eo_tokenizer_log_dom; #undef EINA_LOG_DOMAIN_DEFAULT #define EINA_LOG_DOMAIN_DEFAULT _eo_tokenizer_log_dom #ifdef CRITICAL #undef CRITICAL #endif #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eo_tokenizer_log_dom, __VA_ARGS__) #ifdef ERR #undef ERR #endif #define ERR(...) EINA_LOG_DOM_ERR(_eo_tokenizer_log_dom, __VA_ARGS__) #ifdef WRN #undef WRN #endif #define WRN(...) EINA_LOG_DOM_WARN(_eo_tokenizer_log_dom, __VA_ARGS__) #ifdef INF #undef INF #endif #define INF(...) EINA_LOG_DOM_INFO(_eo_tokenizer_log_dom, __VA_ARGS__) #ifdef DBG #undef DBG #endif #define DBG(...) EINA_LOG_DOM_DBG(_eo_tokenizer_log_dom, __VA_ARGS__) #define BUFSIZE 256 typedef struct _eo_tokenizer { /* ragel vars */ int cs; /* current machine state */ int act; /* last pattern matched */ char *ts; /* current token match start */ char *te; /* current token match end */ char *p; /* data start */ char *pe; /* data end */ char *eof; /* eof = (EOF ? pe : NULL) */ /* int stack[10]; /1* state stack used by fret fcall ... *1/ */ /* int top; /1* stack pointer *1/ */ const char *source; int current_line; int current_nesting; int max_nesting; int token_start_line; char buf[BUFSIZE]; } Eo_Tokenizer; Eo_Tokenizer* eo_tokenizer_get(); Eina_Bool eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source); void eo_tokenizer_free(Eo_Tokenizer *toknz); #endif /* __EO_TOKENIZER_H__ */