ValC Class Reference

#include <Val.H>

Inheritance diagram for ValC:

Inheritance graph
[legend]
Collaboration diagram for ValC:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintD (std::ostream &os, bool verbose=false, int indent=0)=0
virtual Val Copy (bool more=false)=0
virtual FP::Tag FingerPrint ()=0
void VError (std::ostream &os, const Text &message)
Val MergeDPS (DPaths *ps)
Val Merge (Val val)
Val MergeAndTypeDPS (Val val)
Val MergeAndLenDPS (Val val)
Val MergeLenDPS (Val val)
Val AddToDPS (DepPath *dp, Val v, PathKind pk=DummyPK)
Val AddExtendToDPS (DepPath *dp, Val v, PathKind pk, const Text &id)
Val Extend (Val v, const Text &id, PathKind pk=NormPK, bool add=true)
int SizeOfDPS ()

Public Attributes

ValueKind vKind
bool tagged
bool cacheit
int dpsVersion
FP::Tag tag
DPathsdps
DepPathpath

Protected Member Functions

 ValC (ValueKind vk)
 ValC (const ValC &val)

Detailed Description

Definition at line 49 of file Val.H.


Constructor & Destructor Documentation

ValC::ValC ( ValueKind  vk  )  [inline, protected]

Definition at line 116 of file Val.H.

ValC::ValC ( const ValC val  )  [inline, protected]

Definition at line 121 of file Val.H.


Member Function Documentation

virtual void ValC::PrintD ( std::ostream &  os,
bool  verbose = false,
int  indent = 0 
) [pure virtual]

Implemented in BooleanVC, IntegerVC, ListVC, BindingVC, PrimitiveVC, TextVC, ModelVC, ClosureVC, ErrorVC, FpVC, and UnbndVC.

Referenced by CollectDpnd(), ErrorVal(), Interpret(), Print(), ConstantEC::PrintD(), PrintDpnd(), PrintForm(), and ValType().

Here is the caller graph for this function:

virtual Val ValC::Copy ( bool  more = false  )  [pure virtual]

Implemented in BooleanVC, IntegerVC, ListVC, BindingVC, PrimitiveVC, TextVC, ModelVC, ClosureVC, ErrorVC, FpVC, and UnbndVC.

Referenced by BindRunToolArgs(), CollectFunc(), CollectLet(), CollectModel(), NameEC::Eval(), ConstantEC::Eval(), Extend(), ListVC::GetElem(), TypeOfVal(), and PickleC::UnpickleVal().

Here is the caller graph for this function:

virtual FP::Tag ValC::FingerPrint (  )  [pure virtual]

Implemented in BooleanVC, IntegerVC, ListVC, BindingVC, PrimitiveVC, TextVC, ModelVC, ClosureVC, ErrorVC, FpVC, and UnbndVC.

Referenced by GetFP(), Pickle(), RunToolPK(), RunToolPKFromRoot(), and Sub().

Here is the caller graph for this function:

void ValC::VError ( std::ostream &  os,
const Text message 
) [inline]

Definition at line 85 of file Val.H.

References Error().

Referenced by FpVC::Copy(), TextVC::NDS(), NormalModelFromCache(), TextVC::Sid(), and ValType().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::MergeDPS ( DPaths ps  ) 

Definition at line 174 of file Val.C.

References dps, NEW_CONSTR, SharedTable< K, V >::T::Size(), and DepPathTbl::DPS::Union().

Referenced by CollectFunc(), CollectLet(), CollectModel(), BindingVC::Defined(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), Extend(), BindingVC::GetElem(), ListVC::GetElem(), BindingVC::Length(), ListVC::Length(), ListAppend(), Lookup(), Merge(), MergeAndLenDPS(), MergeAndTypeDPS(), MergeArgsDpnd(), and BindingVC::RecursiveOverlay().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::Merge ( Val  val  ) 

Definition at line 183 of file Val.C.

References dps, MergeDPS(), NEW, and path.

Referenced by And(), BindingAppend(), CollectLet(), EqualVal(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), IfEC::Eval(), GetFP(), Greater(), GreaterEq(), Implies(), Less(), LessEq(), Max(), MergeArgsDpnd(), Min(), Minus(), ModelFromCache(), ModelName(), Neg(), Not(), Or(), Plus(), Star(), and Tail().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::MergeAndTypeDPS ( Val  val  ) 

