#ifndef JLEXER_H_QWERTY #define JLEXER_H_QWERTY #include #include typedef struct { rcache_t* cache; int fd; int context; char letter; int tokpos; bool rewind; } jlexer_t; #define JLEXCONT_UNDEF 0 #define JLEXCONT_WORD 1 #define JLEXCONT_BLOCKB 2 #define JLEXCONT_BLOCKE 3 #define JLEXCONT_SEPAR 4 #define JLEXCONT_NUM 5 #define JLEXCONT_UNKNOW 6 #define JLEXCONT_END 9 #define JLEXTOK_BLOCKB 1 #define JLEXTOK_BLOCKE 2 #define JLEXTOK_SPACE 4 #define JLEXTOK_SEPAR 3 #define JLEXTOK_UNDEF 4 #define JLEXTOK_WORD 5 #define JLEXTOK_NUMB 6 #define JLEXTOK_UNKNOW 7 #define JLEXTOK_NEXT 8 #define JLEXTOK_END 9 void jlexer_init(jlexer_t * lexer, rcache_t * cache); int jlexer_gettoken(jlexer_t * lexer, char* token); void jlexer_destroy(jlexer_t * lexer); #endif