コード例 #1
0
 def compile(self, body):
     program = reformat_expr(body)
     ast = self.parse(program)
     imp = Importer(self.space)
     w_mod = compile_module(self.space, '<test>', 'self.test', program, ast,
                            imp)
     return compile_bytecode(ast.elements[0], program, w_mod)
コード例 #2
0
ファイル: support.py プロジェクト: fijal/quill
 def compile(self, body):
     program = reformat_expr(body)
     ast = self.parse(program)
     imp = Importer(self.space)
     w_mod = compile_module(self.space, '<test>', 'self.test', program, ast,
                            imp)
     return compile_bytecode(ast.elements[0], program, w_mod)
コード例 #3
0
ファイル: compiler.py プロジェクト: imraghava/nolang
def compile_module(source, ast):
    name_mapping = {}
    for item in ast.get_element_list():
        if item.name in name_mapping:
            raise NameAlreadyDefined(item.name)
        name_mapping[item.name] = len(name_mapping)

    functions = []
    w_mod = W_Module(name_mapping, functions)
    for item in ast.get_element_list():
        functions.append(
            W_Function(item.name, compile_bytecode(item, source, w_mod)))
    return w_mod
コード例 #4
0
ファイル: astnodes.py プロジェクト: johnlunney/quill
 def add_global_symbols(self, space, globals_w, source, w_mod):
     w_g = W_Function(
         self.name,
         compile_bytecode(self, source, w_mod, self.arglist, self.lineno))
     globals_w.append(w_g)
コード例 #5
0
 def compile(self, body):
     program = reformat_expr(body)
     ast = self.parse(program)
     return compile_bytecode(ast.elements[0], program, None)
コード例 #6
0
ファイル: astnodes.py プロジェクト: fijal/quill
 def add_global_symbols(self, space, globals_w, source, w_mod):
     w_g = W_Function(self.name, compile_bytecode(self, source,
                      w_mod, self.arglist, self.lineno))
     globals_w.append(w_g)