Definition at line 196 of file Val.C.

References AddToDPS(), dps, MergeDPS(), path, TypePK, and ValType().

Referenced by And(), BindingMinus(), EqualVal(), Greater(), GreaterEq(), Implies(), Less(), LessEq(), Minus(), Neg(), Not(), Or(), Plus(), PlusPlus(), SameTypeInner(), Star(), and Tail().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::MergeAndLenDPS ( Val  val  ) 

Definition at line 238 of file Val.C.

References AddToDPS(), BindingVK, BLenPK, dps, ListVC::elems, ListT< Value >::Length(), ListVK, LLenPK, MergeDPS(), MergeLenDPS(), BindingVC::Names(), NEW_CONSTR, path, and vKind.

Referenced by Append(), BindingAppend(), BindingMinus(), EqualVal(), BindingVC::GetElem(), ListVC::GetElem(), Minus(), Plus(), and PlusPlus().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::MergeLenDPS ( Val  val  ) 

Definition at line 203 of file Val.C.

References BindingVK, BLenPK, dps, SharedTable< K, V >::KVPair::key, ListVK, LLenPK, NEW_CONSTR, SharedTable< K, V >::Iterator::Next(), SharedTable< K, V >::T::Size(), SharedTable< K, V >::KVPair::val, and vKind.

Referenced by BindingVC::Length(), ListVC::Length(), ListAppend(), and MergeAndLenDPS().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::AddToDPS ( DepPath dp,
Val  v,
PathKind  pk = DummyPK 
)

Definition at line 261 of file Val.C.

References DepPath::content, dps, DummyPK, NEW, and NEW_CONSTR.

Referenced by ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), IsType(), BindingVC::Length(), ListVC::Length(), ListAppend(), Lookup(), MergeAndLenDPS(), MergeAndTypeDPS(), and TypeOfVal().

Here is the caller graph for this function:

Val ValC::AddExtendToDPS ( DepPath dp,
Val  v,
PathKind  pk,
const Text id 
)

Definition at line 277 of file Val.C.

References DepPath::content, dps, DepPath::Extend(), and NEW.

Referenced by BindingVC::Defined(), BindingVC::GetElem(), BindingVC::RecursiveOverlay(), and BindingVC::SimpleOverlay().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValC::Extend ( Val  v,
const Text id,
PathKind  pk = NormPK,
bool  add = true 
)

Definition at line 291 of file Val.C.

References Copy(), DepPath::DeepCopy(), dps, DepPath::Extend(), MergeDPS(), and path.

Referenced by BindingAppend(), BindingMinus(), Elem(), EqualVal(), BindingVC::GetElem(), Head(), ListAppend(), BindingVC::Lookup(), Map(), ParMap(), BindingVC::RecursiveOverlay(), BindingVC::SimpleOverlay(), Sub(), and Tail().

Here is the call graph for this function:

Here is the caller graph for this function:

int ValC::SizeOfDPS (  )  [inline]

Definition at line 112 of file Val.H.

References dps, and SharedTable< K, V >::T::Size().

Referenced by CollectAllDpnd(), CollectLet(), CollectModel(), DeleteDuplicatePathsInner(), ModelCutOff(), PrintAllDpnd(), PrintDpnd(), and PrintDpndSize().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

ValueKind ValC::vKind

Definition at line 53 of file Val.H.

Referenced by And(), Append(), Assert(), Bind1(), BindRunToolArgs(), CacheIt(), CanonicalDpnd(), PickleC::CollectDIs(), CollectDpnd(), CollectFuncS(), CollectLetS(), CollectModelS(), ConvertToBindElem(), Defined(), DeleteDuplicatePaths(), Div(), Elem(), EqualVal(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), Evaluator_Dir_Server_Inner(), FindInner(), GetName(), GetValue(), Greater(), GreaterEq(), Head(), Implies(), IsBinding(), IsBool(), IsClosure(), IsEmptyBinding(), IsEmptyList(), IsErr(), IsInt(), IsList(), IsText(), IsValFalse(), IsValTrue(), IterateAssoc(), Length(), Less(), LessEq(), Lookup(), LookupArc(), LookupPath(), Map(), Max(), MergeAndLenDPS(), MergeArgsDpnd(), MergeLenDPS(), Min(), Minus(), Mod(), ModelCutOff(), ModelFromCache(), ModelName(), Neg(), Not(), Or(), ParMap(), Plus(), PlusPlus(), Print(), PrintDpndSize(), BindingVC::RecursiveOverlay(), RunTool(), RunToolPK(), RunToolPKFromRoot(), SameTypeInner(), ShipValue(), Star(), Sub(), Tail(), ValType(), ValueDpnd(), and VestaShip().

