本文整理汇总了Python中pypy.tool.option.make_objspace函数的典型用法代码示例。如果您正苦于以下问题:Python make_objspace函数的具体用法?Python make_objspace怎么用?Python make_objspace使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了make_objspace函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: main
def main(argv):
config = get_combined_translation_config(pypy_optiondescription,
overrides=OVERRIDES, translating=True)
config.objspace.nofaking = True
config.objspace.compiler = "ast"
config.translating = True
set_opt_level(config, '1')
set_pypy_opt_level(config, '1')
enable_allworkingmodules(config)
space = make_objspace(config)
ctx = JavaScriptContext(space)
policy = PyPyAnnotatorPolicy(single_space = space)
policy.allow_someobjects = False
def interpret(source, context):
source = charp2str(source)
w_dict = space.newdict()
ctx._ctx = context
glob = ctx.globals()
lst = ctx.propertylist(glob.js_val)
for elem in lst:
w_val = space.wrap(JSObject(ctx, ctx.get(glob.js_val, elem)))
space.setitem(w_dict, space.wrap(elem), w_val)
try:
ec = space.getexecutioncontext()
pycode = ec.compiler.compile(source, 'source', 'exec', 0)
pycode.exec_code(space, w_dict, w_dict)
except OperationError, e:
print "OperationError:"
print " operror-type: " + e.w_type.getname(space, '?')
print " operror-value: " + space.str_w(space.str(e.w_value))
return 1
return 0
开发者ID:enyst,项目名称:plexnet,代码行数:34,代码来源:sharedpypy.py
示例2: main
def main(argv):
config = get_combined_translation_config(pypy_optiondescription,
overrides=OVERRIDES, translating=True)
config.objspace.nofaking = True
config.objspace.compiler = "ast"
config.translating = True
set_opt_level(config, '1')
set_pypy_opt_level(config, '1')
enable_allworkingmodules(config)
space = make_objspace(config)
policy = PyPyAnnotatorPolicy(single_space = space)
policy.allow_someobjects = False
def interpret(source, context):
source = charp2str(source)
w_dict = space.newdict()
try:
ec = space.getexecutioncontext()
pycode = ec.compiler.compile(source, 'source', 'exec', 0)
pycode.exec_code(space, w_dict, w_dict)
except OperationError, e:
print "OperationError:"
print " operror-type: " + e.w_type.getname(space)
print " operror-value: " + space.str_w(space.str(e.get_w_value(space)))
return 1
return 0
开发者ID:Debug-Orz,项目名称:Sypy,代码行数:27,代码来源:sharedpypy.py
示例3: get_entry_point
def get_entry_point(self, config):
space = make_objspace(config)
# manually imports app_main.py
filename = os.path.join(this_dir, 'app_main.py')
w_dict = space.newdict()
space.exec_(open(filename).read(), w_dict, w_dict)
entry_point = create_entry_point(space, w_dict)
return entry_point, None, PyPyAnnotatorPolicy(single_space = space)
开发者ID:enyst,项目名称:plexnet,代码行数:10,代码来源:targetpypystandalone.py
示例4: test_dont_reload_builtin_mods_on_startup
def test_dont_reload_builtin_mods_on_startup(self):
from pypy.tool.option import make_config, make_objspace
config = make_config(None)
space = make_objspace(config)
w_executable = space.wrap('executable')
assert space.str_w(space.getattr(space.sys, w_executable)) == 'py.py'
space.setattr(space.sys, w_executable, space.wrap('foobar'))
assert space.str_w(space.getattr(space.sys, w_executable)) == 'foobar'
space.startup()
assert space.str_w(space.getattr(space.sys, w_executable)) == 'foobar'
开发者ID:Sherlockhlt,项目名称:pypy,代码行数:10,代码来源:test_objspace.py
示例5: test_dont_reload_builtin_mods_on_startup
def test_dont_reload_builtin_mods_on_startup(self):
from pypy.tool.option import make_config, make_objspace
config = make_config(None)
space = make_objspace(config)
w_executable = space.wrap("executable")
assert space.findattr(space.sys, w_executable) is None
space.setattr(space.sys, w_executable, space.wrap("foobar"))
assert space.str_w(space.getattr(space.sys, w_executable)) == "foobar"
space.startup()
assert space.str_w(space.getattr(space.sys, w_executable)) == "foobar"
开发者ID:mozillazg,项目名称:pypy,代码行数:11,代码来源:test_objspace.py
示例6: get_entry_point
def get_entry_point(self, config):
space = make_objspace(config)
# manually imports app_main.py
filename = os.path.join(pypydir, 'interpreter', 'app_main.py')
app = gateway.applevel(open(filename).read(), 'app_main.py', 'app_main')
app.hidden_applevel = False
w_dict = app.getwdict(space)
entry_point, _ = create_entry_point(space, w_dict)
return entry_point, None, PyPyAnnotatorPolicy()
开发者ID:mozillazg,项目名称:pypy,代码行数:11,代码来源:targetpypystandalone.py
示例7: maketestobjspace
def maketestobjspace(config=None):
if config is None:
config = make_config(option)
try:
space = make_objspace(config)
except OperationError, e:
check_keyboard_interrupt(e)
if option.verbose:
import traceback
traceback.print_exc()
py.test.fail("fatal: cannot initialize objspace: %r" %
(config.objspace.name,))
开发者ID:Debug-Orz,项目名称:Sypy,代码行数:12,代码来源:conftest.py
示例8: maketestobjspace
def maketestobjspace(config=None):
if config is None:
config = make_config(option)
space = make_objspace(config)
space.startup() # Initialize all builtin modules
space.setitem(space.builtin.w_dict, space.wrap('AssertionError'),
appsupport.build_pytest_assertion(space))
space.setitem(space.builtin.w_dict, space.wrap('raises'),
space.wrap(appsupport.app_raises))
space.setitem(space.builtin.w_dict, space.wrap('skip'),
space.wrap(appsupport.app_skip))
space.raises_w = appsupport.raises_w.__get__(space)
return space
开发者ID:Darriall,项目名称:pypy,代码行数:13,代码来源:objspace.py
示例9: get_entry_point
def get_entry_point(self, config):
space = make_objspace(config)
# manually imports app_main.py
filename = os.path.join(this_dir, 'app_main.py')
w_dict = space.newdict()
space.exec_(open(filename).read(), w_dict, w_dict)
for modulename in EXTRA_MODULES:
print 'pre-importing', modulename
space.exec_("import " + modulename, w_dict, w_dict)
print 'phew, ready'
entry_point = create_entry_point(space, w_dict)
return entry_point, None, PyPyAnnotatorPolicy(single_space = space)
开发者ID:AishwaryaKM,项目名称:python-tutorial,代码行数:14,代码来源:targetpreimportedpypy.py
示例10: get_entry_point
def get_entry_point(self, config):
from pypy.tool.lib_pypy import import_from_lib_pypy
rebuild = import_from_lib_pypy('ctypes_config_cache/rebuild')
rebuild.try_rebuild()
space = make_objspace(config)
# manually imports app_main.py
filename = os.path.join(pypydir, 'interpreter', 'app_main.py')
app = gateway.applevel(open(filename).read(), 'app_main.py', 'app_main')
app.hidden_applevel = False
w_dict = app.getwdict(space)
entry_point, _ = create_entry_point(space, w_dict)
return entry_point, None, PyPyAnnotatorPolicy()
开发者ID:timfel,项目名称:thesis-data,代码行数:15,代码来源:targetpypystandalone.py
示例11: test_flush_at_exit
def test_flush_at_exit():
from pypy import conftest
from pypy.tool.option import make_config, make_objspace
from rpython.tool.udir import udir
tmpfile = udir.join('test_flush_at_exit')
config = make_config(conftest.option)
space = make_objspace(config)
space.appexec([space.wrap(str(tmpfile))], """(tmpfile):
f = open(tmpfile, 'w')
f.write('42')
# no flush() and no close()
import sys; sys._keepalivesomewhereobscure = f
""")
space.finish()
assert tmpfile.read() == '42'
开发者ID:kipras,项目名称:pypy,代码行数:16,代码来源:test_file.py
示例12: test_flush_at_exit_IOError_and_ValueError
def test_flush_at_exit_IOError_and_ValueError():
from pypy import conftest
from pypy.tool.option import make_config, make_objspace
config = make_config(conftest.option)
space = make_objspace(config)
space.appexec([], """():
import io
class MyStream(io.IOBase):
def flush(self):
raise IOError
class MyStream2(io.IOBase):
def flush(self):
raise ValueError
s = MyStream()
s2 = MyStream2()
import sys; sys._keepalivesomewhereobscure = s
""")
space.finish() # the IOError has been ignored
开发者ID:Debug-Orz,项目名称:Sypy,代码行数:21,代码来源:test_fileio.py
示例13: test_startup
def test_startup(self):
config = make_config(None, usemodules=('_demo',))
space = make_objspace(config)
w_modules = space.sys.get('modules')
assert _demo.Module.demo_events == ['setup']
assert not space.contains_w(w_modules, space.wrap('_demo'))
# first import
w_import = space.builtin.get('__import__')
w_demo = space.call(w_import,
space.newlist([space.wrap('_demo')]))
assert _demo.Module.demo_events == ['setup', 'startup']
# reload the module, this should not call startup again
space.delitem(w_modules,
space.wrap('_demo'))
w_demo = space.call(w_import,
space.newlist([space.wrap('_demo')]))
assert _demo.Module.demo_events == ['setup', 'startup']
assert space.getattr(w_demo, space.wrap('measuretime'))
开发者ID:abhinavthomas,项目名称:pypy,代码行数:22,代码来源:test_import.py
示例14: main_
def main_(argv=None):
starttime = time.time()
config, parser = option.get_standard_options()
interactiveconfig = Config(cmdline_optiondescr)
to_optparse(interactiveconfig, parser=parser)
parser.add_option(
'--cc', type=str, action="callback",
callback=set_compiler,
help="Compiler to use for compiling generated C")
args = option.process_options(parser, argv[1:])
if interactiveconfig.verbose:
error.RECORD_INTERPLEVEL_TRACEBACK = True
# --allworkingmodules takes really long to start up, but can be forced on
config.objspace.suggest(allworkingmodules=False)
if config.objspace.allworkingmodules:
pypyoption.enable_allworkingmodules(config)
# create the object space
space = option.make_objspace(config)
space._starttime = starttime
space.setitem(space.sys.w_dict, space.wrap('executable'),
space.wrap(argv[0]))
# set warning control options (if any)
warn_arg = interactiveconfig.warn
if warn_arg is not None:
space.appexec([space.wrap(warn_arg)], """(arg):
import sys
sys.warnoptions.append(arg)""")
w_path = space.sys.get('path')
path = os.getenv('PYTHONPATH')
if path:
path = path.split(os.pathsep)
else:
path = []
path.insert(0, '')
for i, dir in enumerate(path):
space.call_method(w_path, 'insert', space.wrap(i), space.wrap(dir))
# store the command-line arguments into sys.argv
go_interactive = interactiveconfig.interactive
banner = ''
exit_status = 0
if interactiveconfig.runcommand is not None:
args = ['-c'] + args
for arg in args:
space.call_method(space.sys.get('argv'), 'append', space.wrap(arg))
# load the source of the program given as command-line argument
if interactiveconfig.runcommand is not None:
def doit():
main.run_string(interactiveconfig.runcommand, space=space)
elif interactiveconfig.runmodule:
def doit():
main.run_module(interactiveconfig.runmodule,
args, space=space)
elif args:
scriptdir = os.path.dirname(os.path.abspath(args[0]))
space.call_method(space.sys.get('path'), 'insert',
space.wrap(0), space.wrap(scriptdir))
def doit():
main.run_file(args[0], space=space)
else:
def doit():
pass
space.call_method(space.sys.get('argv'), 'append', space.wrap(''))
go_interactive = 1
banner = None
try:
def do_start():
space.startup()
pypy_init(space, space.wrap(not interactiveconfig.no_site_import))
if main.run_toplevel(space, do_start,
verbose=interactiveconfig.verbose):
# compile and run it
if not main.run_toplevel(space, doit,
verbose=interactiveconfig.verbose):
exit_status = 1
# start the interactive console
if go_interactive or os.getenv('PYTHONINSPECT'):
try:
import readline
except:
pass
con = interactive.PyPyConsole(
space, verbose=interactiveconfig.verbose,
completer=interactiveconfig.completer)
if banner == '':
banner = '%s / %s'%(con.__class__.__name__,
repr(space))
con.interact(banner)
exit_status = 0
finally:
def doit():
space.finish()
#.........这里部分代码省略.........
开发者ID:AishwaryaKM,项目名称:python-tutorial,代码行数:101,代码来源:py.py
示例15: main_
def main_(argv=None):
starttime = time.time()
config, parser = option.get_standard_options()
interactiveconfig = Config(cmdline_optiondescr)
to_optparse(interactiveconfig, parser=parser)
def set_family_of_options(option, opt, value, parser):
from pypy.config.pypyoption import set_pypy_opt_level
set_pypy_opt_level(config, value)
parser.add_option(
'--cc', type=str, action="callback",
callback=set_compiler,
help="Compiler to use for compiling generated C")
parser.add_option(
'--opt', type=str, action="callback",
callback=set_family_of_options,
help="Set the family of options based on -opt=0,1,2,jit...")
args = option.process_options(parser, argv[1:])
if interactiveconfig.verbose:
error.RECORD_INTERPLEVEL_TRACEBACK = True
# --allworkingmodules takes really long to start up, but can be forced on
config.objspace.suggest(allworkingmodules=False)
if config.objspace.allworkingmodules:
pypyoption.enable_allworkingmodules(config)
if config.objspace.usemodules._continuation:
config.translation.continuation = True
if config.objspace.usemodules.thread:
config.translation.thread = True
# create the object space
space = option.make_objspace(config)
space._starttime = starttime
space.setitem(space.sys.w_dict, space.wrap('executable'),
space.wrap(argv[0]))
if interactiveconfig.optimize:
#change the optimize flag's value and set __debug__ to False
space.appexec([], """():
import sys
flags = list(sys.flags)
flags[6] = 2
sys.flags = type(sys.flags)(flags)
import __pypy__
__pypy__.set_debug(False)
""")
# call pypy_find_stdlib: the side-effect is that it sets sys.prefix and
# sys.exec_prefix
executable = argv[0]
space.appexec([space.wrap(executable)], """(executable):
import sys
sys.pypy_find_stdlib(executable)
""")
# set warning control options (if any)
warn_arg = interactiveconfig.warn
if warn_arg is not None:
space.appexec([space.wrap(warn_arg)], """(arg):
import sys
sys.warnoptions.append(arg)""")
w_path = space.sys.get('path')
path = os.getenv('PYTHONPATH')
if path:
path = path.split(os.pathsep)
else:
path = []
path.insert(0, '')
for i, dir in enumerate(path):
space.call_method(w_path, 'insert', space.wrap(i), space.wrap(dir))
# store the command-line arguments into sys.argv
go_interactive = interactiveconfig.interactive
banner = ''
exit_status = 0
command = None
if interactiveconfig.runcommand:
command = args[0]
args[0] = '-c'
if interactiveconfig.runmodule:
command = args.pop(0)
for arg in args:
space.call_method(space.sys.get('argv'), 'append',
space.wrap_fsdecoded(arg))
# load the source of the program given as command-line argument
if interactiveconfig.runcommand:
def doit():
main.run_string(command, space=space)
elif interactiveconfig.runmodule:
def doit():
main.run_module(command, args, space=space)
elif args:
scriptdir = os.path.dirname(os.path.abspath(args[0]))
space.call_method(space.sys.get('path'), 'insert',
space.wrap(0), space.wrap(scriptdir))
def doit():
main.run_file(args[0], space=space)
else:
#.........这里部分代码省略.........
开发者ID:Qointum,项目名称:pypy,代码行数:101,代码来源:pyinteractive.py
示例16: main_
def main_(argv=None):
starttime = time.time()
config, parser = option.get_standard_options()
interactiveconfig = Config(cmdline_optiondescr)
to_optparse(interactiveconfig, parser=parser)
args = option.process_options(parser, argv[1:])
if interactiveconfig.verbose:
error.RECORD_INTERPLEVEL_TRACEBACK = True
# create the object space
space = option.make_objspace(config)
space._starttime = starttime
#assert 'pypy.tool.udir' not in sys.modules, (
# "running py.py should not import pypy.tool.udir, which is\n"
# "only for testing or translating purposes.")
# ^^^ _socket and other rctypes-based modules need udir
space.setitem(space.sys.w_dict,space.wrap('executable'),space.wrap(argv[0]))
# store the command-line arguments into sys.argv
go_interactive = interactiveconfig.interactive
banner = ''
exit_status = 0
if interactiveconfig.runcommand is not None:
args = ['-c'] + args
for arg in args:
space.call_method(space.sys.get('argv'), 'append', space.wrap(arg))
# load the source of the program given as command-line argument
if interactiveconfig.runcommand is not None:
def doit():
main.run_string(interactiveconfig.runcommand, space=space)
elif interactiveconfig.runmodule:
def doit():
main.run_module(interactiveconfig.runmodule,
args, space=space)
elif args:
scriptdir = os.path.dirname(os.path.abspath(args[0]))
space.call_method(space.sys.get('path'), 'insert',
space.wrap(0), space.wrap(scriptdir))
def doit():
main.run_file(args[0], space=space)
else:
def doit():
pass
space.call_method(space.sys.get('argv'), 'append', space.wrap(''))
go_interactive = 1
banner = None
try:
def do_start():
space.startup()
pypy_init(space, space.wrap(not interactiveconfig.no_site_import))
if main.run_toplevel(space, do_start,
verbose=interactiveconfig.verbose):
# compile and run it
if not main.run_toplevel(space, doit,
verbose=interactiveconfig.verbose):
exit_status = 1
# start the interactive console
if go_interactive or getenv_w(space, 'PYTHONINSPECT'):
con = interactive.PyPyConsole(
space, verbose=interactiveconfig.verbose,
completer=interactiveconfig.completer)
if banner == '':
banner = '%s / %s'%(con.__class__.__name__,
repr(space))
con.interact(banner)
exit_status = 0
finally:
def doit():
space.finish()
main.run_toplevel(space, doit, verbose=interactiveconfig.verbose)
return exit_status
开发者ID:TheDunn,项目名称:flex-pypy,代码行数:77,代码来源:py.py
示例17: isinstance
answer = ["(Delete"]
answer.append(sexpy(node.targets))
answer.append(")")
return ' '.join(answer)
if isinstance(node, list):
answer = ["("]
for item in node:
answer.append(sexpy(item))
answer.append(")")
return ' '.join(answer)
if node == None:
return "empty"
return "'(" + node.__repr__() + ")"
targ_src = file("targ.py").read()
config, parser = option.get_standard_options()
spc = option.make_objspace(config)
p = pyparse.PythonParser(spc)
info = pyparse.CompileInfo("<test>", "exec")
tree = p.parse_source(targ_src, info)
ast_node = ast_from_node(spc, tree, info) # this is going to be an ast.Module object
print sexpy(ast_node)
开发者ID:nhari,项目名称:tpython,代码行数:30,代码来源:py2sexp.py
注:本文中的pypy.tool.option.make_objspace函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论