Python 3语法:文件结尾处是否有NEWLINE?

时间:2019-07-03 18:40:03

标签: python python-3.x parsing grammar

通过查看Python 3 Grammar,我们可以看到,使用file_input作为起始符号,有效的生产可能只是一条语句。例如,类似:

stmt ENDMARKER

这就像在文件中只有一个文字

[1, 2, 3]

但是,stmt -> simple_stmt的规则要求stmtNEWLINE结尾。因此,我假设一个包含单个文字列表且末尾没有换行符的文件将导致解析/语法错误。但事实并非如此。

python是在解析的文件后附加\n字符,还是总是在NEWLINE之前发出ENDMARKER令牌?

0 个答案:

没有答案