Skip to content
Josias kasongo edited this page Jun 22, 2022 · 3 revisions

Tokenizer

tokenizer_board

typedef struct s_tokinzer
{
	char    *sentence;
	size_t  len;
	size_t  cursor;
	t_array *tokens;
}	t_tokeniser;

Le tokenizer, il faut juste se fier au nom. Il permet de créer des tokens à partir d'une phrase, avec deux modes.

1. Le premier

Que je n'utilise pas ici, il te permet de pouvoir avoir le prochain caractère dans la phrase en forme de token. Pour ceux qui font une sorte d'analyse pas à pas.

2. Le second

Le tokenizer a un comportement assez dangereux, il POP le last_token si celui-ci a les critère pour devenir un token beaucoup plus spécial. Pour éviter des soucis je l'utilise en invoquant get_next_token(tokenizer) jusqu'au token du type eof. Il a ainsi le temps de pop et push. La listes des tokens à la fin sont tous à jour, je veux dire, tout les token spéciaux qui résulte d'une concaténation de token sont créer.

Clone this wiki locally