bool ValC::tagged

Definition at line 56 of file Val.H.

Referenced by ClosureVC::FingerPrint(), TextVC::FingerPrint(), PrimitiveVC::FingerPrint(), BindingVC::FingerPrint(), ListVC::FingerPrint(), IntegerVC::FingerPrint(), BooleanVC::FingerPrint(), FpVC::FpVC(), ModelVC::ModelVC(), and TextVC::TextVC().

bool ValC::cacheit

Definition at line 59 of file Val.H.

Referenced by And(), Append(), Bind1(), BindingAppend(), BindingMinus(), BindingVC::BindingVC(), CacheIt(), BindingVC::Defined(), Defined(), Div(), Elem(), EqualVal(), ErrorVC::ErrorVC(), SelectEC::Eval(), BindingEC::Eval(), IfEC::Eval(), FindInner(), BindingVC::GetElem(), ListVC::GetElem(), GetFP(), GetName(), Greater(), GreaterEq(), Head(), Implies(), IsType(), BindingVC::Length(), ListVC::Length(), Length(), Less(), LessEq(), ListAppend(), BindingVC::Lookup(), Lookup(), Map(), Max(), Min(), Minus(), Mod(), ModelName(), ModelVC::ModelVC(), Neg(), Not(), Or(), ParMap(), PickleC::PickleVal(), Plus(), PlusPlus(), RunTool(), SameType(), Star(), Sub(), and Tail().

int ValC::dpsVersion

Definition at line 63 of file Val.H.

Referenced by CollectDpnd(), CollectFunc(), CollectLet(), CollectLookup(), and CollectModel().

FP::Tag ValC::tag

Definition at line 66 of file Val.H.

Referenced by FpVC::Copy(), FpVC::FingerPrint(), ClosureVC::FingerPrint(), TextVC::FingerPrint(), PrimitiveVC::FingerPrint(), BindingVC::FingerPrint(), ListVC::FingerPrint(), IntegerVC::FingerPrint(), BooleanVC::FingerPrint(), ModelVC::FingerPrintFile(), FpVC::FpVC(), ModelVC::ModelVC(), and TextVC::TextVC().

DPaths* ValC::dps

Definition at line 70 of file Val.H.

Referenced by AddExtendToDPS(), AddToDPS(), CanonicalDpnd(), CollectAllDpnd(), CollectDpnd(), CollectFunc(), CollectLet(), CollectLookup(), CollectModel(), DeleteDuplicatePaths(), DeleteDuplicatePathsInner(), Elem(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), Extend(), BindingVC::GetElem(), ListVC::GetElem(), Head(), IsType(), ListAppend(), Map(), Merge(), MergeAndLenDPS(), MergeAndTypeDPS(), MergeDPS(), MergeLenDPS(), ModelCutOff(), NamesTagsPickle(), ParMap(), PrintDpnd(), BindingVC::RecursiveOverlay(), RunTool(), RunToolFromCache(), SameTypeInner(), SizeOfDPS(), Tail(), TypeOfVal(), and PickleC::UnpickleVal().

DepPath* ValC::path

Definition at line 73 of file Val.H.

Referenced by BindingMinus(), BindingVC::BindingVC(), BindRunToolArgs(), CanonicalDpnd(), ClosureVC::ClosureVC(), CollectDefined(), CollectDpnd(), CollectFunc(), CollectLet(), CollectLookup(), CollectModel(), DeleteDuplicatePaths(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), Extend(), BindingVC::GetElem(), ListVC::GetElem(), IsType(), ListAppend(), Merge(), MergeAndLenDPS(), MergeAndTypeDPS(), MergeArgsDpnd(), ModelCutOff(), PickleC::PickleVal(), PrintDpnd(), PrintDpndSize(), BindingVC::RecursiveOverlay(), BindingVC::SimpleOverlay(), Sub(), Tail(), TypeOfVal(), PickleC::UnpickleVal(), and ValueDpnd().


The documentation for this class was generated from the following files:
Generated on Fri May 25 01:32:02 2007 for Vesta by  doxygen 1.5.1