diff options
Diffstat (limited to 'tiger-compiler/src/escapes/libescapes.cc')
| -rw-r--r-- | tiger-compiler/src/escapes/libescapes.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tiger-compiler/src/escapes/libescapes.cc b/tiger-compiler/src/escapes/libescapes.cc new file mode 100644 index 0000000..6124d54 --- /dev/null +++ b/tiger-compiler/src/escapes/libescapes.cc @@ -0,0 +1,23 @@ +/** + ** \file escapes/libescapes.cc + ** \brief Define exported escapes functions. + */ + +#include <escapes/escapes-visitor.hh> +#include <escapes/libescapes.hh> + +namespace escapes +{ + /** Walk the tree, and set the escape flag of variables and arguments + if they do escape. */ + void escapes_compute(ast::Ast& tree) + { + /// boolean to check if an escapes pass was done in desugar + escapes::escaped = true; + EscapesVisitor escapes_compute; + escapes_compute(tree); + } + + bool escaped = false; + +} // namespace escapes |
