ラゲル

Ragelは通常の言語から実行可能な有限ステートマシンをコンパイルする
今すぐダウンロード

ラゲル ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • GPL
  • 価格:
  • FREE
  • 出版社名:
  • Adrian Thurston
  • 出版社のWebサイト:
  • http://research.cs.queensu.ca/thurston/ragel/
  • オペレーティングシステム:
  • Mac OS X
  • ファイルサイズ:
  • 950 KB

ラゲル タグ


ラゲル 説明

Ragelは通常の言語から実行可能な有限状態マシンをコンパイルします Ragelは正規言語から実行可能な有限状態マシンをコンパイルします。 Ragelは、C、Objective-C、D、C ++、JavaとRubyをターゲットにします。 Ragelステートマシンは、正規表現マシンとしてバイトシーケンスを認識するだけでなく、通常の言語の認識の中で任意の点でコードを実行することもできます。コード埋め込みは、通常の言語の構文を混乱させないインライン演算子を使用して行われます。コア言語は、標準の正規表現演算子(UNION、Concateation、Kleene Starなど)とアクション埋め込み演算子で構成されています。ユーザの正規表現は確定的な状態マシンにコンパイルされ、組み込みアクションはマシンの遷移に関連付けられています。正規表現と決定論的有限オートマトンの間の正式な関係を理解することはRagelを使用するための鍵です。マシンのジャンプまたは他の部分に呼び出すことによって、埋め込みアクションの内側からステートマシンの実行に影響を与えるか、または再処理INPUT.RAGELがホスト言語に非常に柔軟なインタフェースを提供し、最小限の制限をどのように配置しようとします。生成されたコードはアプリケーションに統合されています。生成されたコードには依存関係がありません。・ロバストプロトコルの実装の書き込みに適しています。有限ステートマシンを使用して、正規言語演算子、州チャートの演算子、スキャナーオペレータ、任意の場所のマシンへの埋め込みアクションのいくつかの組み合わせ。・保護演算子を使用して非決定論を制御します。・Hopcroftのアルゴリズムを使用してステートマシンを最小限に抑えます。・GraphVizでの出力を視覚化します。・バイト、ダブルバイト、またはワードサイズのアルファベットを使用します。・C、C ++、Objective-C、D、Java、またはRubyコードを依存しません。・テーブルまたは制御フロー駆動状態マシンから選択します。このリリースの新機能: ・GraphViz生成のバグが修正されました。 ・64ビットシステムと16進数で定義されているマシンに関連するバグが修正されました。 ・ビルドシステムをautomakeに移動しました。


ラゲル 関連ソフトウェア