Marsyas  0.5.0-beta1
Public Member Functions | Static Public Member Functions | Friends
ExVal Class Reference

ExVal is the abstract value type for expression tree nodes. Every expression results in a ExVal of the basic types: string, natural, real, bool. More...

#include <ExVal.h>

Inherited by ExValTyped.

Public Member Functions

ExVal append (const ExVal v) const
 ExVal ()
 ExVal (const std::string x)
 ExVal (double x)
 ExVal (float x)
 ExVal (mrs_natural x)
 ExVal (mrs_bool x)
 ExVal (ExFun *x)
 ExVal (TmTimer **x)
 ExVal (Scheduler **x)
 ExVal (mrs_natural len, ExNode **xs, std::string t="")
 ExVal (mrs_natural len, std::string t)
 ExVal (const ExVal &x)
std::string getBaseType () const
std::string getElemType () const
ExVal getSeqElem (int idx)
ExVal getSeqRange (int lidx, int ridx)
std::string getType () const
bool is_list () const
bool is_seq () const
ExValoperator= (const ExVal &x)
void set (ExFun *x)
void set (const std::string x)
void set (double x)
void set (float x)
void set (mrs_natural x)
void set (mrs_bool x)
void set (const ExVal &v)
void set (TmTimer **t)
void set (Scheduler **t)
void set (mrs_natural len, ExNode **xs, std::string t="")
void set (mrs_natural len, std::string t)
void setSeqElem (int idx, ExVal v)
mrs_bool toBool () const
ExFuntoFun () const
mrs_natural toNatural () const
mrs_real toReal () const
Scheduler ** toScheduler () const
std::string toString () const
TmTimer ** toTimer () const
virtual ~ExVal ()

Static Public Member Functions

static ExVal defaultExValue (std::string type)

Friends

ExVal operator!= (const ExVal &v1, const ExVal &v2)
ExVal operator% (const ExVal &v1, const ExVal &v2)
ExVal operator&& (const ExVal &v1, const ExVal &v2)
ExVal operator* (const ExVal &v1, const ExVal &v2)
ExVal operator+ (const ExVal &v1, const ExVal &v2)
ExVal operator- (const ExVal &v1, const ExVal &v2)
ExVal operator/ (const ExVal &v1, const ExVal &v2)
ExVal operator< (const ExVal &v1, const ExVal &v2)
std::ostream & operator<< (std::ostream &o, ExVal &v)
ExVal operator<= (const ExVal &v1, const ExVal &v2)
ExVal operator== (const ExVal &v1, const ExVal &v2)
ExVal operator> (const ExVal &v1, const ExVal &v2)
ExVal operator>= (const ExVal &v1, const ExVal &v2)
ExVal operator|| (const ExVal &v1, const ExVal &v2)

Detailed Description

ExVal is the abstract value type for expression tree nodes. Every expression results in a ExVal of the basic types: string, natural, real, bool.

Author:
Neil Burroughs inb@cs.uvic.ca
Version:
1.0
Date:
Jan 04, 2007

Definition at line 46 of file ExVal.h.


Constructor & Destructor Documentation

ExVal ( ) [inline]

Definition at line 64 of file ExVal.h.

ExVal ( const std::string  x) [inline]

Definition at line 65 of file ExVal.h.

ExVal ( double  x) [inline]

Definition at line 66 of file ExVal.h.

ExVal ( float  x) [inline]

Definition at line 67 of file ExVal.h.

ExVal ( mrs_natural  x) [inline]

Definition at line 69 of file ExVal.h.

ExVal ( mrs_bool  x) [inline]

Definition at line 70 of file ExVal.h.

ExVal ( ExFun x) [inline]

Definition at line 71 of file ExVal.h.

ExVal ( TmTimer **  x) [inline]

Definition at line 72 of file ExVal.h.

ExVal ( Scheduler **  x) [inline]

Definition at line 73 of file ExVal.h.

ExVal ( mrs_natural  len,
ExNode **  xs,
std::string  t = "" 
) [inline]

