-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinterpreter.h
38 lines (27 loc) · 876 Bytes
/
interpreter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef INTERPRETER_H
#define INTERPRETER_H
#include "project.h"
class Interpreter
{
public:
Interpreter(const QStringList &varNames, const QList<Rule> &rules);
public:
const QStringList &getRequiredInputVarList() const;
const QStringList &getOutputVarList() const;
QMap<QString, QString> interpret(const QMap<QString, QString> &input) const;
QStringList interpretAndStringify(const QMap<QString, QString> &input) const;
private:
void initialize();
private:
QStringList varNames;
//QList<QStringList> varValues;
QList<Rule> rules;
QList<QList<Rule>> structuredRules;
// QStringList ifBlockVars;
// QStringList thenBlockVars;
QStringList inputVars;
// QStringList internalVars;
QStringList outputVars;
//mutable QMap<QString, QString> enteredValues;
};
#endif // INTERPRETER_H