例えば::
>>> import ast
>>> print(type(ast.parse('1.2', mode='eval').body.n)
float
型のノードの元の値を保持しながら、パーサーに Python ソース ファイルを構文ツリーに変換させるにはどうすればよいstr
ですか? たとえば、「1.2」を、精度をまったく失うことなく、できるだけ正確な分数を使用して正確な値に変換する必要があるためです (値 1.2 は浮動小数点形式で正確に表すことはできません)。
できれば、パーサーを再実装せずにこれを行いたいと考えています。ast
おそらく、モジュールよりもこれに適したパーサーが他にあるでしょう。
ところで、式だけでなくプログラムも解析する必要があります。