Better error reporting

This commit is contained in:
Rafał Grodziński
2025-05-31 23:24:21 +09:00
parent 2b78b5bf23
commit 61e648e55b
9 changed files with 198 additions and 108 deletions

View File

@@ -25,6 +25,7 @@ public:
private:
Kind kind = INVALID;
Token token;
int64_t integer = 0;
Operator operation = NONE;
shared_ptr<Expression> left = nullptr;
@@ -37,15 +38,13 @@ private:
public:
Expression(Kind kind, Token token, shared_ptr<Expression> left, shared_ptr<Expression> right);
Kind getKind();
Token getToken();
int64_t getInteger();
Operator getOperator();
shared_ptr<Expression> getLeft();
shared_ptr<Expression> getRight();
bool operator==(Expression const& other);
bool operator!=(Expression const& other);
bool isValid();
string toString();
static shared_ptr<Expression> Invalid;
};
#endif