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

TypedeltaDifference (Type *ta, Type *tb)
TypedeltaMinuend (Type *tc, Type *tb)
TypedeltaSubtrahend (Type *tc, Type *ta)
void init_dfa ()
int max (int a, int b)
TypesigmaAddend (Type *tc, Type *to)
TypesigmaSum (Type *ta, Type *tb)

Variables

static int nextUnionNumber = 0
static int progress = 0
static ExpscaledArrayPat
unsigned unionCount = 0
static ExpunscaledArrayPat


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