[pypy-svn] r34018 - pypy/dist/pypy/lang/js

stephan at codespeak.net stephan at codespeak.net
Wed Nov 1 14:20:20 CET 2006


Author: stephan
Date: Wed Nov  1 14:20:17 2006
New Revision: 34018

Modified:
   pypy/dist/pypy/lang/js/parser.py
Log:
(stephan, santagada) fixed compatability for Windows and some cleanups

Modified: pypy/dist/pypy/lang/js/parser.py
==============================================================================
--- pypy/dist/pypy/lang/js/parser.py	(original)
+++ pypy/dist/pypy/lang/js/parser.py	Wed Nov  1 14:20:17 2006
@@ -4,6 +4,7 @@
 
 # 1st attempt - exec the code
 
+import os
 import py
 import re
 from subprocess import Popen, PIPE, STDOUT
@@ -27,26 +28,12 @@
 
 def parse(code_string):
     read_code = read_js_output(code_string)
-    #print read_code
-    #for line in read_code.split("\n"):
-        #m = re.search('^(\s*)(\w+): +(.*?)(,)?$', line)
-        #if m and (m.group(3) != '{' or m.group(4)):
-        #    output.append("%s'%s': '%s'," % (m.group(1), m.group(2), m.group(3)))
-        #else:
-        #    m = re.search('^(\s*)(\w+):(.*)$', line)
-        #    if m:
-        #        output.append("%s'%s': %s" % (m.group(1), m.group(2), m.group(3)))
-        #    else:
-        #        output.append(line)
-
-    #print "\n".join(output)
-    output = read_code.split("\n")
-    d = {}
+    output = read_code.split(os.linesep)
     try:
-        exec "code =" + "\n".join(output) in d
+        code = eval("\n".join(output))
     except (SyntaxError, NameError):
         for num, line in enumerate(output):
             print "%d: %s" % (num + 1, line)
         open("/tmp/out", "w").write("\n".join(output))
         raise
-    return d['code']
+    return code



More information about the Pypy-commit mailing list