32 lines
615 B
C
32 lines
615 B
C
|
|
#ifndef CLLEXER_H_QWERTY
|
|
#define CLLEXER_H_QWERTY
|
|
|
|
#include <stdbool.h>
|
|
|
|
typedef struct {
|
|
int context;
|
|
char letter;
|
|
int tokpos;
|
|
bool rewind;
|
|
char* argstr;
|
|
int arglen;
|
|
int argpos;
|
|
bool screen;
|
|
} cllexer_t;
|
|
|
|
|
|
#define CLLEXTOK_UNDEF 0
|
|
#define CLLEXTOK_KEY 1
|
|
#define CLLEXTOK_WORD 2
|
|
#define CLLEXTOK_SPACE 3
|
|
#define CLLEXTOK_SEP 4
|
|
#define CLLEXTOK_END 5
|
|
|
|
void cllexer_init(cllexer_t* lexer);
|
|
void cllexer_reset(cllexer_t* lexer, char* argstr);
|
|
int cllexer_gettoken(cllexer_t* lexer, char* token);
|
|
void cllexer_destroy(cllexer_t* lexer);
|
|
|
|
#endif
|