From b25ff71bb198c227b3202ee32a8067cda413bc16 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Sat, 9 May 2026 02:56:07 +0200 Subject: Add project skeleton --- lex.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 lex.h (limited to 'lex.h') diff --git a/lex.h b/lex.h new file mode 100644 index 0000000..6e836ac --- /dev/null +++ b/lex.h @@ -0,0 +1,34 @@ +#ifndef LEX_H +#define LEX_H + +#include +#include + +enum tktype {UNDEF, ID, LIT, NUM, ANY}; + +struct loc +{ + const char *f; + int line, col; +}; + +struct tk +{ + enum tktype type; + struct loc loc; + char *s; +}; + +struct lex +{ + struct loc loc; + struct tk *tokens, tk; + size_t ntok, len; + int comment; +}; + +int lex(struct lex *lex, FILE *f); +int lex_eof(const struct lex *lex, const struct tk *tk); +void lex_free(struct lex *lex); + +#endif -- cgit v1.2.3