-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExecutor.hpp
More file actions
29 lines (23 loc) · 745 Bytes
/
Executor.hpp
File metadata and controls
29 lines (23 loc) · 745 Bytes
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
#pragma once
#include "taxicality_config.hpp"
#include <unordered_set>
struct Executor : public Expression_Visitor
{
void visit(list<Declaration>& root);
void visit(Declaration& decl);
void visit(If_Expression& if_expression);
void visit(Arithmetic_Expression& arithmetic_expression);
void visit(Array_Expression& array_expression);
void visit(Identifier_Expression& ie);
void visit(Value_Expression& ve);
string lhs;
Value retval;
string last_id_lookup;
string last_real_decl = "(no prior declaration in file)";
struct uninitialized_value_exception
{
string identifier;
};
list<string> uninitializables;
list<Declaration*> regex_post_modifiers;
};