add support for PyPy
diff --git a/Lib/platform.py b/Lib/platform.py
index 7863821..7a6f339 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1270,6 +1270,11 @@
     '(?: \(([\d\.]+)\))?'
     ' on (.NET [\d\.]+)')
 
+_pypy_sys_version_parser = re.compile(
+    r'([\w.+]+)\s*'
+    '\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*'
+    '\[PyPy [^\]]+\]?')
+
 _sys_version_cache = {}
 
 def _sys_version(sys_version=None):
@@ -1325,6 +1330,16 @@
         version, buildno, builddate, buildtime, _ = match.groups()
         compiler = sys.platform
 
+    elif "PyPy" in sys_version:
+        # PyPy
+        name = "PyPy"
+        match = _pypy_sys_version_parser.match(sys_version)
+        if match is None:
+            raise ValueError("failed to parse PyPy sys.version: %s" %
+                             repr(sys_version))
+        version, buildno, builddate, buildtime = match.groups()
+        compiler = ""
+
     else:
         # CPython
         match = _sys_version_parser.match(sys_version)