Exemplo n.º 1
0
                       repr(nested_name))
        code += indent('var.put(%s, PyJsLvalTempHoisted)\n' %
                       repr(nested_name))
    for nested_name, info in nested_inline.iteritems():
        nested_block, nested_args = info
        new_code = translate_func(nested_name, nested_block, nested_args)
        # Inject definitions of inline functions just before usage
        # nested inline names have this format : LVAL_NAME@REAL_NAME
        py_code = inject_before_lval(py_code,
                                     nested_name.split('@')[0], new_code)
    if py_code.strip():
        code += indent(py_code)
    return code


set_func_translator(translate_func)

# print inject_before_lval('   chuj\n   moj\n   lval\nelse\n', 'lval', 'siema\njestem piter\n')
import time

# print time.time()
# print translate_js('if (1) console.log("Hello, World!"); else if (5) console.log("Hello world?");')
# print time.time()
t = """
var x = [1,2,3,4,5,6];
for (var e in x) {console.log(e); delete x[3];}
console.log(5 in [1,2,3,4,5]);

"""

SANDBOX = '''
Exemplo n.º 2
0
        new_code = translate_func('PyJsLvalTempHoisted', nested_block, nested_args)
        # Now put definition of hoisted function on the top
        code += indent(new_code)
        code += indent('PyJsLvalTempHoisted.func_name = %s\n' %repr(nested_name))
        code += indent('var.put(%s, PyJsLvalTempHoisted)\n' % repr(nested_name))
    for nested_name, info in nested_inline.iteritems():
        nested_block, nested_args = info
        new_code = translate_func(nested_name, nested_block, nested_args)
        # Inject definitions of inline functions just before usage
        # nested inline names have this format : LVAL_NAME@REAL_NAME
        py_code = inject_before_lval(py_code, nested_name.split('@')[0], new_code)
    if py_code.strip():
        code += indent(py_code)
    return code

set_func_translator(translate_func)


#print inject_before_lval('   chuj\n   moj\n   lval\nelse\n', 'lval', 'siema\njestem piter\n')
import time
#print time.time()
#print translate_js('if (1) console.log("Hello, World!"); else if (5) console.log("Hello world?");')
#print time.time()
t = """
var x = [1,2,3,4,5,6];
for (var e in x) {console.log(e); delete x[3];}
console.log(5 in [1,2,3,4,5]);

"""

SANDBOX ='''