Definition at line 74 of file ExVal.h.

ExVal ( mrs_natural  len,
std::string  t 
) [inline]

Definition at line 75 of file ExVal.h.

ExVal ( const ExVal x) [inline]

Definition at line 76 of file ExVal.h.

~ExVal ( ) [virtual]

Definition at line 100 of file ExVal.cpp.


Member Function Documentation

ExVal append ( const ExVal  v) const

Definition at line 261 of file ExVal.cpp.

ExVal defaultExValue ( std::string  type) [static]

Definition at line 121 of file ExVal.cpp.

std::string getBaseType ( ) const

Definition at line 133 of file ExVal.cpp.

std::string getElemType ( ) const

Definition at line 141 of file ExVal.cpp.

ExVal getSeqElem ( int  idx)

Definition at line 207 of file ExVal.cpp.

ExVal getSeqRange ( int  lidx,
int  ridx 
)

Definition at line 170 of file ExVal.cpp.

std::string getType ( void  ) const [inline]

Definition at line 80 of file ExVal.h.

bool is_list ( ) const

Definition at line 153 of file ExVal.cpp.

bool is_seq ( ) const

Definition at line 164 of file ExVal.cpp.

ExVal& operator= ( const ExVal x) [inline]

Definition at line 77 of file ExVal.h.

void set ( ExFun x)

Definition at line 52 of file ExVal.cpp.

void set ( const std::string  x)

Definition at line 53 of file ExVal.cpp.

void set ( double  x)

Definition at line 54 of file ExVal.cpp.

void set ( float  x)

Definition at line 55 of file ExVal.cpp.

void set ( mrs_natural  x)

Definition at line 56 of file ExVal.cpp.

void set ( mrs_bool  x)

Definition at line 57 of file ExVal.cpp.

void set ( const ExVal v)

Definition at line 78 of file ExVal.cpp.

void set ( TmTimer **  t)

Definition at line 58 of file ExVal.cpp.

void set ( Scheduler **  t)

Definition at line 59 of file ExVal.cpp.

void set ( mrs_natural  len,
ExNode **  xs,
std::string  t = "" 
)

Definition at line 62 of file ExVal.cpp.

void set ( mrs_natural  len,
std::string  t 
)

Definition at line 71 of file ExVal.cpp.

void setSeqElem ( int  idx,
ExVal  v 
)

Definition at line 228 of file ExVal.cpp.

mrs_bool toBool ( ) const [inline]

Definition at line 87 of file ExVal.h.

ExFun* toFun ( ) const [inline]

Definition at line 88 of file ExVal.h.

mrs_natural toNatural ( ) const [inline]

Definition at line 85 of file ExVal.h.

mrs_real toReal ( ) const [inline]

Definition at line 86 of file ExVal.h.

Scheduler** toScheduler ( ) const [inline]

Definition at line 91 of file ExVal.h.

std::string toString ( ) const

Definition at line 107 of file ExVal.cpp.

TmTimer** toTimer ( ) const [inline]

Definition at line 90 of file ExVal.h.


Friends And Related Function Documentation

ExVal operator!= ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 134 of file ExVal.h.

ExVal operator% ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 144 of file ExVal.h.

ExVal operator&& ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 147 of file ExVal.h.

ExVal operator* ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 142 of file ExVal.h.

ExVal operator+ ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 140 of file ExVal.h.

ExVal operator- ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 141 of file ExVal.h.

ExVal operator/ ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 143 of file ExVal.h.

ExVal operator< ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 136 of file ExVal.h.

std::ostream& operator<< ( std::ostream &  o,
ExVal v 
) [friend]

Definition at line 240 of file ExVal.cpp.

ExVal operator<= ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 135 of file ExVal.h.

ExVal operator== ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 133 of file ExVal.h.

ExVal operator> ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 138 of file ExVal.h.

ExVal operator>= ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 137 of file ExVal.h.

ExVal operator|| ( const ExVal v1,
const ExVal v2 
) [friend]

Definition at line 146 of file ExVal.h.


The documentation for this class was generated from the following files: