add leaves

Change-Id: I962bb4e74f39ec0a838f984b8c13a420ba36d7ce
diff --git a/src/ast.cpp b/src/ast.cpp
index 0e40b9c..35bf1cb 100644
--- a/src/ast.cpp
+++ b/src/ast.cpp
@@ -18,6 +18,16 @@
     return this->m_name == b.m_name;
 }
 
+leaf_::leaf_(const std::string& name)
+    : m_name(name)
+{
+}
+
+bool leaf_::operator==(const leaf_& b) const
+{
+    return this->m_name == b.m_name;
+}
+
 listElement_::listElement_(const std::string& listName, const std::map<std::string, std::string>& keys)
     : m_name(listName)
     , m_keys(keys)
@@ -36,6 +46,11 @@
     return this->m_nodes == b.m_nodes;
 }
 
+bool set_::operator==(const set_& b) const
+{
+    return this->m_path == b.m_path && this->m_data == b.m_data;
+}
+
 bool cd_::operator==(const cd_& b) const
 {
     return this->m_path == b.m_path;