[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