add list parsing

Change-Id: Id4be03cedd687892b6f4ae45d90afee8e2a4a43c
diff --git a/src/ast.cpp b/src/ast.cpp
index 762c7cc..87f464d 100644
--- a/src/ast.cpp
+++ b/src/ast.cpp
@@ -6,6 +6,9 @@
  *
 */
 #include "ast.hpp"
+
+InvalidKeyException::~InvalidKeyException() = default;
+
 container_::container_(const std::string& name)
     : m_name(name)
 {
@@ -16,6 +19,17 @@
     return this->m_name == b.m_name;
 }
 
+listElement_::listElement_(const std::string& listName, const std::map<std::string, std::string>& keys)
+    : m_listName(listName)
+    , m_keys(keys)
+{
+}
+
+bool listElement_::operator==(const listElement_& b) const
+{
+    return (this->m_listName == b.m_listName && this->m_keys == b.m_keys);
+}
+
 bool path_::operator==(const path_& b) const
 {
     if (this->m_nodes.size() != b.m_nodes.size())