Rename interpretor to interpreter.
[Faustine.git] / interpreter / preprocessor / faust-0.9.47mr3 / compiler / parser / sourcereader.hh
diff --git a/interpreter/preprocessor/faust-0.9.47mr3/compiler/parser/sourcereader.hh b/interpreter/preprocessor/faust-0.9.47mr3/compiler/parser/sourcereader.hh
new file mode 100644 (file)
index 0000000..aecfba6
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef __SOURCEREADER__
+#define __SOURCEREADER__
+
+#include "boxes.hh"
+#include <string>
+#include <set>
+#include <vector>
+
+using namespace std;
+
+Tree formatDefinitions(Tree rldef);
+Tree checkRulelist (Tree lrules);
+void declareMetadata(Tree key, Tree value);
+void declareDoc(Tree t);
+
+class SourceReader 
+{
+       map<string, Tree>       fFileCache;
+       vector<string>          fFilePathnames;
+       Tree parse(string fname);
+       Tree expandrec(Tree ldef, set<string>& visited, Tree lresult);
+       
+public:
+       bool cached(string fname);
+       Tree getlist(string fname);
+       Tree expandlist(Tree ldef);
+       vector<string>  listSrcFiles();
+};
+
+
+#endif