25 std::unique_ptr<Statement>
parse(
const std::string& query)
override;
34 bool matchKeyword(
const std::string& keyword);
35 bool matchIdentifier(
const std::string& identifier);
36 void expect(
TokenType type,
const std::string& errorMsg);
37 void expectKeyword(
const std::string& keyword,
const std::string& errorMsg);
38 void throwError(
const std::string& message);
40 std::unique_ptr<Statement> parseStatement();
41 std::unique_ptr<SelectStatement> parseSelect();
42 std::unique_ptr<InsertStatement> parseInsert();
43 std::unique_ptr<UpdateStatement> parseUpdate();
44 std::unique_ptr<DeleteStatement> parseDelete();
45 std::unique_ptr<CreateStatement> parseCreate();
46 std::unique_ptr<DropStatement> parseDrop();
47 std::unique_ptr<ListStatement> parseList();
49 std::unique_ptr<Expression> parseExpression();
50 std::unique_ptr<Expression> parseComparison();
51 std::unique_ptr<Expression> parsePrimary();
53 std::unique_ptr<WhereClause> parseWhereClause();