diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2021-09-19 23:07:16 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-19 23:07:16 (GMT) |
commit | f17c979d909f05916e354ae54c82bff71dbede35 (patch) | |
tree | 356984eddcbe4a06acddba18f111d4f6d3b5e4b8 /Doc/library/ast.rst | |
parent | bedce3538cca3469ac3efc614ef062367cbb2ff1 (diff) | |
download | cpython-f17c979d909f05916e354ae54c82bff71dbede35.zip cpython-f17c979d909f05916e354ae54c82bff71dbede35.tar.gz cpython-f17c979d909f05916e354ae54c82bff71dbede35.tar.bz2 |
bpo-30637: Improve the docs of ast.parse regarding differences with compile() (GH-28459)
(cherry picked from commit e6d05a4092b4176a30d1d1596585df13c2ab676d)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Diffstat (limited to 'Doc/library/ast.rst')
-rw-r--r-- | Doc/library/ast.rst | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index 19e7bcc..e21151b 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -1917,6 +1917,19 @@ and classes for traversing abstract syntax trees: ``await`` as variable names. The lowest supported version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``. + If source contains a null character ('\0'), :exc:`ValueError` is raised. + + .. warning:: + Note that succesfully parsing souce code into an AST object doesn't + guarantee that the source code provided is valid Python code that can + be executed as the compilation step can raise further :exc:`SyntaxError` + exceptions. For instance, the source ``return 42`` generates a valid + AST node for a return statement, but it cannot be compiled alone (it needs + to be inside a function node). + + In particular, :func:`ast.parse` won't do any scoping checks, which the + compilation step does. + .. warning:: It is possible to crash the Python interpreter with a sufficiently large/complex string due to stack depth limitations |