[pypy-svn] r36311 - pypy/dist/pypy/translator/goal

antocuni at codespeak.net antocuni at codespeak.net
Mon Jan 8 19:31:08 CET 2007


Author: antocuni
Date: Mon Jan  8 19:31:05 2007
New Revision: 36311

Added:
   pypy/dist/pypy/translator/goal/targetjsstandalone.py   (contents, props changed)
Log:
First attempt to write a target for a standalone javascript interpreter.



Added: pypy/dist/pypy/translator/goal/targetjsstandalone.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/goal/targetjsstandalone.py	Mon Jan  8 19:31:05 2007
@@ -0,0 +1,34 @@
+"""
+A simple standalone target for the javascript interpreter.
+"""
+
+import sys
+from pypy.rlib.streamio import open_file_as_stream
+from pypy.lang.js.interpreter import Interpreter
+from pypy.lang.js.interpreter import *
+from pypy.lang.js.jsobj import ExecutionReturned
+
+# __________  Entry point  __________
+
+interp = Interpreter()
+
+def entry_point(argv):
+    if len(argv) == 2:
+        f = open_file_as_stream(argv[1])
+        interp.load_bytecode(f.readall())
+        interp.run()
+        return 0
+    elif argv[0] == 'foo':
+        raise ExecutionReturned(None)
+    else:
+        print "Usage: %s bytecodefile" % argv[0]
+        return 1
+
+# _____ Define and setup target ___
+
+def target(driver, args):
+    driver.exe_name = 'js-%(backend)s'
+    return entry_point, None
+
+if __name__ == '__main__':
+    entry_point(sys.argv)



More information about the Pypy-commit mailing list