Python コードを字句解析する C モジュールを作成しようとしています。どうすればいいですか?
1 に答える
Pythonコードの字句解析を行うための完全で詳細な仕様は、こちらにあります。
ご覧のとおり、カバーする必要のあるケースはたくさんあります。1つの助けは、Cで実装された字句解析プログラムが特定のPythonフラグメントに対して正しいかどうかを常に最も簡単に確認できることです。つまり、Pythonで実装されたモジュールがPythonの標準ライブラリでトークン化するものを正確に返す必要があります。
tokenizeのソースでわかるように、これは数百行のPythonであるため、数千行のCが必要であると簡単に推測できます。週末のプロジェクトではありません;-)
もちろん、出発点として、Python独自のParser / tokenizer.cをフォークすることができます-それは2000行未満です(それが行うことには驚くほど短いです!)が、それは他のかなりの数の断片に依存しているためですPythonのランタイムから(実装をスタンドアロンにする必要がある場合は、それらを再現する必要があります)。
Pythonのコードベースを深く理解している経験豊富なプログラマーであり、起床時間中ずっとこれをスプリントできる場合は、1週間ほどで成功する可能性があります。通常の状況では、1か月の作業を期待するのは少し楽観的だと思います。あなたの締め切りは何ですか?