Refactored expressions

This commit is contained in:
Rafał Grodziński
2025-06-04 15:55:27 +09:00
parent 0e62b4ed50
commit 36e798ae3f
3 changed files with 74 additions and 70 deletions

View File

@@ -22,13 +22,13 @@ private:
shared_ptr<StatementInvalid> matchStatementInvalid();
shared_ptr<Expression> nextExpression();
/*shared_ptr<Expression> term(); // +, -
shared_ptr<Expression> factor(); // *, /, %
shared_ptr<Expression> primary(); // integer, ()
shared_ptr<Expression> matchTerm(); // +, -
shared_ptr<Expression> matchFactor(); // *, /, %
shared_ptr<Expression> matchPrimary(); // integer, ()
shared_ptr<Expression> matchInteger();
shared_ptr<Expression> matchGrouping();
shared_ptr<Expression> matchBinary(shared_ptr<Expression> left);*/
shared_ptr<Expression> matchExpressionLiteral();
shared_ptr<Expression> matchExpressionGrouping();
shared_ptr<Expression> matchExpressionBinary(shared_ptr<Expression> left);
shared_ptr<ExpressionInvalid> matchExpressionInvalid();
bool matchesTokenKinds(vector<Token::Kind> kinds);