summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/ast/libast.hh
blob: 121749d2c82b0f5b0b9c4ba3617cab366f8ac80f (plain)
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
/**
 ** \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