Merge branch 'OOP'
[Faustine.git] / interpretor / faust-0.9.47mr3 / compiler / headers / sourcereader.hh
1 #ifndef __SOURCEREADER__
2 #define __SOURCEREADER__
3
4 #include "boxes.hh"
5 #include <string>
6 #include <set>
7 #include <vector>
8
9 using namespace std;
10
11 Tree formatDefinitions(Tree rldef);
12 Tree checkRulelist (Tree lrules);
13 void declareMetadata(Tree key, Tree value);
14 void declareDoc(Tree t);
15
16 class SourceReader
17 {
18 map<string, Tree> fFileCache;
19 vector<string> fFilePathnames;
20 Tree parse(string fname);
21 Tree expandrec(Tree ldef, set<string>& visited, Tree lresult);
22
23 public:
24 bool cached(string fname);
25 Tree getlist(string fname);
26 Tree expandlist(Tree ldef);
27 vector<string> listSrcFiles();
28 };
29
30
31 #endif