34 lines
719 B
C++

#include "interpreter.hh"
#include "error_handler.hh"
#include "parser.hh"
#include <iostream>
#include <memory>
#include <sysexits.h>
ErrorHandler error_handler{};
int main(int argc, char *argv[]) {
(void)argc;
(void)argv;
// if (argc > 2) {
// std::cout << "Usage: cclox [script]\n";
// exit(EX_USAGE);
// }
//
// run_interpreter(argc, argv);
Token unary_op{TokenType::MINUS, "-", Object{}, 1};
ExprPtr left = UnaryExprPtr(unary_op, LiteralExprPtr(123));
Token op{TokenType::STAR, "*", Object{}, 1};
ExprPtr right = GroupingExprPtr(LiteralExprPtr(45.67));
Expr expr = BinaryExpr(left, op, right);
AstPrinter printer{};
std::cout << printer.print(expr) << '\n';
return 0;
}