/vesta/vestasys.org/vesta/eval/98/src/Val.C File Reference

#include "Val.H"
#include "Expr.H"
#include "Parser.H"
#include "Location.H"
#include "ModelState.H"
#include "PrimRunTool.H"
#include "Files.H"
#include "Debug.H"
#include <CacheC.H>
#include <VestaSource.H>
#include <UniqueId.H>
#include <sys/types.h>
#include <sys/stat.h>
#include <BufStream.H>

Include dependency graph for Val.C:

Go to the source code of this file.

Functions

Val CollectLet (const Text &name, Val v1, Val v2)
void CollectLet (const Text &name, Val v1, DPaths *ps, Val res, DPaths *&nps)
Val CollectFunc (Val bodyv, Val fv, const Context &c)
void CollectFunc (DPaths *ps, Val fv, const Context &c, Val res, DPaths *&nps)
Val CollectModel (Val bodyv, Val fv, const Context &c)
void CollectModel (DPaths *ps, const Context &c, Val res, DPaths *&nps)
FP::Tag FingerPrintContext (const Context &c)
FP::Tag FingerPrintContext (const Context &c, const Text &id)
void PrintContext (ostream &os, const Context &c, bool verbose, int indent)
void PrintContext (ostream &os, const Context &c, const Text &id, bool verbose, int indent)
bool IsValTrue (Val v)
bool IsValFalse (Val v)
bool IsEmptyBinding (Val v)
bool IsEmptyList (Val v)
Val ValType (Val v)
void DeleteDuplicatePathsInner (Val v, DPaths *ps)
void DeleteDuplicatePaths (Val v)
Val CanonicalDpnd (Val v)
void ModelCutOff (Val v)
void CollectDefined (BindingVC *bv, const Text &id, DPaths *ps)
Val CollectLookup (BindingVC *bv, const Text &id, DepPath *&path, DPaths *ps)
void ValueDpnd (Val v, DPaths *ps)
DepPathCollectDpnd (Val v, DepPath *dp, DPaths *ps, bool all=true)
Val CollectLetS (const Text &name, Val v1, Val v2)
Val LetDpnd (Val v, const Context &c)
Val CollectFuncS (Val bodyv, Val fv, const Context &c)
Val FuncDpnd (Val bodyv, Val fv, const Context &c)
Val CollectModelS (Val bodyv, Val fv, const Context &c)
Val ModelDpnd (Val bodyv, Val fv, const Context &c)
Text PrintForm (Val v)
Assoc FindInContext (const Text &id, const Context &c)
Val LookupInContext (const Text &id, const Context &c)
Val LookupArc (const Text &arc, Val v)
Val LookupPath (const FV2::T &path, const Context &c)
Val LookupPath (DepPath *dp, const Context &c)
Val Lookup (Basics::uint16 idx, const PrefixTbl &tbl, const Context &c, Val *vals)
Val LookupPath (Basics::uint16 idx, PathKind pkind, const PrefixTbl &tbl, const Context &c, Val *vals)
void AppendDToContext (const Text &name, Expr elem, const Context &cElem, Context &cc)
void PushToContext (const Text &name, Expr elem, const Context &cElem, Context &in)
Context RestrictContext (const Context &con, Vars fv)
Context Snip (const Context &orig, const Text &name, bool &found)
Context Prune (const Context &orig, const Context &remove)
void AssignAssoc (AssignEC *ae, Context &con)
void IterateAssoc (IterateEC *it, Context &c)
Context AddStmtAssocs (StmtListEC *assocs, const Context &c)
void ValInit_inner ()
void ValInit ()

Variables

Val valTrue = NEW_CONSTR(BooleanVC, (true))
Val valFalse = NEW_CONSTR(BooleanVC, (false))
Val valZero = NEW_CONSTR(IntegerVC, (0))
Val valErr = NEW_CONSTR(ErrorVC, (true))
Val valUnbnd = NEW(UnbndVC)
Assoc nullAssoc = NEW_CONSTR(AssocVC, (nameDot, valUnbnd))
Val valTBinding = NEW_CONSTR(TextVC, ("t_binding"))
Val valTBool = NEW_CONSTR(TextVC, ("t_bool"))
Val valTClosure = NEW_CONSTR(TextVC, ("t_closure"))
Val valTErr = NEW_CONSTR(TextVC, ("t_err"))
Val valTInt = NEW_CONSTR(TextVC, ("t_int"))
Val valTList = NEW_CONSTR(TextVC, ("t_list"))
Val valTText = NEW_CONSTR(TextVC, ("t_text"))
FP::Tag booleanTag ("Bool")
FP::Tag integerTag ("Int")
FP::Tag listTag ("List")
FP::Tag bindingTag ("Binding")
FP::Tag primitiveTag ("Prim")
FP::Tag textTag ("Text")
FP::Tag closureTag ("Closure")
FP::Tag modelTag ("Model")
FP::Tag errorTag ("Error")
FP::Tag unbndTag ("Unbnd")
Context conEmpty
Context conInitial


