In file exprTree.h:

class ExprTree

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

Inheritance:

ExprTree


Public Classes

enum NodeKind
The kinds of nodes in expression trees
LITERAL_NODE
Literal node (string, integer, real, boolean, undefined, error)
ATTRREF_NODE
Attribute reference node (attr, .attr, expr.attr)
OP_NODE
Expression operation node (unary, binary, ternary)/
FN_CALL_NODE
Function call node
CLASSAD_NODE
ClassAd node
EXPR_LIST_NODE
Expression list node

Public Methods

virtual ExprTree* Copy( )
Makes a deep copy of the expression tree
NodeKind GetKind(void)
Gets the node kind of this expression node
const ClassAd* GetParentScope( )
Gets the parent scope of the expression
void Puke( )
A debugging method; send expression to stdout
void SetParentScope( const ClassAd* p )
Sets the lexical parent scope of the expression, which is used to determine the lexical scoping structure for resolving attribute references
virtual ~ExprTree()
Virtual destructor

Public

enum NodeKind
The kinds of nodes in expression trees
LITERAL_NODE
Literal node (string, integer, real, boolean, undefined, error)
ATTRREF_NODE
Attribute reference node (attr, .attr, expr.attr)
OP_NODE
Expression operation node (unary, binary, ternary)/
FN_CALL_NODE
Function call node
CLASSAD_NODE
ClassAd node
EXPR_LIST_NODE
Expression list node

Documentation

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
void SetParentScope( const ClassAd* p )
Sets the lexical parent scope of the expression, which is used to determine the lexical scoping structure for resolving attribute references. (However, the semantic parent may be different from the lexical parent if a super attribute is specified.) This method is automatically called when expressions are inserted into ClassAds, and should thus be called explicitly only when evaluating expressions which haven't been inserted into a ClassAd.
Parameters:
p - The parent ClassAd.

const ClassAd* GetParentScope( )
Gets the parent scope of the expression
Returns:
The parent scope of the expression.

virtual ExprTree* Copy( )
Makes a deep copy of the expression tree
Returns:
A deep copy of the expression, or NULL on failure.

NodeKind GetKind(void)
Gets the node kind of this expression node
Returns:
The node kind.
See Also:
NodeKind


Direct child classes:
Operation
Literal
FunctionCall
ExprList
ClassAd
AttributeReference
See Also:
NodeKind

alphabetic index hierarchy of classes


Condor Home Page

generated by doc++