blob: 62f6c04153cf1dc8ef8bb448646dd1cb7cd072fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
struct EvalString {
struct Env {
virtual string Evaluate(const string& var) = 0;
};
bool Parse(const string& input);
string Evaluate(Env* env);
const string& unparsed() const { return unparsed_; }
const bool empty() const { return unparsed_.empty(); }
string unparsed_;
enum TokenType { RAW, SPECIAL };
typedef vector<pair<string, TokenType> > TokenList;
TokenList parsed_;
};
|