Simplify.cxx File Reference

#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include <dirent.h>
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <libsherpa/UExcept.hxx>
#include "AST.hxx"
#include "Type.hxx"
#include "inter-pass.hxx"

Go to the source code of this file.

Functions

static shared_ptr< ASTLetWrap (shared_ptr< AST > ast)
void MakeFrame (shared_ptr< AST > ast, shared_ptr< AST > frameBindings)
void LetInsert (shared_ptr< AST > ast, bool skip=false)

Variables

static unsigned long ltmpCounter = 0


Function Documentation

void LetInsert ( shared_ptr< AST ast,
bool  skip = false 
)

Definition at line 174 of file Simplify.cxx.

References at_apply, at_identPattern, at_letbinding, at_object_apply, at_struct_apply, at_ucon_apply, child(), and LetWrap().

static shared_ptr<AST> LetWrap ( shared_ptr< AST ast  )  [static]

Definition at line 103 of file Simplify.cxx.

References assert(), at_constraints, at_ident, at_identPattern, at_let, at_letbinding, at_letbindings, ID_IS_GENSYM, id_value, ltmpCounter, and AST::make().

Referenced by LetInsert().

void MakeFrame ( shared_ptr< AST ast,
shared_ptr< AST frameBindings 
)

Definition at line 143 of file Simplify.cxx.

References assert(), at_begin, at_identPattern, at_let, at_letbinding, and at_setbang.


Variable Documentation

unsigned long ltmpCounter = 0 [static]

Definition at line 100 of file Simplify.cxx.

Referenced by LetWrap().


Generated on Thu May 17 23:59:16 2012 for BitC Compiler by  doxygen 1.4.7