2023-12-31 14:54:14 +01:00
|
|
|
#ifndef LEXER_H
|
|
|
|
#define LEXER_H
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
2024-01-01 19:13:39 +01:00
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#include "page.h"
|
2023-12-31 14:54:14 +01:00
|
|
|
|
|
|
|
typedef enum TokenType {
|
2024-01-02 20:53:15 +01:00
|
|
|
UNDEFINED_TYPE,
|
|
|
|
DONT_CARE,
|
2023-12-31 14:54:14 +01:00
|
|
|
TEXT,
|
2024-01-02 21:44:27 +01:00
|
|
|
BODY, END_BODY,
|
|
|
|
HTML, END_HTML,
|
|
|
|
A, END_A,
|
2023-12-31 14:54:14 +01:00
|
|
|
UL, LI,
|
|
|
|
H1, H2, H3, H4, H5, H6,
|
|
|
|
} TokenType;
|
|
|
|
|
|
|
|
typedef struct Token {
|
|
|
|
TokenType type;
|
|
|
|
char* value;
|
2024-01-02 20:53:15 +01:00
|
|
|
int len;
|
2023-12-31 14:54:14 +01:00
|
|
|
} Token;
|
|
|
|
|
|
|
|
Token* nexttoken(void);
|
|
|
|
|
|
|
|
void printtoken(Token* token);
|
|
|
|
|
|
|
|
#endif // LEXER_H
|