declseq.cpp 439 B

12345678910111213141516171819
  1. #include "std.h"
  2. #include "declseq.h"
  3. #include "decl.h"
  4. void DeclSeq::push_back( Decl *d ){
  5. if( !_map.insert( make_pair(tolower(d->ident),d->val) ).second ) dupid( d->ident );
  6. _vec.push_back(d);
  7. }
  8. Val *DeclSeq::find( string id ){
  9. map<string,Val*>::const_iterator it=_map.find(tolower(id));
  10. return it==_map.end() ? 0 : it->second;
  11. }
  12. void DeclSeq::update( int i,Decl *d ){
  13. _vec[i]=d;
  14. _map.find(tolower(d->ident))->second=d->val;
  15. }