Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ExprC Class Reference

#include <Expr.H>

Inheritance diagram for ExprC:

ApplyEC ApplyOpEC ApplyUnOpEC ArgListEC AssignEC BaseTEC BindEC BindingEC BindingTEC BlockEC ComputedEC ConstantEC ErrorEC ExprListEC FileEC FuncEC FuncTEC IfEC IterateEC ListEC ListTEC ModelEC NameEC PairEC PrimitiveEC SelectEC StmtListEC TypedEC List of all members.

Public Member Functions

virtual void PrintD (std::ostream *os)=0
virtual Val Eval (const Context &c)=0
void PrintExprVars (std::ostream *os)
void EError (const Text &message)

Public Attributes

SrcLocloc
ExprKind kind
Vars freeVars

Protected Member Functions

 ExprC (ExprKind tcl, SrcLoc *tloc)

Constructor & Destructor Documentation

ExprC::ExprC ExprKind  tcl,
SrcLoc tloc
[inline, protected]
 

Definition at line 68 of file Expr.H.


Member Function Documentation

void ExprC::EError const Text message  )  [inline]
 

Definition at line 64 of file Expr.H.

References Error(), and loc.

Referenced by ApplyModel(), BindApplicationArgs(), ApplyEC::Eval(), FileEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), Map(), ParMap(), and ProcessModelHead().

virtual Val ExprC::Eval const Context c  )  [pure virtual]
 

Implemented in ConstantEC, IfEC, ComputedEC, ExprListEC, ArgListEC, StmtListEC, ListEC, AssignEC, BindEC, NameEC, BindingEC, ApplyOpEC, ApplyUnOpEC, ModelEC, FileEC, PrimitiveEC, PairEC, SelectEC, FuncEC, BlockEC, IterateEC, ApplyEC, TypedEC, BaseTEC, ListTEC, BindingTEC, FuncTEC, and ErrorEC.

Referenced by And(), AppendDToContext(), ApplicationFromCache(), AssignAssoc(), Equal(), TypedEC::Eval(), ModelEC::Eval(), ApplyEC::Eval(), BlockEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), Greater(), GreaterEq(), Implies(), Less(), LessEq(), Minus(), ModelFromCache(), NotEq(), Or(), Plus(), PlusPlus(), PushToContext(), and Star().

virtual void ExprC::PrintD std::ostream *  os  )  [pure virtual]
 

Implemented in ConstantEC, IfEC, ComputedEC, ExprListEC, ArgListEC, StmtListEC, ListEC, AssignEC, BindEC, NameEC, BindingEC, ApplyOpEC, ApplyUnOpEC, ModelEC, FileEC, PrimitiveEC, PairEC, SelectEC, FuncEC, BlockEC, IterateEC, ApplyEC, TypedEC, BaseTEC, ListTEC, BindingTEC, FuncTEC, and ErrorEC.

Referenced by FingerPrint(), ClosureVC::PrintD(), FuncTEC::PrintD(), BindingTEC::PrintD(), ListTEC::PrintD(), TypedEC::PrintD(), ModelEC::PrintD(), ApplyEC::PrintD(), IterateEC::PrintD(), BlockEC::PrintD(), FuncEC::PrintD(), SelectEC::PrintD(), PairEC::PrintD(), ApplyUnOpEC::PrintD(), ApplyOpEC::PrintD(), BindEC::PrintD(), AssignEC::PrintD(), ComputedEC::PrintD(), and IfEC::PrintD().

void ExprC::PrintExprVars std::ostream *  os  ) 
 

Definition at line 40 of file Expr.C.

References freeVars, and PrintVars().


Member Data Documentation

Vars ExprC::freeVars
 

Definition at line 52 of file Expr.H.

Referenced by BindingEC::AddExpr(), ListEC::AddExpr(), StmtListEC::AddExpr(), ArgListEC::AddExpr(), ExprListEC::AddExpr(), AppendDToContext(), ApplyEC::ApplyEC(), ApplyOpEC::ApplyOpEC(), AssignAssoc(), AssignEC::AssignEC(), BindEC::BindEC(), BlockEC::BlockEC(), NameEC::ClearFreeVars(), FuncEC::Eval(), FuncEC::FuncEC(), IfEC::IfEC(), IterateEC::IterateEC(), Map(), PairEC::PairEC(), ParMap(), PrintExprVars(), PushToContext(), and SelectEC::SelectEC().

ExprKind ExprC::kind
 

Definition at line 49 of file Expr.H.

Referenced by AddStmtAssocs(), AssignAssoc(), BindApplicationArgs(), BindElem(), SelectEC::Eval(), BindingEC::Eval(), FuncEC::FuncEC(), ModelEC::ImportLocalModel(), IterateAssoc(), Map(), ParMap(), PickleC::PickleExpr(), IterateEC::PrintD(), ProcessModelHead(), and SelectEC::SelectEC().

SrcLoc* ExprC::loc
 

Definition at line 46 of file Expr.H.

Referenced by AddStmtAssocs(), And(), ApplicationFromCache(), ApplyFunction(), ApplyModel(), ApplyRunTool(), Assign(), BindApplicationArgs(), BindElem(), BindingCons(), ConvertToBindElem(), Defined(), EError(), ModelEC::Eval(), FileEC::Eval(), Find(), Greater(), GreaterEq(), Implies(), Interpret(), IsBool(), IsClosure(), IsErr(), IsInt(), IsList(), IsText(), Less(), LessEq(), ListCons(), Map(), Max(), Model(), ModelName(), PickleC::PickleExpr(), PickleC::PickleVal(), PlusPlus(), Primary(), Print(), PrintErrorStack(), Star(), Stmt(), and TypeDef().


The documentation for this class was generated from the following files:
Generated on Mon May 8 00:49:09 2006 for Vesta by  doxygen 1.4.2