#include "interpreter.hh" #include "error_handler.hh" #include "parser.hh" #include #include #include 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}; Expr left_literal = Literal(123); Expr left = Unary(unary_op, left_literal.to_expr_ptr()); Token op{TokenType::STAR, "*", Object{}, 1}; Expr right_literal = Literal(45.67); Expr right = Grouping(right_literal.to_expr_ptr()); Expr expr = Binary(left.to_expr_ptr(), op, right.to_expr_ptr()); AstPrinter printer{}; std::cout << printer.print(expr) << '\n'; return 0; }