#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); ExprPtr left = std::make_shared( make_expr( Unary{ Token{TokenType::MINUS, "-", Object{}, 1}, std::make_shared(make_expr(Literal{123})) } ) ); Token op{TokenType::STAR, "*", Object{}, 1}; ExprPtr right = std::make_shared( make_expr( Grouping{std::make_shared(make_expr(Literal{45.67}))} ) ); Expr expr = {ExprType::BINARY, Binary{left, op, right}}; AstPrinter printer{}; std::cout << printer.print(expr) << '\n'; return 0; }