blob: afa1b9acc921bbc2bec9824c3ffdf176f6ea4ed2 [file] [log] [blame]
swissChili7babd922021-12-02 22:46:48 -08001#pragma once
2
3#include <QMap>
4#include "Token.h"
5
6class VarContext {
7public:
8 VarContext() = default;
9 VarContext(VarContext const &other) noexcept;
10
11 void add(char t, const QString &&name, const Token &value);
12 char exists(const QString &name);
13 Token operator [](const QString &name);
14
15private:
16 struct Var {
17 Var() = default;
18
19 char t = 0;
20 Token value;
21 };
22
23 QMap<QString, Var> _vars;
24};