dfa.cpp File Reference

#include "gc.h"
#include "type.h"
#include "boomerang.h"
#include "signature.h"
#include "exp.h"
#include "prog.h"
#include "util.h"
#include "visitor.h"
#include "log.h"
#include "proc.h"
#include <sstream>

Go to the source code of this file.

Defines

#define DFA_ITER_LIMIT   20
#define PRINT_UNION   0

Functions

Type * deltaDifference (Type *ta, Type *tb)
Type * deltaMinuend (Type *tc, Type *tb)
Type * deltaSubtrahend (Type *tc, Type *ta)
void init_dfa ()
int max (int a, int b)
Type * sigmaAddend (Type *tc, Type *to)
Type * sigmaSum (Type *ta, Type *tb)

Variables

static int nextUnionNumber = 0
static int progress = 0
static Exp * scaledArrayPat
unsigned unionCount = 0
static Exp * unscaledArrayPat


Define Documentation

#define DFA_ITER_LIMIT   20
 

Definition at line 46 of file dfa.cpp.

Referenced by UserProc::dfaTypeAnalysis().

#define PRINT_UNION   0
 

Definition at line 571 of file dfa.cpp.


Function Documentation

Type* deltaDifference (  Type *  ta,
Type *  tb
) 
 

Definition at line 935 of file dfa.cpp.

References Type::clone(), Type::resolvesToInteger(), and Type::resolvesToPointer().

Referenced by Binary::ascendType().

Type* deltaMinuend (  Type *  tc,
Type *  tb
) 
 

Definition at line 890 of file dfa.cpp.

References Type::createUnion(), and Type::resolvesToPointer().

Type* deltaSubtrahend (  Type *  tc,
Type *  ta
) 
 

Definition at line 912 of file dfa.cpp.

References Type::createUnion(), Type::resolvesToInteger(), and Type::resolvesToPointer().

void init_dfa (   ) 
 

Definition at line 63 of file dfa.cpp.

References scaledArrayPat, and unscaledArrayPat.

Referenced by main().

int max (  int  a,
int  b
) 
 

Definition at line 41 of file dfa.cpp.

Referenced by UnionType::getSize(), SizeType::meetWith(), FloatType::meetWith(), IntegerType::meetWith(), and Range::unionWith().

Type* sigmaAddend (  Type *  tc,
Type *  to
) 
 

Definition at line 866 of file dfa.cpp.

References Type::resolvesToPointer(), and to.

Type* sigmaSum (  Type *  ta,
Type *  tb
) 
 

Definition at line 843 of file dfa.cpp.

References Type::createUnion(), and Type::resolvesToPointer().

Referenced by Binary::ascendType().


Variable Documentation

int nextUnionNumber = 0 [static]
 

Definition at line 38 of file dfa.cpp.

Referenced by UnionType::dereferenceUnion().

int progress = 0 [static]
 

Definition at line 72 of file dfa.cpp.

Exp* scaledArrayPat [static]
 

Initial value:

 Location::memOf(
    new Binary(opPlus,
        new Binary(opMult,
            new Terminal(opWild),
            new Terminal(opWildIntConst)),
        new Terminal(opWildIntConst)))

Definition at line 49 of file dfa.cpp.

Referenced by init_dfa().

unsigned unionCount = 0
 

Definition at line 573 of file dfa.cpp.

Exp* unscaledArrayPat [static]
 

Initial value:

Definition at line 56 of file dfa.cpp.

Referenced by init_dfa().


Generated on Tue Sep 19 21:18:37 2006 for Boomerang by  doxygen 1.4.6