/vesta/vestasys.org/vesta/eval/98/src/Expr.H File Reference

#include "ValExpr.H"
#include "Location.H"
#include "Val.H"
#include "Prim.H"
#include "Err.H"
#include <FP.H>
#include <iostream>
#include <fstream>

Include dependency graph for Expr.H:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Enumerations

enum  ExprKind {
  ConstantEK, IfEK, ComputedEK, ArgListEK,
  ExprListEK, StmtListEK, ApplyEK, ApplyOpEK,
  ApplyUnOpEK, AssignEK, BindEK, BindingEK,
  BlockEK, FileEK, FuncEK, IterateEK,
  ListEK, ModelEK, NameEK, PairEK,
  PrimitiveEK, SelectEK, TypedEK, BaseTEK,
  ListTEK, BindingTEK, FuncTEK, ErrorEK,
  TryEK, ConstantEK, IfEK, ComputedEK,
  ArgListEK, ExprListEK, StmtListEK, ApplyEK,
  ApplyOpEK, ApplyUnOpEK, AssignEK, BindEK,
  BindingEK, BlockEK, FileEK, FuncEK,
  IterateEK, ListEK, ModelEK, NameEK,
  PairEK, PrimitiveEK, SelectEK, TypedEK,
  BaseTEK, ListTEK, BindingTEK, FuncTEK,
  ErrorEK
}

Functions

FP::Tag FingerPrint (Expr expr)
Vars AddVars (const Vars &fv1, const Vars &fv2)
Vars Remove (const Vars &body, const Text &id)
Vars Remove (const Vars &body, const Vars &bound)
Vals EvalArgs (ArgList args, const Context &c)
Context ProcessModelHead (ModelEC *)


Enumeration Type Documentation

enum ExprKind

Enumerator:
ConstantEK 
IfEK 
ComputedEK 
ArgListEK 
ExprListEK 
StmtListEK 
ApplyEK 
ApplyOpEK 
ApplyUnOpEK 
AssignEK 
BindEK 
BindingEK 
BlockEK 
FileEK 
FuncEK 
IterateEK 
ListEK 
ModelEK 
NameEK 
PairEK 
PrimitiveEK 
SelectEK 
TypedEK 
BaseTEK 
ListTEK 
BindingTEK 
FuncTEK 
ErrorEK 
TryEK 
ConstantEK 
IfEK 
ComputedEK 
ArgListEK 
ExprListEK 
StmtListEK 
ApplyEK 
ApplyOpEK 
ApplyUnOpEK 
AssignEK 
BindEK 
BindingEK 
BlockEK 
FileEK 
FuncEK 
IterateEK 
ListEK 
ModelEK 
NameEK 
PairEK 
PrimitiveEK 
SelectEK 
TypedEK 
BaseTEK 
ListTEK 
BindingTEK 
FuncTEK 
ErrorEK 

Definition at line 35 of file Expr.H.


Function Documentation

Vars AddVars ( const Vars fv1,
const Vars fv2 
)

Definition at line 846 of file Expr.C.

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

Referenced by ExprListEC::AddExpr(), ArgListEC::AddExpr(), StmtListEC::AddExpr(), ListEC::AddExpr(), BindingEC::AddExpr(), ApplyEC::ApplyEC(), ApplyOpEC::ApplyOpEC(), BindEC::BindEC(), BlockEC::BlockEC(), FuncEC::FuncEC(), IfEC::IfEC(), IterateEC::IterateEC(), PairEC::PairEC(), and SelectEC::SelectEC().

Here is the call graph for this function:

Here is the caller graph for this function:

Vals EvalArgs ( ArgList  args,
const Context c 
)

Definition at line 836 of file Expr.C.

References ListT< Value >::Append1D(), ArgListEC::elems, Sequence< Elem, elem_ptrfree >::get(), and Sequence< Elem, elem_ptrfree >::size().

Referenced by Append(), Assert(), Bind1(), Defined(), Div(), Elem(), FindInner(), GetFP(), GetName(), GetValue(), Head(), IsBinding(), IsBool(), IsClosure(), IsErr(), IsInt(), IsList(), IsText(), Length(), List1(), Lookup(), Map(), Max(), Min(), Mod(), ModelName(), ParMap(), Print(), SameType(), Sub(), Tail(), and TypeOf().

Here is the call graph for this function:

Here is the caller graph for this function:

FP::Tag FingerPrint ( Expr  expr  ) 

Definition at line 830 of file Expr.C.

References ExprC::PrintD(), and FP::FPStream::tag().

Here is the call graph for this function:

Context ProcessModelHead ( ModelEC  ) 

Definition at line 942 of file Expr.C.

References BindEK, OS::cio(), conEmpty, ExprC::EError(), ExprListEC::elems, OS::ThreadIO::end_err(), ModelEC::files, Sequence< Elem, elem_ptrfree >::get(), NameEC::id, ModelEC::imports, InternalError(), IsId(), ExprC::kind, BindEC::lhs, PushToContext(), BindEC::rhs, and Sequence< Elem, elem_ptrfree >::size().

Referenced by ModelEC::Eval(), ModelVC::Force(), and Interpret().

Here is the call graph for this function:

Here is the caller graph for this function:

Vars Remove ( const Vars body,
const Vars bound 
)

Definition at line 869 of file Expr.C.

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

Here is the call graph for this function:

Vars Remove ( const Vars body,
const Text id 
)

Definition at line 858 of file Expr.C.

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

Here is the call graph for this function:


Generated on Thu May 24 23:49:48 2007 for Vesta by  doxygen 1.5.1