file_input ::= (NEWLINE | statement)* 是什么语法?

file_input ::= (NEWLINE | statement)* 是什么语法?

在文档里面的top-level components里面看到的。
看不懂。请大侠赐教!谢谢!
All input read from non-interactive files has the same form:

file_input ::=  (NEWLINE | statement)*
This syntax is used in the following situations:

when parsing a complete Python program (from a file or from a string);
when parsing a module;
when parsing a string passed to the exec() function;
按小弟的粗糙翻译是:
这个语法在如下情况下使用:
当解析一个完整的python程序时(从一个文件或是一个字符串)
当解析一个模块时
当解析一个传给exec()函数的字符串时
可是此处的语法不知道怎么执行:
file_input ::=  (NEWLINE | statement)*
这是python语法的定义,不是python语法
这是 BNF,Backus-Naur Form.
谢谢ls两位指教
小弟非it中人,还是一头雾水。这是什么用的?看了该章开题:
The Python interpreter can get its input from a number of sources: from a script passed to it as standard input or as program argument, typed in interactively, from a module source file, etc. This chapter gives the syntax used in these cases.

这一段粗糙的翻译为:
python解释器能从源码中的数字、当成标准输入或程序参数传给它的脚本,从交互解释器输入中,模块源文件等等获得输入。此章给出在以上所述的情况下使用的语法。
再到后面就是说程序调用的了,没看到它给出的语法有什么应用。
file_input ::=  (NEWLINE | statement)*

的粗略意思就是:python 的输入应该是一些 statement,statement 之间可以有一些换行符(NEWLINE)。

比如

[Copy to clipboard] [ - ]
CODE:
print 1
print 2

print 1 和  print 2 都是 statement, 他们之间有个换行符。
谢谢 retuor