Logo Search packages:      
Sourcecode: condor version File versions  Download package

ExprTree Class Reference

#include <exprTree.h>

Inheritance diagram for ExprTree:

AttributeReference ClassAd ExprList FunctionCall Literal Operation MatchClassAd

List of all members.


Detailed Description

A node of the expression tree, which may be a literal, attribute reference, function call, classad, expression list, or an operator applied to other ExprTree operands.
See also:
NodeKind

Definition at line 67 of file exprTree.h.


Public Types

enum  NodeKind {
  LITERAL_NODE, ATTRREF_NODE, OP_NODE, FN_CALL_NODE,
  CLASSAD_NODE, EXPR_LIST_NODE
}
 The kinds of nodes in expression trees. More...

Public Member Functions

virtual int CalcPrintToStr (void)
virtual ExprTreeCopy () const =0
virtual ExprTreeDeepCopy (void) const =0
virtual void Display ()
int EvalTree (const AttrList *, const AttrList *, EvalResult *)
int EvalTree (const AttrList *, EvalResult *)
bool Evaluate (Value &v) const
bool Evaluate (EvalState &state, Value &val) const
NodeKind GetKind (void) const
const ClassAdGetParentScope () const
virtual void GetReferences (const AttrList *base_attrlist, StringList &internal_references, StringList &external_references) const
virtual ExprTreeLArg ()
LexemeType MyType ()
virtual int operator< (ExprTree &)
virtual int operator<= (ExprTree &)
virtual int operator== (ExprTree &)
virtual int operator> (ExprTree &)
virtual int operator>= (ExprTree &)
virtual void PrintToNewStr (char **str)
virtual void PrintToStr (MyString &)
virtual void PrintToStr (char *)
void Puke () const
 A debugging method; send expression to stdout.
virtual ExprTreeRArg ()
virtual bool SameAs (const ExprTree *tree) const =0
void SetParentScope (const ClassAd *p)
virtual ~ExprTree ()
 Virtual destructor.

Public Attributes

bool invisible
char unit

Protected Types

enum  {
  EVAL_FAIL, EVAL_OK, EVAL_UNDEF, PROP_UNDEF,
  EVAL_ERROR, PROP_ERROR
}

Protected Member Functions

virtual int _EvalTree (const AttrList *, const AttrList *, EvalResult *)=0
virtual int _EvalTree (const class AttrList *, EvalResult *)=0
virtual void CopyBaseExprTree (class ExprTree *const recipient) const
void CopyFrom (const ExprTree &literal)
bool Evaluate (EvalState &, Value &, ExprTree *&) const
bool Evaluate (Value &v, ExprTree *&t) const
bool Flatten (EvalState &, Value &, ExprTree *&, int *=NULL) const
bool Flatten (Value &val, ExprTree *&tree) const

Protected Attributes

bool evalFlag
NodeKind nodeKind
const ClassAdparentScope
LexemeType type

Static Protected Attributes

static StringSpacestring_space
static int string_space_references

Private Member Functions

virtual bool _Evaluate (EvalState &, Value &, ExprTree *&) const =0
virtual bool _Evaluate (EvalState &, Value &) const =0
virtual bool _Flatten (EvalState &, Value &, ExprTree *&, int *) const =0
virtual void _SetParentScope (const ClassAd *)=0
 ExprTree (const ExprTree &tree)
 Copy constructor.
ExprTreeoperator= (const ExprTree &literal)

Friends

class AttributeReference
class ClassAd
class ExprList
class ExprListIterator
class FunctionCall
class FunctionTable
class Operation
bool operator== (const ExprTree &tree1, const ExprTree &tree2)

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

Generated by  Doxygen 1.6.0   Back to index