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

ValC Class Reference

#include <Val.H>

Inheritance diagram for ValC:

BindingVC BooleanVC ClosureVC ErrorVC FpVC IntegerVC ListVC ModelVC PrimitiveVC TextVC UnbndVC 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 (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)

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

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

Definition at line 279 of file Val.C.

References DepPath::content, dps, DepPath::Extend(), NEW, and SharedTable< K, V >::T::Put().

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

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

Definition at line 263 of file Val.C.

References DepPath::content, dps, DummyPK, NEW, NEW_CONSTR, and SharedTable< K, V >::T::Put().

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

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 ClosureVC::ClosureVC(), CollectLet(), NameEC::Eval(), ConstantEC::Eval(), Extend(), ListVC::GetElem(), IterateAssoc(), TypeOfVal(), and PickleC::UnpickleVal().

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

Definition at line 293 of file Val.C.

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

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

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(), and Sub().

Val ValC::Merge Val  val  ) 
 

Definition at line 185 of file Val.C.

References dps, MergeDPS(), NEW, and SharedTable< K, V >::T::Put().

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

Val ValC::MergeAndLenDPS Val  val  ) 
 

Definition at line 240 of file Val.C.

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

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

Val ValC::MergeAndTypeDPS Val  val  ) 
 

Definition at line 198 of file Val.C.

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

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

Val ValC::MergeDPS DPaths ps  ) 
 

Definition at line 176 of file Val.C.

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

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(), and MergeArgsDpnd().

Val ValC::MergeLenDPS Val  val  ) 
 

Definition at line 205 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::Put(), SharedTable< K, V >::T::Size(), SharedTable< K, V >::KVPair::val, and vKind.

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

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(), Interpret(), Print(), AssocVC::PrintD(), ConstantEC::PrintD(), and PrintDpnd().

int ValC::SizeOfDPS  )  [inline]
 

Definition at line 112 of file Val.H.

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

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

void ValC::VError const Text message  )  [inline]
 

Definition at line 85 of file Val.H.

References Error().

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


Member Data Documentation

bool ValC::cacheit
 

Definition at line 59 of file Val.H.

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

DPaths* ValC::dps
 

Definition at line 70 of file Val.H.

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

int ValC::dpsVersion
 

Definition at line 63 of file Val.H.

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

DepPath* ValC::path
 

Definition at line 73 of file Val.H.

Referenced by CanonicalDpnd(), ClosureVC::ClosureVC(), CollectDefined(), CollectDpnd(), CollectFunc(), CollectLet(), CollectModel(), DeleteDuplicatePaths(), DeleteDuplicatePathsInner(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), Extend(), BindingVC::GetElem(), ListVC::GetElem(), IterateAssoc(), ListAppend(), MergeAndLenDPS(), MergeArgsDpnd(), ModelCutOff(), PickleC::PickleVal(), PrintDpnd(), PrintDpndSize(), Sub(), Tail(), TypeOfVal(), and PickleC::UnpickleVal().

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().

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().

ValueKind ValC::vKind
 

Definition at line 53 of file Val.H.

Referenced by AllTexts(), And(), Append(), ApplicationFromCache(), Assert(), Bind1(), BindRunToolArgs(), CacheIt(), CanonicalDpnd(), CollectDpnd(), CollectFuncS(), CollectLetS(), CollectModelS(), ConvertToBindElem(), DeleteDuplicatePaths(), DeleteDuplicatePathsInner(), Div(), Elem(), EqualVal(), ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), NameEC::Eval(), ComputedEC::Eval(), Evaluator_Dir_Server_Inner(), Find(), FindR(), GetName(), GetValue(), Greater(), GreaterEq(), Head(), Implies(), IsBinding(), IsBool(), IsClosure(), IsErr(), IsInt(), IsList(), IsText(), IsValTrue(), IterateAssoc(), Length(), Less(), LessEq(), Lookup(), LookupArc(), LookupPath(), Map(), Max(), MergeLenDPS(), Min(), Minus(), Mod(), ModelCutOff(), ModelFromCache(), ModelName(), Neg(), Not(), NotEq(), Or(), ParMap(), Plus(), PlusPlus(), Print(), PrintDpndSize(), SameTypeInner(), ShipValue(), Star(), Sub(), and Tail().


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