summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/ast/libast.hh
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/src/ast/libast.hh')
-rw-r--r--tiger-compiler/src/ast/libast.hh26
1 files changed, 26 insertions, 0 deletions
diff --git a/tiger-compiler/src/ast/libast.hh b/tiger-compiler/src/ast/libast.hh
new file mode 100644
index 0000000..121749d
--- /dev/null
+++ b/tiger-compiler/src/ast/libast.hh
@@ -0,0 +1,26 @@
+/**
+ ** \file ast/libast.hh
+ ** \brief Public ast interface declaration.
+ */
+
+#pragma once
+
+#include <iosfwd>
+
+#include <misc/xalloc.hh>
+
+#include <ast/fwd.hh>
+
+/// Ast management.
+namespace ast
+{
+ extern const misc::xalloc<bool> escapes_display;
+ extern const misc::xalloc<bool> bindings_display;
+
+ /// Output \a a on \a ostr.
+ std::ostream& operator<<(std::ostream& ostr, const Ast& tree);
+
+ /// Dump \a a on \a ostr.
+ std::ostream& dump_dot(const Ast& tree, std::ostream& ostr);
+
+} // namespace ast