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

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>

Go to the source code of this file.

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
}

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
 

Enumeration values:
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 

Definition at line 35 of file Expr.H.


Function Documentation

Vars AddVars const Vars fv1,
const Vars fv2
 

Definition at line 822 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().

Vals EvalArgs ArgList  args,
const Context c
 

Definition at line 812 of file Expr.C.

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

Referenced by Append(), Assert(), Bind1(), Defined(), Div(), Elem(), Find(), FindR(), 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().

FP::Tag FingerPrint Expr  expr  ) 
 

Definition at line 806 of file Expr.C.

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

Context ProcessModelHead ModelEC  ) 
 

Definition at line 918 of file Expr.C.

References BindEK, conEmpty, ExprC::EError(), Sequence< Elem, elem_ptrfree >::get(), NameEC::id, InternalError(), IsId(), ExprC::kind, BindEC::lhs, Basics::mutex::lock(), outputMu, PushToContext(), BindEC::rhs, Sequence< Elem, elem_ptrfree >::size(), and Basics::mutex::unlock().

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

Vars Remove const Vars body,
const Vars bound
 

Definition at line 845 of file Expr.C.

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

Vars Remove const Vars body,
const Text id
 

Definition at line 834 of file Expr.C.

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


Generated on Mon May 8 00:49:02 2006 for Vesta by  doxygen 1.4.2