class lex_file { ifstream* is; char name[BUFSIZ]; public: lex_file(char *s, char* ext ) : is ( find( s, ext ) ) { strcpy(name,s); } ~lex_file() { is->close(); //cerr << "Closing:" << name << endl; if (is) delete is; } istream* stream() { return is; } void process(iter<term>* l) { (*l)(); } };