6

正規表現が与えられた場合、REを実装する有限状態マシンのコードを動的に生成するパッケージを探しています。

C / C ++とPythonが推奨されますが、他の言語も同様に重要です。

4

6 に答える 6

3

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

于 2009-01-18T05:34:38.843 に答える
3

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

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

ウェブサイトをチェックしてください。そのフロントページは非常に露骨です。

于 2009-04-28T09:25:24.100 に答える
1

あなたが探しているものとは正確には異なるかもしれませんが、Xerox Finite State Transducer は正規表現をサポートし、マシンを構築し、GraphViz を使用してグラフィカルな表現を作成することさえできます.

形態学のようなものには本当に気の利いたものですが、そうでなければ、主に有限状態機械の理論的側面を探求するものを探している場合に私はそれをお勧めします.

2 つの注意点: 独自の構文を使用しているため、選択した言語に簡単に翻訳できるとは限りません。また、ライセンスを取得する必要があると確信しています。これには、Karttunnen と Beesley の著書「Finite State Morphology」が付属しており、それ自体が非常に興味深いものです。

于 2009-01-18T04:22:10.220 に答える
1

有限状態オートマトン ユーティリティは、正規表現からの FSM の生成をサポートしています。また、FSM 用の C、C++、および Java コード生成もサポートしています。動的生成をサポートしていますが、Prolog で書かれており、別の言語から呼び出すのは面倒かもしれません。

于 2012-03-02T09:11:13.290 に答える
0

あなたが求めているのは字句解析器です...たくさんのプログラミング言語用にたくさんあります。まず、こちらをご覧ください。

于 2009-04-28T09:21:26.950 に答える