From f781485d28d85de05904deec393956c58c6fca49 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Wed, 28 May 2014 16:28:41 +0200 Subject: [PATCH] Tests updated. Fixes to executive logging. Trie testing made considerably more rigourous. --- main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index bfe51b35d..e304cb5c3 100644 --- a/main.cpp +++ b/main.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "BuildInfo.h" using namespace std; using namespace eth; @@ -51,7 +52,7 @@ void version() exit(0); } -enum Mode { Binary, Hex, Assembly, ParseTree }; +enum Mode { Binary, Hex, Assembly, ParseTree, Disassemble }; int main(int argc, char** argv) { @@ -74,6 +75,8 @@ int main(int argc, char** argv) mode = ParseTree; else if ((arg == "-o" || arg == "--optimise") && argc > i + 1) optimise = atoi(argv[++i]); + else if (arg == "-d" || arg == "--disassemble") + mode = Disassemble; else if (arg == "-V" || arg == "--version") version(); else @@ -96,6 +99,10 @@ int main(int argc, char** argv) vector errors; if (src.empty()) cerr << "Empty file." << endl; + else if (mode == Disassemble) + { + cout << disassemble(fromHex(src)) << endl; + } else if (mode == Binary || mode == Hex) { auto bs = compileLLL(src, optimise ? true : false, &errors);