Может кто-нибудь объяснить мне, как 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, спасибо большое!
Выражение также может быть утверждением.