Files
cworker/jlexer.h
2023-08-13 19:39:49 +02:00

46 lines
881 B
C

#ifndef JLEXER_H_QWERTY
#define JLEXER_H_QWERTY
#include <rcache.h>
#include <stdbool.h>
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