42 lines
841 B
C
42 lines
841 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;
|
|
int jpos;
|
|
} jlexer_t;
|
|
|
|
|
|
|
|
#define JLEXTOK_BLOCKB 0x01
|
|
#define JLEXTOK_BLOCKE 0x02
|
|
#define JLEXTOK_SPACE 0x04
|
|
#define JLEXTOK_SEPAR 0x03
|
|
#define JLEXTOK_UNDEF 0x04
|
|
#define JLEXTOK_WORD 0x05
|
|
#define JLEXTOK_INTEG 0x06
|
|
#define JLEXTOK_FLOAT 0x07
|
|
#define JLEXTOK_RAWSTR 0x08
|
|
#define JLEXTOK_NEXT 0x09
|
|
#define JLEXTOK_ARRB 0x10
|
|
#define JLEXTOK_ARRE 0x11
|
|
#define JLEXTOK_END 0x99
|
|
|
|
|
|
|
|
void jlexer_init(jlexer_t * lexer, rcache_t * cache);
|
|
int jlexer_gettoken(jlexer_t * lexer, char* token);
|
|
void jlexer_destroy(jlexer_t * lexer);
|
|
int jlexer_gettokbegin(jlexer_t * lexer);
|
|
|
|
#endif
|