Initial commit
diff --git a/VarContext.h b/VarContext.h
new file mode 100644
index 0000000..afa1b9a
--- /dev/null
+++ b/VarContext.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <QMap>
+#include "Token.h"
+
+class VarContext {
+public:
+    VarContext() = default;
+    VarContext(VarContext const &other)  noexcept;
+
+    void add(char t, const QString &&name, const Token &value);
+    char exists(const QString &name);
+    Token operator [](const QString &name);
+
+private:
+    struct Var {
+        Var() = default;
+
+        char t = 0;
+        Token value;
+    };
+
+    QMap<QString, Var> _vars;
+};
\ No newline at end of file