Merge branch 'lexer' into dev

This commit is contained in:
Matteo Flebus 2026-01-13 17:48:28 +01:00
commit 00bc241c08
2 changed files with 21 additions and 5 deletions

View file

@ -77,7 +77,7 @@ char *stream_init(void)
return stream; return stream;
} }
char *get_token(void) char *peek_token(void)
{ {
char *stream = stream_init(); char *stream = stream_init();
@ -103,7 +103,14 @@ char *get_token(void)
i++; i++;
} }
save_state(stream, i);
return new_token(stream, i); return new_token(stream, i);
} }
char *pop_token(void)
{
char *token = peek_token();
save_state(stream, i);
return token;
}

View file

@ -3,10 +3,19 @@
#include <sys/types.h> #include <sys/types.h>
/* @return: char*, the next token /*
* @brief: returns the next (newly allocated) token without consuming it.
* if end of input is reached, returns EOF.
* *
*/ */
char *get_token(void); char *peek_token(void);
/*
* @brief: returns the next (newly allocated) token and consumes it.
* if end of input is reached, returns EOF.
*
*/
char *pop_token(void);
/* /*
* @warning: NOT IMPLEMENTED. * @warning: NOT IMPLEMENTED.