def test(*args, **kw): global VERBOSE VERBOSE = 999 if len(args) > 0: kw['code'] = args[0] if 'filename' in kw: filename = kw['filename'] print "parsing file : %r" % filename with file(filename) as finp: print finp.read() print "----" php_code = parser.parse_file(filename) elif 'code' in kw: code = kw['code'] print "parsing php code :\n%s" % code print "----" php_code = parser.parse_php(code) print "----" print "Parsed Code:\n", php_code compiled_code = compile_php(php_code) print def print_node(node, depth=0): print " " * depth, if isinstance(node, TreeNode): print node.name for c in node.children: print_node(c, depth + 1) else: print node print "Compiled Code:\n" print compiled_code.prepr()
def test(*args, **kw): global VERBOSE VERBOSE = 999 if len(args) > 0: kw['code'] = args[0] if 'filename' in kw: filename = kw['filename'] print "parsing file : %r"%filename with file(filename) as finp: print finp.read() print "----" php_code = parser.parse_file(filename) elif 'code' in kw: code = kw['code'] print "parsing php code :\n%s"%code print "----" php_code = parser.parse_php(code) print "----" print "Parsed Code:\n", php_code compiled_code = compile_php(php_code) print def print_node(node, depth=0): print " "*depth, if isinstance(node, TreeNode): print node.name for c in node.children: print_node(c, depth+1) else: print node print "Compiled Code:\n" print compiled_code.prepr()
def compile_php(php_tokens): if type(php_tokens) is str: php_tokens = parser.parse_php(php_tokens) if not isinstance(php_tokens, parser.TokenList): raise ArgumentError("Given argument is not php code, nor a list of tokens %r"%php_tokens) C = Compiler(php_tokens) return C.compile()
def compile_php(php_tokens): if type(php_tokens) is str: php_tokens = parser.parse_php(php_tokens) if not isinstance(php_tokens, parser.TokenList): raise ArgumentError( "Given argument is not php code, nor a list of tokens %r" % php_tokens) C = Compiler(php_tokens) return C.compile()
def execute_php(phpcode, global_dict=None, **kwargs): if type(phpcode) is str: phpcode = parser.parse_php(phpcode) if isinstance(phpcode, parser.TokenList): phpcode = compiler.compile_php(phpcode) if not isinstance(phpcode, compiler.TreeNode): raise ArgumentError("Given argument is not php code %r"%phpcode) E = PhpExecuter(phpcode, global_dict, **kwargs) E.execute() return E