31 lines
511 B
C
31 lines
511 B
C
/*
|
|
*
|
|
* Copyright 2023 Oleg Borodin <borodin@unix7.org>
|
|
*
|
|
*/
|
|
|
|
#ifndef GALEXER_H_QWERTY
|
|
#define GALEXER_H_QWERTY
|
|
|
|
#define TOKEN_NULL 1
|
|
#define TOKEN_WORD 2
|
|
#define TOKEN_DELIM 3
|
|
#define TOKEN_PREF 4
|
|
#define TOKEN_ENDF 5
|
|
#define TOKEN_SPACE 6
|
|
|
|
|
|
typedef struct {
|
|
char* arg;
|
|
int currcontext;
|
|
int argn;
|
|
int rpos;
|
|
int tpos;
|
|
char newletter;
|
|
} cllexer_t;
|
|
|
|
void cllexer_init(cllexer_t* lexer, char* arg);
|
|
int cllexer_gettok(cllexer_t* lexer, char* token);
|
|
|
|
#endif
|