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

Functions exported by the desugar module. More...

#include <memory>
#include <ast/exp.hh>
#include <ast/decs-list.hh>
#include <desugar/libdesugar.hh>
#include <desugar/desugar-visitor.hh>
#include <desugar/bound-checking-visitor.hh>
#include <bind/libbind.hh>
#include <type/libtype.hh>
#include <overload/liboverload.hh>
Include dependency graph for libdesugar.cc:

Namespaces

namespace  desugar
 Desugaring an ast::Ast.

Functions

template<typename A >
void desugar::bind_and_types_check (A &tree)
template void desugar::bind_and_types_check< ast::DecsList > (ast::DecsList &)
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::desugar (const A &tree, bool desugar_for_p, bool desugar_string_cmp_p)
 Remove the syntactic sugar from an AST.
template ast::DecsListdesugar::raw_desugar (const ast::DecsList &, bool, bool)
 Explicit instantiations.
template ast::DecsListdesugar::desugar (const ast::DecsList &, bool, bool)
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.
template<typename A >
A * desugar::bound_checks_add (const A &tree)
 Add runtime checks of array bounds.
template ast::DecsListdesugar::raw_bound_checks_add (const ast::DecsList &t)
 Explicit instantiations.
template ast::DecsListdesugar::bound_checks_add (const ast::DecsList &t)

Detailed Description

Functions exported by the desugar module.