Better statement errors parsing

This commit is contained in:
Rafał Grodziński
2025-07-03 18:16:09 +09:00
parent e0081ee12b
commit f9ec29fee8
7 changed files with 261 additions and 69 deletions

View File

@@ -1,7 +1,14 @@
#include "Error.h"
Error::Error(int line, int column, string lexme) :
line(line), column(column), lexme(lexme) { }
kind(ErrorKind::LEXER_ERROR), line(line), column(column), lexme(lexme) { }
Error::Error(shared_ptr<Token> actualToken, optional<TokenKind> expectedTokenKind, optional<string> message) :
kind(ErrorKind::PARSER_ERROR), actualToken(actualToken), expectedTokenKind(expectedTokenKind), message(message) { }
ErrorKind Error::getKind() {
return kind;
}
int Error::getLine() {
return line;
@@ -13,4 +20,16 @@ int Error::getColumn() {
string Error::getLexme() {
return lexme;
}
shared_ptr<Token> Error::getActualToken() {
return actualToken;
}
optional<TokenKind> Error::getExpectedTokenKind() {
return expectedTokenKind;
}
optional<string> Error::getMessage() {
return message;
}