00001 #ifndef __SOURCEREADER__ 00002 #define __SOURCEREADER__ 00003 00004 #include "boxes.hh" 00005 #include <string> 00006 #include <set> 00007 00008 using namespace std; 00009 00010 Tree formatDefinitions(Tree rldef); 00011 Tree checkRulelist (Tree lrules); 00012 00013 class SourceReader 00014 { 00015 map<string, Tree> fFileCache; 00016 Tree parse(string fname); 00017 Tree expandrec(Tree ldef, set<string>& visited, Tree lresult); 00018 00019 public: 00020 bool cached(string fname); 00021 Tree getlist(string fname); 00022 Tree expandlist(Tree ldef); 00023 }; 00024 00025 00026 #endif