This commit is contained in:
Rafał Grodziński
2025-06-01 16:18:51 +09:00
parent 16439e2fb2
commit 26d476e9e3
4 changed files with 72 additions and 7 deletions

View File

@@ -15,7 +15,9 @@ private:
shared_ptr<Statement> nextStatement();
shared_ptr<Statement> matchInvalidStatement() ;
shared_ptr<Statement> matchFunctionDeclarationStatement();
shared_ptr<Statement> matchBlockStatement();
shared_ptr<Statement> matchInvalidStatement();
shared_ptr<Statement> matchExpressionStatement();
shared_ptr<Expression> term(); // +, -
@@ -26,6 +28,8 @@ private:
shared_ptr<Expression> matchGrouping();
shared_ptr<Expression> matchBinary(shared_ptr<Expression> left);
bool matchesTokenKinds(vector<Token::Kind> kinds);
public:
Parser(vector<Token> tokens);
vector<shared_ptr<Statement>> getStatements();