#pragma once #include "Interpreter.hpp" #include "Lexer.hpp" #include #include #include #include namespace std{ template ostream&operator<<(ostream&os,const vector&v){ if(v.size()==0){ os<<"[]"; return os; } os<<"["; for(size_t i=0;i struct overloaded : Ts... {using Ts::operator()...;}; template overloaded (Ts...) -> overloaded; void inline runCodeFromPath(std::string_view v){ ztl::Lexer lexer = std::visit(ztl::overloaded{ [](std::string &&s){ return s; }, [&v](const ztl::readFileToStrType::CannotOpenFile &){ throw std::runtime_error(std::format("Cannot open file :{}",v)); return std::string(); } },ztl::readFileToStr(v)); if(isDebug)std::cout<<"Lexer() return vector:\n"<