Better errors, comments

This commit is contained in:
2025-12-25 22:37:40 +11:00
parent aa5ef0e664
commit 9a311c3cb8
6 changed files with 283 additions and 128 deletions

View File

@@ -1,17 +1,29 @@
#ifndef LEXER_H
#define LEXER_H
#include <string>
#include <optional>
#include <vector>
namespace Solstice {
struct Token {
std::string value;
int line;
std::string lineContent;
};
class Lexer {
std::string input;
std::vector<std::string> lines;
size_t size;
size_t current;
std::optional<char> peek(int ahead = 1);
std::optional<char> consume();
public:
Lexer(std::string in);
std::vector<std::string> lex();
std::vector<Token> lex();
};
}
#endif