From 8fad428a4bc77e7aec0fa4288d77cd2ccd6bd80e Mon Sep 17 00:00:00 2001 From: VaclavT Date: Fri, 12 Mar 2021 20:23:53 +0100 Subject: [PATCH] fix --- CMakeLists.txt | 1 - main.cpp | 82 -------------------------------------------------- 2 files changed, 83 deletions(-) delete mode 100644 main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 834eb6b..75c194e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,6 @@ project(ml) set(PROJECT_NAME ml) set(SOURCE - main.cpp ml.cpp ml_io.cpp ml_date.cpp diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 773c0c7..0000000 --- a/main.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "ml.h" -#include "ml_io.h" - -#include - - -MlValue run(const std::string &code, MlEnvironment &env); -MlValue repl(MlEnvironment &env); - - -void load_std_lib(MlEnvironment &env) { - std::string loader = - R"( (define ___lib_path '("/usr/local/var/mlisp")) - (for d ___lib_path - (if (is-dir? d) - (for f (ls-dir d) - (if (regex-search? f "^.*\.l(i)?sp$") - (include (+ d "/" f)) - '()) - ) - '())) - )"; - - run(loader, env); -} - - -bool cmdOptionExists(char **begin, char **end, const std::string &option) { return std::find(begin, end, option) != end; } - - -std::vector getCmdOption(char *argv[], int argc, const std::string &option) { - std::vector tokens; - for (int i = 1; i < argc; ++i) { - if (option == argv[i] && i + 1 < argc) { - i++; - tokens.push_back(std::string(argv[i])); - } - } - return tokens; -} - - -int main(int argc, char *argv[]) { - MlEnvironment env; - std::vector args; - for (int i = 0; i < argc; i++) - args.push_back(MlValue::string(argv[i])); - env.set("cmd-args", MlValue(args)); - - srand(time(NULL)); - try { - load_std_lib(env); - // for xcode profiling - // run(read_file_contents("/Users/vaclavt/Development/mlisp/tests/test.lsp"), env); - - // help - if (cmdOptionExists(argv, argv + argc, "-h")) { - std::cout << "Usage:\n\t-h print this help\n\t-f source_file - executes code in file\n\t-c code - runs passed code\n\t-i runs repl\n\t-v prints version string\n\n"; - return 0; - } - - // version - if (cmdOptionExists(argv, argv + argc, "-v")) { - std::cout << VERSION << std::endl; - return 0; - } - - if (argc == 1 || (argc == 2 && std::string(argv[1]) == "-i")) - repl(env); - else if (argc == 3 && std::string(argv[1]) == "-c") - run(argv[2], env); - else if (argc == 3 && std::string(argv[1]) == "-f") - run(read_file_contents(argv[2]), env); - else std::cerr << "invalid arguments" << std::endl; - } catch (MlError &e) { - std::cerr << e.description() << std::endl; - } catch (std::runtime_error &e) { - std::cerr << e.what() << std::endl; - } - - return 0; -}