следующий действительный код Python
In [49]: print('hello\n')
hello
но когда я использую метод синтаксического анализа модуля ast, он возвращает ошибку синтаксиса
In [47]: code = "print('hello\n')"
In [48]: ast.parse(code)
File "<unknown>", line 1
print('hello
^
SyntaxError: EOL while scanning string literal
In [51]: eval(code)
File "<string>", line 1
print('hello
^
SyntaxError: invalid syntax
почему модуль ast не может разобрать действительный код Python в этом случае?