File: sourcereader.hh

package info (click to toggle)
faust 0.9.46-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 15,256 kB
  • ctags: 9,961
  • sloc: cpp: 47,746; sh: 2,254; ansic: 1,503; makefile: 1,211; ruby: 950; yacc: 468; objc: 459; lex: 200; xml: 177
file content (31 lines) | stat: -rw-r--r-- 603 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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