[pypy-svn] r14314 - pypy/branch/dist-2.4.1/pypy/interpreter
arigo at codespeak.net
arigo at codespeak.net
Tue Jul 5 21:51:35 CEST 2005
Author: arigo
Date: Tue Jul 5 21:51:34 2005
New Revision: 14314
Modified:
pypy/branch/dist-2.4.1/pypy/interpreter/pycompiler.py
Log:
Oups, should have tested before.
Modified: pypy/branch/dist-2.4.1/pypy/interpreter/pycompiler.py
==============================================================================
--- pypy/branch/dist-2.4.1/pypy/interpreter/pycompiler.py (original)
+++ pypy/branch/dist-2.4.1/pypy/interpreter/pycompiler.py Tue Jul 5 21:51:34 2005
@@ -68,7 +68,7 @@
if not err2.match(space, space.w_SyntaxError):
raise
- if mode != 'single' and space.eq_w(err1.w_value, err2.w_value):
+ if space.eq_w(err1.w_value, err2.w_value):
raise # twice the same error, re-raise
return None # two different errors, expect more
@@ -179,21 +179,20 @@
"""
def compile(self, source, filename, mode, flags):
from pyparser.error import ParseError
- from pyparser.pythonutil import ast_from_input
+ from pyparser.pythonutil import pypy_parse
flags |= __future__.generators.compiler_flag # always on (2.2 compat)
# XXX use 'flags'
space = self.space
- transformer = Transformer()
try:
- tree = ast_from_input(source, mode, transformer)
+ tuples = pypy_parse(source, mode, True)
except ParseError, e:
raise OperationError(space.w_SyntaxError,
e.wrap_info(space, filename))
- c = self.compile_tree(tree, filename, mode)
+ c = self.compile_tuples(tuples, filename, mode)
from pypy.interpreter.pycode import PyCode
return space.wrap(PyCode(space)._from_code(c))
- def compile_tree(self, tree, filename, mode):
+ def compile_tuples(self, tuples, filename, mode):
# __________
# XXX this uses the non-annotatable stablecompiler at interp-level
from pypy.interpreter import stablecompiler
@@ -202,6 +201,8 @@
from pypy.interpreter.stablecompiler.pycodegen import ExpressionCodeGenerator
from pypy.interpreter.stablecompiler.transformer import Transformer
try:
+ transformer = Transformer()
+ tree = transformer.compile_node(tuples)
stablecompiler.misc.set_filename(filename, tree)
if mode == 'exec':
codegenerator = ModuleCodeGenerator(tree)
@@ -223,7 +224,7 @@
raise OperationError(space.w_TypeError,space.wrap(str(e)))
# __________ end of XXX above
return c
- compile_tree._annspecialcase_ = 'override:cpy_stablecompiler'
+ compile_tuples._annspecialcase_ = 'override:cpy_stablecompiler'
class PyPyCompiler(CPythonCompiler):
More information about the Pypy-commit
mailing list