36 lines
676 B
C
36 lines
676 B
C
|
|
#ifndef CFLEXER_H_QWERTY
|
|
#define CFLEXER_H_QWERTY
|
|
|
|
#include <rcache.h>
|
|
#include <stdbool.h>
|
|
|
|
typedef struct {
|
|
rcache_t* cache;
|
|
int fd;
|
|
int context;
|
|
char letter;
|
|
int tokpos;
|
|
bool rewind;
|
|
bool screen;
|
|
} cflexer_t;
|
|
|
|
|
|
#define CFLEXTOK_BLOCKB 1
|
|
#define CFLEXTOK_COMM 2
|
|
#define CFLEXTOK_END 3
|
|
#define CFLEXTOK_NEXT 4
|
|
#define CFLEXTOK_SEPAR 5
|
|
#define CFLEXTOK_SPACE 6
|
|
#define CFLEXTOK_UNDEF 7
|
|
#define CFLEXTOK_UNKNOW 8
|
|
#define CFLEXTOK_WORD 9
|
|
|
|
|
|
void cflexer_init(cflexer_t * lexer, rcache_t * cache);
|
|
int cflexer_gettoken(cflexer_t * lexer, char* token);
|
|
void cflexer_destroy(cflexer_t * lexer);
|
|
|
|
|
|
#endif
|