Initial commit
diff --git a/VarContext.cpp b/VarContext.cpp
new file mode 100644
index 0000000..bde30ef
--- /dev/null
+++ b/VarContext.cpp
@@ -0,0 +1,17 @@
+#include "VarContext.h"
+
+void VarContext::add(char t, const QString &&name, const Token &value) {
+    _vars.insert(name, Var{t, value});
+}
+
+char VarContext::exists(const QString &name) {
+    return _vars.contains(name);
+}
+
+Token VarContext::operator[](const QString &name) {
+    return _vars[name].value;
+}
+
+VarContext::VarContext(const VarContext &other) noexcept {
+    _vars = other._vars;
+}