質問

正規表現を考えると、私は動的にREを実装する有限状態マシンのコードを生成するパッケージを探しています。

C / C ++とPythonが好ましいが、他の言語も同様に重要である。

役に立ちましたか?

解決

re2cののCコードを生成します。私はあなたが「動的」によって何を意味するかわからない - 私の知る限り、あなたがそれを生成した同じ実行時に生成されたコードを呼び出すしたい場合は、コンパイルして出力を動的にロードする必要があると思います。

他のヒント

Ragel のあなたが探しているものかもしれません。

これは、ステートマシンのためのC / C ++ / D /ルビー/ Javaコードを生成します。 これらは、正規表現と演算子の両方を使用して記述されます。

そのフロントページはきわめて明確で、ウェブサイトをチェックします。

これは、あなたが探している正確に何ではないかもしれませんが、ゼロックス有限状態トランスデューサは、正規表現をサポートしているマシンを構築し、さらにはGraphVizをを使用してグラフィカルな表現を作成することができます。

これは、形態学のようなもののために本当に気の利いたのですが、あなたは、有限状態機械の理論的な側面を探求するために何かを探しているならそう、私は主にそれをお勧めしたい。

二つの注意点:それは独自の構文を使用していますので、必ずしも簡単に選択のあなたの言語に翻訳超えることはないだろう、と私はあなたがそれのためのライセンスを取得する必要があります確信しています。これは、独自の権利で非常に興味深い読み込まれKarttunnenとビーズリー氏の著書「有限状態形態」、付属しています。

正規表現から有限状態マシンへのコンバータの優れたPython実装は https://github.com/fernoです/緑に。それは「緑をインストールPIP」を介しては、PyPIで提供されています。

別のpythonパッケージは、反復パーサを実装するために緑を使用しています。通信プロトコルのPythonパーサと発信 https://github.com/ pjkundert / cpppo に。 cpppoをインストールPIP 'を介しても利用可能です。 CpppoフルUTF-8互換性を含む同じソースにのPython 2と3の両方をサポートする試みに起因しない小さな部分で、残念ながら非常に複雑である。

とにかく、cpppoはあなたのFSMコンバータに優れた緑の正規表現を適用する方法のアイデアを与える必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top