Грамматика Python 3: NEWLINE в конце файла или нет? - PullRequest
1 голос
/ 03 июля 2019

Глядя на грамматику Python 3 , мы видим, что, используя file_input в качестве начального символа, допустимым производством может быть одно утверждение.Например, что-то вроде:

stmt ENDMARKER

Это похоже на наличие одного литерала в файле

[1, 2, 3]

Однако правила для stmt -> simple_stmt требуют окончания stmtNEWLINE.Таким образом, я бы предположил, что файл, содержащий один буквенный список и без новой строки в конце, вызовет синтаксическую ошибку.Но это не так.

Добавляет ли python символ \n к файлам, которые он анализирует, или всегда выдает токен NEWLINE перед ENDMARKER?

...