Mostly implemented Simultaneous Declaration, only template instantation during pass 2 remains to be implemented
This commit is contained in:
@@ -14,13 +14,26 @@
|
||||
#include "CollapseTransformation.h"
|
||||
#include "ASTTransformation.h"
|
||||
|
||||
class ASTTransformation;
|
||||
|
||||
class Importer {
|
||||
public:
|
||||
Importer(Parser* parserIn, std::vector<std::string> includePaths);
|
||||
~Importer();
|
||||
NodeTree<ASTData>* import(std::string fileName);
|
||||
void import(std::string fileName);
|
||||
NodeTree<ASTData>* getUnit(std::string fileName);
|
||||
NodeTree<ASTData>* importFirstPass(std::string fileName);
|
||||
NodeTree<Symbol>* parseAndTrim(std::string fileName);
|
||||
void registerAST(std::string name, NodeTree<ASTData>* ast, NodeTree<Symbol>* syntaxTree);
|
||||
std::map<std::string, NodeTree<ASTData>*> getASTMap();
|
||||
private:
|
||||
ASTTransformation *ASTTransformer;
|
||||
struct importTriplet {
|
||||
std::string name;
|
||||
NodeTree<ASTData>* ast;
|
||||
NodeTree<Symbol>* syntaxTree;
|
||||
};
|
||||
std::vector<importTriplet> importedTrips;
|
||||
std::vector<std::string> includePaths;
|
||||
Parser* parser;
|
||||
std::vector<Symbol> removeSymbols;
|
||||
|
||||
Reference in New Issue
Block a user