Failing expression for condition

This commit is contained in:
Rafał Grodziński
2025-06-05 16:08:19 +09:00
parent 1591c5927c
commit c500edf632
8 changed files with 82 additions and 1 deletions

View File

@@ -122,7 +122,17 @@ shared_ptr<StatementInvalid> Parser::matchStatementInvalid() {
// Expression
//
shared_ptr<Expression> Parser::nextExpression() {
return matchEquality();
shared_ptr<Expression> expression;
expression = matchEquality();
if (expression != nullptr)
return expression;
expression = matchExpressionIfElse();
if (expression != nullptr)
return expression;
return nullptr;
}
shared_ptr<Expression> Parser::matchEquality() {
@@ -243,6 +253,10 @@ shared_ptr<Expression> Parser::matchExpressionBinary(shared_ptr<Expression> left
return nullptr;
}
shared_ptr<Expression> Parser::matchExpressionIfElse() {
return nullptr;
}
shared_ptr<ExpressionInvalid> Parser::matchExpressionInvalid() {
return make_shared<ExpressionInvalid>(tokens.at(currentIndex));
}