Function Documentation

Context AddStmtAssocs ( StmtListEC assocs,
const Context c 
)

Definition at line 2755 of file Val.C.

References AssignAssoc(), AssignEK, OS::cio(), StmtListEC::elems, OS::ThreadIO::end_err(), Error(), ErrorDetail(), ErrorExpr(), IterateEC::Eval(), Sequence< Elem, elem_ptrfree >::get(), IterateAssoc(), IterateEK, ExprC::loc, Sequence< Elem, elem_ptrfree >::size(), OS::ThreadIO::start_err(), TryEK, and TypedEK.

Referenced by BlockEC::Eval(), and IterateAssoc().

Here is the call graph for this function:

Here is the caller graph for this function:

void AppendDToContext ( const Text name,
Expr  elem,
const Context cElem,
Context cc 
)

Definition at line 2605 of file Val.C.

References ListT< Value >::Append1D(), ExprC::Eval(), ExprC::freeVars, NEW_CONSTR, and RestrictContext().

Referenced by BindingEC::Eval().

Here is the call graph for this function:

Here is the caller graph for this function:

void AssignAssoc ( AssignEC ae,
Context con 
)

Definition at line 2666 of file Val.C.

References BaseTEK, BindingTEK, ExprC::Eval(), ExprC::freeVars, FuncTEK, NameEC::id, AssignEC::isFunc, ExprC::kind, AssignEC::lhs, ListTEK, NEW_CONSTR, ListT< Value >::Push(), RestrictContext(), and AssignEC::rhs.

Referenced by AddStmtAssocs().

Here is the call graph for this function:

Here is the caller graph for this function:

Val CanonicalDpnd ( Val  v  ) 

Definition at line 1398 of file Val.C.

References BindingVK, ValC::dps, DepPathTbl::DPS::Empty(), DepPathTbl::DPS::Intersection(), ListT< Value >::Length(), ListVK, min(), NEW_ARRAY, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), and ValC::vKind.

Referenced by LetDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

void CollectDefined ( BindingVC bv,
const Text id,
DPaths ps 
)

Definition at line 1547 of file Val.C.

References DepPathTbl::DPS::AddExtend(), BangPK, BindingVC::DefinedNoDpnd(), SharedTable< K, V >::KVPair::key, BindingVC::lenDps, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::KVPair::val, valFalse, and valTrue.

Referenced by CollectDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

DepPath* CollectDpnd ( Val  v,
DepPath dp,
DPaths ps,
bool  all = true 
)

Definition at line 1654 of file Val.C.

