Header: Parser.h
#ifndef DSL_PARSER_H
#define DSL_PARSER_H
#include "Lexer.h"
#include "AST.h"
#include <memory>
class Parser {
public:
Parser(Lexer& lexer);
std::unique_ptr<ASTNode> parseExpression();
private:
Lexer& lexer;
Token currentToken;
void eat(TokenType type);
std::unique_ptr<ASTNode> factor();
std::unique_ptr<ASTNode> term();
};
#endif // DSL_PARSER_H