summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/bind/tasks.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/src/bind/tasks.cc')
-rw-r--r--tiger-compiler/src/bind/tasks.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/tiger-compiler/src/bind/tasks.cc b/tiger-compiler/src/bind/tasks.cc
new file mode 100644
index 0000000..6492463
--- /dev/null
+++ b/tiger-compiler/src/bind/tasks.cc
@@ -0,0 +1,34 @@
+/**
+ ** \file bind/tasks.cc
+ ** \brief Bind module tasks implementation.
+ */
+
+// FIXME DONE: Some code was deleted here.
+#include <ast/libast.hh>
+#include <ast/tasks.hh>
+#include <bind/libbind.hh>
+#define DEFINE_TASKS 1
+#include <bind/tasks.hh>
+#undef DEFINE_TASKS
+#include <common.hh>
+
+namespace bind::tasks
+{
+
+ void bind() {
+ misc::error& program_error = task_error();
+ program_error << bind::bind(ast::tasks::the_program.get());
+ program_error.exit_on_error();
+ }
+
+ void display_bind() {
+ ast::bindings_display(std::cout) = true;
+ }
+
+ void rename() {
+ misc::error& program_error = task_error();
+ program_error << bind::rename(*ast::tasks::the_program);
+ program_error.exit_on_error();
+ }
+
+}