it's working again :)
[ozulis.git] / src / compiler.hh
blobc0421a4de30a6e24888d774a2d3189576f65fa77
1 #ifndef COMPILER_HH
2 # define COMPILER_HH
4 # include <vector>
6 class Task;
7 class ParseTask;
9 class Compiler
11 public:
12 Compiler();
13 ~Compiler();
15 void addTask(Task * task);
16 void compile();
18 void work(Task & task);
19 void work(ParseTask & task);
21 inline void enableAstDump(bool enable);
22 inline void enableAstDumpParse(bool enable);
23 inline void enableAstDumpTypeCheck(bool enable);
24 inline void enableAstDumpSimplify(bool enable);
26 private:
27 std::vector<Task *> tasks_;
28 bool astDumpParse_;
29 bool astDumpTypeCheck_;
30 bool astDumpSimplify_;
33 extern template class std::vector<Task *>;
35 # include "compiler.hxx"
37 #endif /* !COMPILER_HH */