5 # include <core/singleton.hh>
11 class Compiler
: public core::Singleton
<Compiler
>
17 void addTask(Task
* task
);
20 void work(Task
& task
);
21 void work(ParseTask
& task
);
23 inline void enableAstDump(bool enable
);
24 inline void enableAstDumpParse(bool enable
);
25 inline void enableAstDumpTypeCheck(bool enable
);
26 inline void enableAstDumpSimplify(bool enable
);
27 inline const TargetData
& targetData() const;
30 std::vector
<Task
*> tasks_
;
32 bool astDumpTypeCheck_
;
33 bool astDumpSimplify_
;
34 const TargetData
* targetData_
;
37 extern template class core::Singleton
<Compiler
>;
38 extern template class std::vector
<Task
*>;
40 # include "compiler.hxx"
42 #endif /* !COMPILER_HH */