Example #1
0
File: loader.cpp Project: Blei/clay
ModulePtr loadProgram(llvm::StringRef fileName, vector<string> *sourceFiles, bool verbose, bool repl) {
    globalMainModule = parse("", loadFile(fileName, sourceFiles));
    ModulePtr prelude = loadPrelude(sourceFiles, verbose, repl);
    loadDependents(globalMainModule, sourceFiles, verbose);
    installGlobals(globalMainModule);
    initModule(prelude);
    initModule(globalMainModule);
    return globalMainModule;
}
Example #2
0
ModulePtr loadProgram(const string &fileName, vector<string> *sourceFiles) {
    globalMainModule = parse("", loadFile(fileName, sourceFiles));
    ModulePtr prelude = loadPrelude(sourceFiles);
    loadDependents(globalMainModule, sourceFiles);
    installGlobals(globalMainModule);
    initModule(prelude);
    initModule(globalMainModule);
    return globalMainModule;
}
Example #3
0
ModulePtr loadProgramSource(const string &name, const string &source) {
    globalMainModule = parse("", new Source(name,
        const_cast<char*>(source.c_str()),
        source.size())
    );
    // Don't keep track of source files for -e script
    ModulePtr prelude = loadPrelude(NULL);
    loadDependents(globalMainModule, NULL);
    installGlobals(globalMainModule);
    initModule(prelude);
    initModule(globalMainModule);
    return globalMainModule;
}
Example #4
0
File: loader.cpp Project: Blei/clay
ModulePtr loadProgramSource(llvm::StringRef name, llvm::StringRef source, bool verbose, bool repl) {
    SourcePtr mainSource = new Source(name,
        llvm::MemoryBuffer::getMemBufferCopy(source));
    if (llvmDIBuilder != NULL) {
        mainSource->debugInfo = (llvm::MDNode*)llvmDIBuilder->createFile(
            "-e",
            "");
    }

    globalMainModule = parse("", mainSource);
    // Don't keep track of source files for -e script
    ModulePtr prelude = loadPrelude(NULL, verbose, repl);
    loadDependents(globalMainModule, NULL, verbose);
    installGlobals(globalMainModule);
    initModule(prelude);
    initModule(globalMainModule);
    return globalMainModule;
}