References ArcInt(), BangPK, BindingVK, BLenPK, OS::cio(), ClosureVK, CollectDefined(), CollectLookup(), ClosureVC::con, DepPath::content, ValC::dps, ValC::dpsVersion, BindingVC::elems, Error(), DepPath::Extend(), DepPath::ExtendLow(), InternalError(), SharedTable< K, V >::KVPair::key, ListVK, LLenPK, NormPK, ListT< Value >::Nth(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), DepPath::Print(), ValC::PrintD(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPath::Size(), OS::ThreadIO::start_err(), TypePK, DepPathTbl::DPS::Union(), SharedTable< K, V >::KVPair::val, valTBinding, ValueDpnd(), and ValC::vKind.

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

Here is the call graph for this function:

Here is the caller graph for this function:

void CollectFunc ( DPaths ps,
Val  fv,
const Context c,
Val  res,
DPaths *&  nps 
)

Definition at line 2289 of file Val.C.

References CollectDpnd(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, SharedTable< K, V >::KVPair::key, NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ListT< Value >::Pop(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.

Here is the call graph for this function:

Val CollectFunc ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 1993 of file Val.C.

References DepPathTbl::DPS::Add(), CollectDpnd(), CollectFuncS(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, ExprPK, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), ListT< Value >::Push(), SharedTable< K, V >::T::Put(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.

Referenced by CollectFuncS(), and FuncDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

Val CollectFuncS ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 1944 of file Val.C.

References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectFunc(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.

Referenced by CollectFunc().

Here is the call graph for this function:

Here is the caller graph for this function:

void CollectLet ( const Text name,
Val  v1,
DPaths ps,
Val  res,
DPaths *&  nps 
)

Definition at line 2238 of file Val.C.

References CollectDpnd(), DepPathTbl::DPS::ContainsPrefix(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, emptyText, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), and DepPathTbl::DPS::Union().

Here is the call graph for this function:

Val CollectLet ( const Text name,
Val  v1,
Val  v2 
)

Definition at line 1857 of file Val.C.

References CollectDpnd(), CollectLetS(), DepPathTbl::DPS::ContainsPrefix(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, emptyText, SharedTable< K, V >::KVPair::key, ValC::Merge(), ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), ValC::path, SharedTable< K, V >::T::Put(), ValC::SizeOfDPS(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.

Referenced by CollectLetS(), and LetDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

Val CollectLetS ( const Text name,
Val  v1,
Val  v2 
)

Definition at line 1804 of file Val.C.

References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectLet(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.

Referenced by CollectLet().

Here is the call graph for this function:

Here is the caller graph for this function:

Val CollectLookup ( BindingVC bv,
const Text id,
DepPath *&  path,
DPaths ps 
)

Definition at line 1574 of file Val.C.

References DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, BindingVC::elems, LookupInContext(), BindingVC::LookupNoDpnd(), path, ValC::path, and DepPathTbl::DPS::Union().

Referenced by CollectDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

void CollectModel ( DPaths ps,
const Context c,
Val  res,
DPaths *&  nps 
)

Definition at line 2345 of file Val.C.

References CollectDpnd(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, SharedTable< K, V >::KVPair::key, nameDot, NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Nth(), SharedTable< K, V >::T::Put(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.

Here is the call graph for this function:

Val CollectModel ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 2180 of file Val.C.

References DepPathTbl::DPS::Add(), CollectDpnd(), CollectModelS(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, ExprPK, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), nameDot, NEW, NormPK, ListT< Value >::Nth(), ValC::path, SharedTable< K, V >::T::Put(), ValC::SizeOfDPS(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.

Referenced by CollectModelS(), and ModelDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

Val CollectModelS ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 2131 of file Val.C.

References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectModel(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.

Referenced by CollectModel().

Here is the call graph for this function:

Here is the caller graph for this function:

void DeleteDuplicatePaths ( Val  v  ) 

Definition at line 1370 of file Val.C.

References BindingVK, DeleteDuplicatePathsInner(), ValC::dps, ListVK, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Size(), and ValC::vKind.

Referenced by LetDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:

void DeleteDuplicatePathsInner ( Val  v,
DPaths ps 
)

Definition at line 1331 of file Val.C.

References ValC::dps, SharedTable< K, V >::KVPair::key, DepPathTbl::DPS::Member(), NEW_CONSTR, SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), and ValC::SizeOfDPS().

Referenced by DeleteDuplicatePaths().

Here is the call graph for this function:

Here is the caller graph for this function:

Assoc FindInContext ( const Text id,
const Context c 
)

Definition at line 2388 of file Val.C.

References ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().

Referenced by AllFreeVarsBoundInContext(), BindingVC::Defined(), BindingVC::DefinedNoDpnd(), BindingEC::Eval(), Lookup(), LookupInContext(), Map(), ParMap(), Prune(), BindingVC::RecursiveOverlay(), RestrictContext(), and BindingVC::SimpleOverlay().

Here is the call graph for this function:

Here is the caller graph for this function:

FP::Tag FingerPrintContext ( const Context c,
const Text id 
)

Definition at line 121 of file Val.C.

References FP::Tag::ExtendRaw(), ListT< Value >::Null(), POLY_ONE, and ListT< Value >::Pop().

Here is the call graph for this function:

FP::Tag FingerPrintContext ( const Context c  ) 

Definition at line 110 of file Val.C.

References FP::Tag::ExtendRaw(), ListT< Value >::Null(), FP::Tag::Permute(), POLY_ONE, and ListT< Value >::Pop().

Referenced by ClosureVC::FingerPrint().

Here is the call graph for this function:

Here is the caller graph for this function:

Val FuncDpnd ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 2126 of file Val.C.

References CollectFunc().

Referenced by ApplicationFromCache().

Here is the call graph for this function:

Here is the caller graph for this function:

bool IsEmptyBinding ( Val  v  ) 

Definition at line 1291 of file Val.C.

References BindingVK, and ValC::vKind.

Referenced by Append(), Defined(), EqualVal(), Lookup(), Minus(), Plus(), and PlusPlus().

Here is the caller graph for this function:

bool IsEmptyList ( Val  v  ) 

Definition at line 1295 of file Val.C.

References ListVK, and ValC::vKind.

Referenced by Append(), EqualVal(), and Plus().

Here is the caller graph for this function:

bool IsValFalse ( Val  v  ) 

Definition at line 1287 of file Val.C.

References BooleanVK, and ValC::vKind.

Referenced by And(), EqualVal(), IfEC::Eval(), Implies(), and NotEq().

Here is the caller graph for this function:

bool IsValTrue ( Val  v  ) 

Definition at line 1283 of file Val.C.

References BooleanVK, and ValC::vKind.

Referenced by BindingAppend(), IfEC::Eval(), and Or().

Here is the caller graph for this function:

void IterateAssoc ( IterateEC it,
Context c 
)

Definition at line 2687 of file Val.C.

References AddStmtAssocs(), BindingVK, BLenPK, IterateEC::body, OS::cio(), IterateEC::control, IterateEC::e, BindingVC::elems, emptyText, OS::ThreadIO::end_err(), Error(), ErrorVal(), StmtListEC::Eval(), PairEC::first, IntArc(), ExprC::kind, ListT< Value >::Length(), ListVK, LLenPK, NameEK, BindingVC::Names(), NEW_CONSTR, NormPK, ListT< Value >::Null(), ListT< Value >::Pop(), ListT< Value >::Push(), PairEC::second, OS::ThreadIO::start_err(), and ValC::vKind.

Referenced by AddStmtAssocs().

Here is the call graph for this function:

Here is the caller graph for this function:

Val LetDpnd ( Val  v,
const Context c 
)

Definition at line 1922 of file Val.C.

References CanonicalDpnd(), CollectLet(), DeleteDuplicatePaths(), AssocVC::name, ListT< Value >::Null(), ListT< Value >::Pop(), and AssocVC::val.

Referenced by BlockEC::Eval().

Here is the call graph for this function:

Here is the caller graph for this function:

Val Lookup ( Basics::uint16  idx,
const PrefixTbl tbl,
const Context c,
Val vals 
)

Definition at line 2536 of file Val.C.

References PrefixTbl::Arc(), PrefixTbl::endMarker, Lookup(), LookupArc(), LookupInContext(), PrefixTbl::PrefixIndex(), UnbndVK, valUnbnd, and ValC::vKind.

Here is the call graph for this function:

Val LookupArc ( const Text arc,
Val  v 
)

Definition at line 2405 of file Val.C.

References ArcInt(), BindingVK, ClosureVK, ListVK, LookupInContext(), valUnbnd, and ValC::vKind.

Referenced by Lookup(), and LookupPath().

Here is the call graph for this function:

Here is the caller graph for this function:

Val LookupInContext ( const Text id,
const Context c 
)

Definition at line 2398 of file Val.C.

References FindInContext(), and AssocVC::val.

Referenced by BindRunToolArgs(), CollectLookup(), NameEC::Eval(), Lookup(), BindingVC::Lookup(), LookupArc(), BindingVC::LookupNoDpnd(), and LookupPath().

Here is the call graph for this function:

Here is the caller graph for this function:

Val LookupPath ( Basics::uint16  idx,
PathKind  pkind,
const PrefixTbl tbl,
const Context c,
Val vals 
)

Definition at line 2561 of file Val.C.

References PrefixTbl::Arc(), BangPK, BindingVK, BLenPK, ClosureVK, ExprPK, ListVK, LLenPK, Lookup(), ModelVK, NEW_CONSTR, PrefixTbl::PrefixIndex(), TypePK, valFalse, valTrue, ValType(), valUnbnd, and ValC::vKind.

Here is the call graph for this function:

Val LookupPath ( DepPath dp,
const Context c 
)

Definition at line 2488 of file Val.C.

Val LookupPath ( const FV2::T path,
const Context c 
)

Definition at line 2435 of file Val.C.

void ModelCutOff ( Val  v  ) 

Definition at line 1492 of file Val.C.

References BindingVK, ClosureVK, ClosureVC::con, DepPath::content, ValC::dps, BindingVC::elems, ListVC::elems, ClosureVC::func, BindingVC::lenDps, ListVC::lenDps, ListVK, ModelCutOff(), FuncEC::name, nameDot, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), DepPathTbl::DPS::Restrict(), SharedTable< K, V >::T::Size(), ValC::SizeOfDPS(), and ValC::vKind.

Referenced by ModelCutOff(), ModelFromCache(), NamesTagsPickle(), and NormalModelFromCache().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ModelDpnd ( Val  bodyv,
Val  fv,
const Context c 
)

Definition at line 2233 of file Val.C.

References CollectModel().

Referenced by ModelFromCache().

Here is the call graph for this function:

Here is the caller graph for this function:

void PrintContext ( ostream &  os,
const Context c,
const Text id,
bool  verbose,
int  indent 
)

Definition at line 150 of file Val.C.

References Indent(), ListT< Value >::Null(), and ListT< Value >::Pop().

Here is the call graph for this function:

void PrintContext ( ostream &  os,
const Context c,
bool  verbose,
int  indent 
)

Definition at line 136 of file Val.C.

References Indent(), ListT< Value >::Null(), and ListT< Value >::Pop().

Referenced by AllFreeVarsBoundInContext(), Assert(), and NameEC::Eval().

Here is the call graph for this function:

Here is the caller graph for this function:

Text PrintForm ( Val  v  ) 

Definition at line 2381 of file Val.C.

References ValC::PrintD(), and Basics::OBufStream::str().

Referenced by ConvertToBindElem().

Here is the call graph for this function:

Here is the caller graph for this function:

Context Prune ( const Context orig,
const Context remove 
)

Definition at line 2653 of file Val.C.

References ListT< Value >::Append1D(), FindInContext(), ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().

Here is the call graph for this function:

void PushToContext ( const Text name,
Expr  elem,
const Context cElem,
Context in 
)

Definition at line 2612 of file Val.C.

References ExprC::Eval(), ExprC::freeVars, NEW_CONSTR, ListT< Value >::Push(), and RestrictContext().

Referenced by ApplyModel(), BindApplicationArgs(), ModelEC::Eval(), and ProcessModelHead().

Here is the call graph for this function:

Here is the caller graph for this function:

Context RestrictContext ( const Context con,
Vars  fv 
)

Definition at line 2619 of file Val.C.

References ListT< Value >::Append1D(), FindInContext(), ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().

Referenced by AppendDToContext(), AssignAssoc(), FuncEC::Eval(), Map(), ParMap(), and PushToContext().

Here is the call graph for this function:

Here is the caller graph for this function:

Context Snip ( const Context orig,
const Text name,
bool &  found 
)

Definition at line 2630 of file Val.C.

References ListT< Value >::Append1D(), AssocVC::name, ListT< Value >::Null(), and ListT< Value >::Pop().

Referenced by PickleC::PickleVal(), and BindingVC::RemoveBindingAssoc().

Here is the call graph for this function:

Here is the caller graph for this function:

void ValInit (  ) 

Definition at line 2789 of file Val.C.

References ValInit_inner().

Referenced by StartEval().

Here is the call graph for this function:

Here is the caller graph for this function:

void ValInit_inner (  ) 

Definition at line 2785 of file Val.C.

References conInitial, nameDot, NEW, NEW_CONSTR, and ListT< Value >::Push().

Referenced by ValInit().

Here is the call graph for this function:

Here is the caller graph for this function:

Val ValType ( Val  v  ) 

Definition at line 1300 of file Val.C.

References BindingVK, BooleanVK, OS::cio(), ClosureVK, ErrorVK, IntegerVK, InternalError(), ListVK, ModelVK, PrimitiveVK, ValC::PrintD(), OS::ThreadIO::start_err(), TextVK, UnbndVK, valTBinding, valTBool, valTClosure, valTErr, valTInt, valTList, valTText, ValC::VError(), and ValC::vKind.

Referenced by ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), IsType(), LookupPath(), ValC::MergeAndTypeDPS(), BindingVC::RecursiveOverlay(), and TypeOfVal().

Here is the call graph for this function:

Here is the caller graph for this function:

void ValueDpnd ( Val  v,
DPaths ps 
)

Definition at line 1592 of file Val.C.

References BindingVK, ClosureVK, ClosureVC::con, BindingVC::elems, ListVC::elems, ClosureVC::func, BindingVC::lenDps, ListVC::lenDps, ListVK, FuncEC::name, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), ValueDpnd(), and ValC::vKind.

Referenced by CollectDpnd(), MergeArgsDpnd(), NamesTagsPickle(), and ValueDpnd().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

FP::Tag bindingTag("Binding")

Referenced by BindingVC::FingerPrint().

FP::Tag booleanTag("Bool")

Referenced by BooleanVC::FingerPrint().

FP::Tag closureTag("Closure")

Referenced by ClosureVC::FingerPrintExpr().

Context conEmpty

Definition at line 79 of file Val.C.

Referenced by ApplyFunction(), BindApplicationArgs(), ModelFromCache(), NormalModelFromCache(), ProcessModelHead(), and RunToolFromCache().

Context conInitial

Definition at line 79 of file Val.C.

Referenced by Interpret(), and ValInit_inner().

FP::Tag errorTag("Error")

Referenced by ErrorVC::FingerPrint().

FP::Tag integerTag("Int")

Referenced by IntegerVC::FingerPrint().

FP::Tag listTag("List")

Referenced by ListVC::FingerPrint().

FP::Tag modelTag("Model")

Referenced by ModelVC::ModelVC().

Assoc nullAssoc = NEW_CONSTR(AssocVC, (nameDot, valUnbnd))

Definition at line 56 of file Val.C.

Referenced by AllFreeVarsBoundInContext(), BindingVC::Defined(), BindingVC::DefinedNoDpnd(), BindingEC::Eval(), FindInContext(), Lookup(), Map(), ParMap(), Prune(), BindingVC::RecursiveOverlay(), RestrictContext(), and BindingVC::SimpleOverlay().

FP::Tag primitiveTag("Prim")

Referenced by PrimitiveVC::FingerPrint().

FP::Tag textTag("Text")

Referenced by TextVC::FingerPrint(), and TextVC::TextVC().

FP::Tag unbndTag("Unbnd")

Referenced by UnbndVC::FingerPrint().

Val valErr = NEW_CONSTR(ErrorVC, (true))

Definition at line 54 of file Val.C.

Referenced by BindingVC::GetElemNoDpnd(), and ListVC::GetElemNoDpnd().

Val valFalse = NEW_CONSTR(BooleanVC, (false))

Definition at line 52 of file Val.C.

Referenced by AddToNewStuff(), CollectDefined(), BindingVC::Defined(), SelectEC::Eval(), NameEC::Eval(), Evaluator_Dir_Server_Inner(), BindingVC::GetElem(), Lookup(), LookupPath(), Primary(), BindingVC::RecursiveOverlay(), and BindingVC::SimpleOverlay().

Val valTBinding = NEW_CONSTR(TextVC, ("t_binding"))

Definition at line 59 of file Val.C.

Referenced by CollectDpnd(), RunTool(), and ValType().

Val valTBool = NEW_CONSTR(TextVC, ("t_bool"))

Definition at line 60 of file Val.C.

Referenced by ValType().

Val valTClosure = NEW_CONSTR(TextVC, ("t_closure"))

Definition at line 61 of file Val.C.

Referenced by ValType().

Val valTErr = NEW_CONSTR(TextVC, ("t_err"))

Definition at line 62 of file Val.C.

Referenced by ValType().

Val valTInt = NEW_CONSTR(TextVC, ("t_int"))

Definition at line 63 of file Val.C.

Referenced by ValType().

Val valTList = NEW_CONSTR(TextVC, ("t_list"))

Definition at line 64 of file Val.C.

Referenced by ValType().

Val valTrue = NEW_CONSTR(BooleanVC, (true))

Definition at line 51 of file Val.C.

Referenced by CollectDefined(), BindingVC::Defined(), LookupPath(), Primary(), and PrimRunToolInit_inner().

Val valTText = NEW_CONSTR(TextVC, ("t_text"))

Definition at line 65 of file Val.C.

Referenced by ValType().

Val valUnbnd = NEW(UnbndVC)

Definition at line 55 of file Val.C.

Referenced by BindRunToolArgs(), Lookup(), LookupArc(), LookupPath(), RunTool(), RunToolPK(), and RunToolPKFromRoot().

Val valZero = NEW_CONSTR(IntegerVC, (0))

Definition at line 53 of file Val.C.

Referenced by FindInner(), and Sub().


Generated on Fri May 25 00:06:47 2007 for Vesta by  doxygen 1.5.1