私はちょうどhttp://code.google.com/p/re2を発見しました。これは、長い間無視されてきた方法(Thompson NFA)を使用して、awkの利用可能なエンジンよりも数桁高速な正規表現エンジンを実装する有望なライブラリです。 、Perl、またはPython。
だから私はコードをダウンロードしていつものsudo make install
ことをしました。/usr/local/include/re2/re2.h
しかし、そのアクションは、私のシステムに追加するだけのように見えました。*.a
さらにファイルがあるようですが、この*.a
拡張子はどうなっているのでしょうか。
Python(できればPython 3.1)のre2を使用したいのですmake_unicode_groups.py
が、ディストリビューションのようなファイルを見ることに興奮していました(おそらくビルドプロセス中に使用されただけですか?)。ただし、それらは私のマシンにはデプロイされませんでした。
Pythonからre2を使用するにはどうすればよいですか?
更新ctypes
2人の友好的な人々は、私がソースからDLL / * .soファイルを構築し、Pythonのライブラリを使用してそれらにアクセスすることを試みることができると指摘しました。誰かがそれを行う方法を役立つ指針を与えることができますか?私はここでは、特に最初の部分(* .soファイルの作成)についてはほとんど無知です。
更新私はまた、この質問(以前)をre2開発者グループに投稿しましたが、これまでは返信なしで(これは小さなグループです)、今日は(やや人口の多い)comp.lang.pyグループに投稿しました[—スレッドはこちら—]。さまざまな場所の人々が互いに連絡を取り合うことができることを願っています。私の推測では、熟練した人は、20%のyour-free-time-belongs-google-tooタイムスライスの間に数時間でこれを行うことができます。それは私を何週間も縛ります。Pythonが接続できるようにする必要があるCのフレーバーにC++を自動的にダムダウンするツールはありますか?そうすれば、実行可能な結果を得ることが、巧妙なツールチェーンに還元される可能性があります。
(暴言)なぜこれがそんなに難しいのですか?2010年には、まだ豊富なソフトウェアを相互に通信させることはできないと考えています。これは非常に障害であるため、PythonのCコードをアドレス指定する場合は、常にこれらのリンクビットを削除する必要があります。これには多くの作業が必要ですが、CコードのバージョンとPythonのバージョンに固有の拡張モジュールしか提供されないため、古くなります。(/ rant) このようなものを別々のプロセスで実行することは可能でしょうか(たとえば、入ってくるデータの結果を生成できるre2実行可能ファイルがある場合はどうsubprocess/Popen/communicate()
でしょうか。(これは、必要になるたびにプロセスを開く必要がある純粋なコマンドラインツールではなく、継続的に実行される単一のプロセスである必要があります。このようなCコードを「悪魔化」するラッパーが存在する可能性があります)。