Python compiler 模块,Compiler() 实例源码

我们从Python开源项目中,提取了以下16个代码示例,用于说明如何使用compiler.Compiler()

项目:JudgeServer    作者:QingdaoU    | 项目源码 | 文件源码
def compile_spj(self, spj_version, src, spj_compile_config):
        spj_compile_config["src_name"] = spj_compile_config["src_name"].format(spj_version=spj_version)
        spj_compile_config["exe_name"] = spj_compile_config["exe_name"].format(spj_version=spj_version)

        spj_src_path = os.path.join(SPJ_SRC_DIR, spj_compile_config["src_name"])

        # if spj source code not found, then write it into file
        if not os.path.exists(spj_src_path):
            with open(spj_src_path, "w") as f:
                f.write(src.encode("utf-8"))
        try:
            Compiler().compile(compile_config=spj_compile_config,
                               src_path=spj_src_path,
                               output_dir=SPJ_EXE_DIR)
        # turn common CompileError into SPJCompileError
        except CompileError as e:
            raise SPJCompileError(e.message)
        return "success"
项目:tibeacon    作者:kosso    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','com.kosso.tibeacon.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','com.kosso.tibeacon.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','ComKossoTibeaconModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:ti.timezone    作者:stephenfeather    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','ti.timezone.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','ti.timezone.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','TiTimezoneModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:PyIDE    作者:raggesilver    | 项目源码 | 文件源码
def compile(self, *args):

        if self.running:
            ##
            self.comp._quit()
        else:

            self.comp = Compiler(self, self.projectPath, self.stateEntry, self.compileBtn)
            self.comp.compile()
项目:titanium-deep-learning    作者:hansemannn    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','ti.deeplearning.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','ti.deeplearning.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','TiDeeplearningModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:titanium-sirikit    作者:hansemannn    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','ti.sirikit.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','ti.sirikit.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','TiSirikitModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:snappy-ios-module    作者:rbtree    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','rs.rbt.snappy.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','rs.rbt.snappy.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','RsRbtSnappyModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:TiQRBlobReader    作者:kosso    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','com.kosso.qrblobreader.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','com.kosso.qrblobreader.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','ComKossoQrblobreaderModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:titanium_module_gaode_map    作者:sg552    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','com.gaodemap.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','com.gaodemap.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','ComGaodemapModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:tiads    作者:pinio    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','ninja.ygor.tiads.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','ninja.ygor.tiads.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','NinjaYgorTiadsModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:iOS-settings-launcher    作者:DaKaZ    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','com.kaztopia.settingslauncher.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','com.kaztopia.settingslauncher.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','ComKaztopiaSettingslauncherModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:TiDigits    作者:minhnc    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','com.imobicloud.tidigits.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','com.imobicloud.tidigits.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','ComImobicloudTidigitsModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:kanna    作者:h4wldev    | 项目源码 | 文件源码
def render(self, name=None, variables=Map):
        return Compiler(
            name=name,
            path=self.path,
            variables=variables.load()
        ).compile()
项目:ti-onesignal-sdk    作者:MatiseAms    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','nl.matise.onesignal.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','nl.matise.onesignal.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','NlMatiseOnesignalModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:UITabGroupHeight    作者:darknos    | 项目源码 | 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','su.ipublisher.tab.group.height.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','su.ipublisher.tab.group.height.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','SuIpublisherTabGroupHeightModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
项目:JudgeServer    作者:QingdaoU    | 项目源码 | 文件源码
def judge(self, language_config, src, max_cpu_time, max_memory, test_case_id,
              spj_version=None, spj_config=None, spj_compile_config=None, spj_src=None, output=False):
        # init
        compile_config = language_config.get("compile")
        run_config = language_config["run"]
        submission_id = str(uuid.uuid4())

        if spj_version and spj_config:
            spj_exe_path = os.path.join(SPJ_EXE_DIR, spj_config["exe_name"].format(spj_version=spj_version))
            # spj src has not been compiled
            if not os.path.isfile(spj_exe_path):
                logger.warning("%s does not exists, spj src will be recompiled")
                self.compile_spj(spj_version=spj_version, src=spj_src,
                             spj_compile_config=spj_compile_config)

        with InitSubmissionEnv(JUDGER_WORKSPACE_BASE, submission_id=str(submission_id)) as submission_dir:
            if compile_config:
                src_path = os.path.join(submission_dir, compile_config["src_name"])

                # write source code into file
                with open(src_path, "w") as f:
                    f.write(src.encode("utf-8"))

                # compile source code, return exe file path
                exe_path = Compiler().compile(compile_config=compile_config,
                                              src_path=src_path,
                                              output_dir=submission_dir)
            else:
                exe_path = os.path.join(submission_dir, run_config["exe_name"])
                with open(exe_path, "w") as f:
                    f.write(src.encode("utf-8"))

            judge_client = JudgeClient(run_config=language_config["run"],
                                       exe_path=exe_path,
                                       max_cpu_time=max_cpu_time,
                                       max_memory=max_memory,
                                       test_case_id=str(test_case_id),
                                       submission_dir=submission_dir,
                                       spj_version=spj_version,
                                       spj_config=spj_config,
                                       output=output)
            run_result = judge_client.run()

            return run_result