LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
libdesugar.hh File Reference

Declare functions exported by the desugar module. More...

#include <misc/error.hh>
Include dependency graph for libdesugar.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  desugar
 Desugaring an ast::Ast.

Functions

template<typename A >
void desugar::bind_and_types_check (A &tree)
template<typename A >
A * desugar::desugar (const A &tree, bool desugar_for_p, bool desugar_string_cmp_p)
 Remove the syntactic sugar from an AST.
template<typename A >
A * desugar::raw_desugar (const A &tree, bool desugar_for_p, bool desugar_string_cmp_p)
 Remove the syntactic sugar from an AST without recomputing its bindings nor its types.
template<typename A >
A * desugar::bound_checks_add (const A &tree)
 Add runtime checks of array bounds.
template<typename A >
A * desugar::raw_bound_checks_add (const A &tree)
 Remove the syntactic sugar from an AST without recomputing its bindings nor its types.

Detailed Description

Declare functions exported by the desugar module.