Может кто-нибудь объяснить мне, как CPython анализирует файл, содержащий всего один символ 1
?
В частности, почему ast.parse("3")
возвращает ...Expr(...)...
, поскольку (я считаю) исходный код Python представляет собой список операторов?
Другими словами, читая грамматику, как мне перейти от file
к ... atom
(наверное)?
@bereal Не могли бы вы указать мне соответствующее правило в грамматике?
Выражение также может быть оператором, последовательность правил следующая:
file -> statements -> statement ->
simple_stmts -> simple_stmt -> star_expressions -> star_expression ->
expression
В конце концов, func(x)
тоже является выражением, и файл print('Hello world!')
вполне допустим.
Ах, правило star_expresions
, спасибо большое!
Выражение также может быть утверждением.