def getCode(self, ast, mode='single', filename='<Subol>'): #print "ast is", ast misc.set_filename(filename, ast) # worklist = [ast] # while worklist: # node = worklist.pop(0) # node.filename = filename # worklist.extend(node.getChildNodes()) # print "NODE CHILDREN ARE", node, worklist syntax.check(ast) d = {'single': pycodegen.InteractiveCodeGenerator, 'exec': pycodegen.ModuleCodeGenerator, 'eval': pycodegen.ExpressionCodeGenerator} try: gen = d[mode](ast) gen.graph.setFlag(consts.CO_GENERATOR_ALLOWED) code = gen.getCode() return code except: print "THERE WAS AN ERROR DURING COMPILATION." print "The ast with the problem was" print print ast print print "A diagnostic traceback follows." raise
def compile(self, code, filename="<string>"): tree = self.parser.parse(code) misc.set_filename(filename, tree) syntax.check(tree) gen = pycodegen.ModuleCodeGenerator(tree) code = gen.getCode() return code
def compile(self, code, filename="<string>"): tree = self.parser.parse(code) misc.set_filename(filename, tree) syntax.check(tree) gen = LucyModuleCodeGenerator(tree) code = gen.getCode() return code
def _get_tree(self): tree = self.parse() MutatingWalker.walk(tree, self.rm) if self.rm.errors: raise SyntaxError, self.rm.errors[0] misc.set_filename(self.filename, tree) syntax.check(tree) return tree
def test_parser(): from compiler import syntax parser = LucyParser() tree = parser.parse(open('testfull.ly').read()) for t in traverse(tree): print t syntax.check(tree)
def test_parser(): from compiler import syntax parser = PtpyParser() tree = parser.parse(open("sample_ptpy.py").read()) for t in traverse(tree): print t syntax.check(tree)
def compile(self, code, filename="<string>"): tree = self.parser.parse(code) #print tree misc.set_filename(filename, tree) syntax.check(tree) #gen = pycodegen.ModuleCodeGenerator(tree) #pprint.pprint(tree) #code = gen.getCode() return tree
def parse_function(src, func_name, arg_names, defaults=[]): tree = parse(src, "exec") defaults = [compiler.ast.Const(d) for d in defaults] # Insert a Stmt with function object. try: decs = compiler.ast.Decorators([]) except AttributeError: # 2.3 has no such concept (and different args!) func = compiler.ast.Function(func_name, arg_names, defaults, 0, None, tree.node) else: # 2.4 and later func = compiler.ast.Function(decs, func_name, arg_names, defaults, 0, None, tree.node) stmt = compiler.ast.Stmt((func, )) tree.node = stmt syntax.check(tree) return tree
def parse_function(src, func_name, arg_names, defaults=[]): tree = parse(src, "exec") defaults = [compiler.ast.Const(d) for d in defaults] # Insert a Stmt with function object. try: decs = compiler.ast.Decorators([]) except AttributeError: # 2.3 has no such concept (and different args!) func = compiler.ast.Function(func_name, arg_names, defaults, 0, None, tree.node) else: # 2.4 and later func = compiler.ast.Function(decs, func_name, arg_names, defaults, 0, None, tree.node) stmt = compiler.ast.Stmt((func,)) tree.node = stmt syntax.check(tree) return tree
def _get_tree(self): misc.set_filename(self.filename, self.tree) syntax.check(self.tree) return self.tree
def _get_tree(self): tree = parse(self.source, self.mode) misc.set_filename(self.filename, tree) syntax.check(tree) return tree
import imp
def _get_tree(self): from compiler import misc, syntax tree = self.__get_ast() misc.set_filename(self.filename, tree) syntax.check(tree) return tree
def _get_tree(self, transformer=None): tree = parse(self.source, self.mode, transformer=transformer) misc.set_filename(self.filename, tree) syntax.check(tree) return tree
def _get_tree(self): tree = parse(self.source, self.filename) misc.set_filename(self.filename, tree) syntax.check(tree) return tree