From 50bafbdd68160d00606a4e83d9759c21223c11f8 Mon Sep 17 00:00:00 2001 From: jantuomi Date: Thu, 1 Sep 2016 11:20:59 +0300 Subject: Restructure project --- src/main.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/main.cpp (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..c39e469 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include "parser.h" +#include "runtime.h" + +std::string readFile(std::string& filename) { + std::ifstream t(filename); + std::string str((std::istreambuf_iterator(t)), + (std::istreambuf_iterator())); + return str; +} + +int main(int argc, char** argv) { + if (argc != 2) { + std::cout << "Please supply input file name as a parameter." << std::endl; + return 1; + } + + std::string filename = std::string(argv[1]); + std::string code = readFile(filename); + + std::string valueString; + std::string stdinLine; + while (std::cin >> stdinLine) { + valueString += stdinLine + " "; + } + + Parser parser; + std::vector tokens = parser.parseCode(code); + std::vector values = parser.parseValues(valueString); + parser.printTokens(tokens); + parser.printValues(values); + + Runtime runtime; + runtime.run(tokens); + + return 0; +} -- cgit v1.3