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