Files
fz-lang/include/compiler/fzl_reader.h
samsonium 69b2253c34 feat: enhance compiler
- Add comments and test for it
- Add semicolon as required end of some expressions
- Add new arguments parser
- Add multi-file compilation
- Add colors in output
2026-10-15 17:20:43 +03:00

44 lines
776 B
C

#ifndef FZL_READER_H
#define FZL_READER_H
#include <compiler/fzl_token.h>
#include <compiler/utils/fzl_linked.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
// Tokens linked list descriptor
typedef struct fzl_reader_ll
{
fzl_token_t *token;
struct fzl_reader_ll *next;
} fzl_reader_ll_t;
// Source reader description
typedef struct
{
fzl_reader_ll_t *first;
fzl_reader_ll_t *last;
fzl_linked_t *linked;
char *source;
size_t size;
size_t position;
} fzl_reader_t;
// Allocate new reader
fzl_reader_t *fzl_mkreader(fzl_linked_t *linked);
// Read source file
int fzl_read(fzl_reader_t *reader);
// Get last error from reader
char *fzl_reader_geterror();
// Free reader
void fzl_freereader(fzl_reader_t *reader);
#endif // FZL_READER_H