Teach the parsermodule about floor division.  Fixes

[ 676521 ] parser module validation failure

bugfix candidate.
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index c0b1bfc..81708b5 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -51,6 +51,10 @@
         self.check_expr("foo(a, b, c, *args, **kw)")
         self.check_expr("foo(a, b, c, **kw)")
         self.check_expr("foo + bar")
+        self.check_expr("foo - bar")
+        self.check_expr("foo * bar")
+        self.check_expr("foo / bar")
+        self.check_expr("foo // bar")
         self.check_expr("lambda: 0")
         self.check_expr("lambda x: 0")
         self.check_expr("lambda *y: 0")
@@ -85,6 +89,7 @@
         self.check_suite("a -= b")
         self.check_suite("a *= b")
         self.check_suite("a /= b")
+        self.check_suite("a //= b")
         self.check_suite("a %= b")
         self.check_suite("a &= b")
         self.check_suite("a |= b")
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index e0c7431..fd03067 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -1440,6 +1440,7 @@
                    || strcmp(s, "-=") == 0
                    || strcmp(s, "*=") == 0
                    || strcmp(s, "/=") == 0
+                   || strcmp(s, "//=") == 0
                    || strcmp(s, "%=") == 0
                    || strcmp(s, "&=") == 0
                    || strcmp(s, "|=") == 0
@@ -2095,6 +2096,7 @@
     for ( ; res && (pos < nch); pos += 2)
         res = (((TYPE(CHILD(tree, pos)) == STAR)
                || (TYPE(CHILD(tree, pos)) == SLASH)
+               || (TYPE(CHILD(tree, pos)) == DOUBLESLASH)
                || (TYPE(CHILD(tree, pos)) == PERCENT))
                && validate_factor(CHILD(tree, pos + 1)));