// // Created by Bobby Lucero on 5/21/23. // #include "../headers/bob.h" #include "../headers/Expression.h" #include "../headers/Lexer.h" #include "../headers/ASTPrinter.h" #include "../headers/TypeWrapper.h" int main(){ Bob bobLang; //bobLang.runFile("source.bob"); bobLang.runPrompt(); //ASTPrinter printer; // // std::shared_ptr>> expression = std::make_shared> >( // std::make_shared>>( // Token{MINUS, "-", 1}, // std::make_shared>>("123", true) // ), // Token{MINUS, "-", 1}, // std::make_shared>>( // std::make_shared>>("45.67", true) // ) // ); // //// Expr* e = new BinaryExpr( //// new UnaryExpr(Token{MINUS, "-", 0}, new LiteralExpr("123")), //// Token{STAR, "*", 0}, //// new UnaryExpr(Token{PLUS, "+", 0}, new LiteralExpr("535")) //// ); // // // std::cout << std::dynamic_pointer_cast(printer.print(expression.get()))->value; // // std::cout << std::endl; //bobLang.runPrompt(); // std::shared_ptr object = std::make_shared(String{"Hi"}); // // if(auto num = std::dynamic_pointer_cast(object)) // { // std::cout << num->value << std::endl; // }else if(auto str = std::dynamic_pointer_cast(object)) // { // std::cout << str->value << std::endl; // } return 0; }