// File: Environment.cpp #include "Environment.h" using namespace std; Environment::Environment() { } void Environment::insert(const string& n, int v) { bindings[n]=v; } int Environment::lookup(const string& n) const throw (VarException) { StringInt::const_iterator i; if((i=bindings.find(n)) != bindings.end()) return (*i).second; else throw VarException("Variable " + n + " not in environment."); } bool Environment::isPresent(const string& n) const { return bindings.find(n) != bindings.end(); } string Environment::toString() const { char buf[20]; string s; int count=0,size=bindings.size(); for(StringInt::const_iterator i=bindings.begin(); i!=bindings.end(); i++) { s += (*i).first + "=" + _itoa((*i).second,buf,10); if(++count!=size) s += ", "; } return s; } Environment::~Environment() { }