diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py
index 1c83f50..6683c22 100755
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -374,7 +374,7 @@
         # there's really nothing more we can do if this fails ...
         self.emit("if (tmp == NULL) goto failed;", 1)
         error = "expected some sort of %s, but got %%.400s" % name
-        format = "PyErr_Format(PyExc_TypeError, \"%s\", PyString_AS_STRING(tmp));"
+        format = "PyErr_Format(PyExc_TypeError, \"%s\", PyBytes_AS_STRING(tmp));"
         self.emit(format % error, 1, reflow=False)
         self.emit("failed:", 0)
         self.emit("Py_XDECREF(tmp);", 1)
@@ -792,7 +792,7 @@
         PyObject *s = PyObject_Repr(obj);
         if (s == NULL) return 1;
         PyErr_Format(PyExc_ValueError, "invalid integer value: %.400s",
-                     PyString_AS_STRING(s));
+                     PyBytes_AS_STRING(s));
         Py_DECREF(s);
         return 1;
     }
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 550d224..18fb122 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -644,7 +644,7 @@
 		utf8 = translate_into_utf8(str, tok->enc);
 		if (utf8 == NULL)
 			return error_ret(tok);
-		str = PyString_AsString(utf8);
+		str = PyBytes_AsString(utf8);
 	}
 	for (s = str;; s++) {
 		if (*s == '\0') break;
@@ -675,7 +675,7 @@
 				"unknown encoding: %s", tok->enc);
 			return error_ret(tok);
 		}
-		str = PyString_AS_STRING(utf8);
+		str = PyBytes_AS_STRING(utf8);
 	}
 	assert(tok->decoding_buffer == NULL);
 	tok->decoding_buffer = utf8; /* CAUTION */
@@ -794,8 +794,8 @@
 					tok->done = E_DECODE;
 					return EOF;
 				}
-				buflen = PyString_GET_SIZE(u);
-				buf = PyString_AS_STRING(u);
+				buflen = PyBytes_GET_SIZE(u);
+				buf = PyBytes_AS_STRING(u);
 				if (!buf) {
 					Py_DECREF(u);
 					tok->done = E_DECODE;
