20 lines
390 B
C
20 lines
390 B
C
#ifndef MICROPASCAL_LEXER_LEXER_H
|
|
#define MICROPASCAL_LEXER_LEXER_H
|
|
|
|
#include "micropascal-lexer/token.h"
|
|
|
|
typedef struct Lexer {
|
|
const char* fonte;
|
|
size_t tamanho;
|
|
size_t posicao;
|
|
int linha;
|
|
int coluna;
|
|
int houve_erro;
|
|
} Lexer;
|
|
|
|
void lexerInicializar(Lexer* lexer, const char* fonte);
|
|
Token lexerProximoToken(Lexer* lexer);
|
|
void tokenLiberar(Token* token);
|
|
|
|
#endif
|