add class representing the node tree

add CParser class

This class holds the definitions of all the grammars. It also holds a reference a CTree instance it uses when parsing. This means, that it doesn't have to be declared globally.

Change-Id: I3ca23253b546e26612106067045e1e7d3e2ef919
diff --git a/src/CParser.cpp b/src/CParser.cpp
new file mode 100644
index 0000000..75af7c0
--- /dev/null
+++ b/src/CParser.cpp
@@ -0,0 +1,23 @@
+#include "CParser.hpp"
+
+TooManyArgumentsException::~TooManyArgumentsException() = default;
+
+CParser::CParser(const CTree& tree)
+    : m_tree(tree)
+{
+}
+
+
+Cmd CParser::parseInput(const std::string& line)
+{
+    Cmd args;
+    auto it = line.begin();
+    //bool result = x3::phrase_parse(it, line.end(), command, space, args);
+    //std::cout << "success: " << result << std::endl;
+    if (it != line.end()) {
+        throw TooManyArgumentsException(std::string(it, line.end()));
+    }
+
+
+    return args;
+}