lex_directory


  class lex_directory {
  char name[BUFSIZ];
  char ext[8];
  char wd[BUFSIZ];
  char xd[BUFSIZ];
  public:
  inline lex_directory(char* s, char* x = "") { 
          strcpy(name,s);
          strcpy(ext,x);
          getwd(wd);
          chdir(s);
          getwd(xd);
          cerr << "CWD: " << xd << endl;
          }
  inline ~lex_directory() { chdir(wd); }
  inline istream* stream() { lex_file f( strip(name), ext ); return f.stream(); }
  inline void process(iter<term>* l) { (*l)(); }
  };

slide: lex_directory