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