本文整理汇总了Python中loader.Loader.i方法的典型用法代码示例。如果您正苦于以下问题:Python Loader.i方法的具体用法?Python Loader.i怎么用?Python Loader.i使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类loader.Loader
的用法示例。
在下文中一共展示了Loader.i方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_module
# 需要导入模块: from loader import Loader [as 别名]
# 或者: from loader.Loader import i [as 别名]
def load_module(self, script):
src = open(script).read()
parser = MemeParser(src)
try:
ast,_ = parser.apply("start")
except Exception as err:
print(err.formatError(''.join(parser.input.data)))
sys.exit(1)
print "---- AST ----"
print ast
print "//---- AST ----"
self.current_module = _create_compiled_module({"filepath": script,
"ast": ast,
"parent_module":"memetalk/kernel",
"@tag":"a compiled module"})
self.env_id_table = []
self.env_idx = 0
self.functions = []
self.fun_literals = []
self.loading_class = False
loader = Loader([ast])
loader.i = self
loader.apply("load_module")
return self.current_module
示例2: load_body
# 需要导入模块: from loader import Loader [as 别名]
# 或者: from loader.Loader import i [as 别名]
def load_body(self, code, params, owner, env):
self.parser = MemeParser("{"+code+"}")
try:
ast,err = self.parser.apply("as_eval")
print "--EVAL AST"
print ast
print "//--EVAL AST"
except Exception as err:
print(err.formatError(''.join(self.parser.input.data)))
raise err
uses_env = env != {}
# given env
_env1 = dict(zip(range(0,len(env.keys())), env.keys()))
self.env_idx = len(env.keys())
# parameters env
_env2 = dict(zip(range(self.env_idx,self.env_idx+len(params)),params))
self.env_idx = self.env_idx+len(params)
self.env_id_table = [dict(_env1.items() + _env2.items())]
self.functions = []
self.functions.append(_create_compiled_function({"name":"<anonymous>",
"outter_cfun": None,
"params": params,
"body": ast,
'env_table': self.env_id_table[0],
'uses_env': uses_env,
'env_table_skel': dict(zip(range(0,self.env_idx),[None]*self.env_idx)),
'owner': owner,
"@tag":"a compiled literal function"}))
loader = Loader([ast])
loader.i = self
loader.apply("load_body")
return self.functions[0]