refactored ast, started lexer

This commit is contained in:
2026-05-18 20:19:17 +03:00
parent 24750ddcbe
commit eb85acf224
29 changed files with 315 additions and 181 deletions
+2
View File
@@ -0,0 +1,2 @@
#pragma once
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include <string>
namespace lexer {
struct State {
std::string sourceText;
char* currentPosition;
int line;
int column;
};
struct Lexer {
};
}
+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include <string>
#include "lexer/TokenKind.h"
namespace lexer {
struct Token {
TokenKind kind;
std::string lexeme;
int line;
int column;
};
}
+13
View File
@@ -0,0 +1,13 @@
#pragma once
namespace lexer {
enum class TokenKind {
Text, // text
NewLine, // new line
EOFile, // end of file
HeaderMark, // header mark ("#")
ListMark, // list mark
CodeFence // code fence
};
}