2025-06-20 23:25:12 +01:00

36 lines
811 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};
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;
}