Flexは、高速語彙アナライザとして広く知られており、C / C ++で実装され、スキャナの生成に使用されるオフセットから設計されたオープンソースの、完全にフリーでマルチプラットフォームのコマンドラインアプリケーションです。
Flexツールで生成されたスキャナーは、GNUなしのLexの実装と混同しないでください。実際には、テキストのパターンマッチングを実行するアプリケーションとも呼ばれる、テキストの字句パターンを認識できるプログラムです。
Flexはyylex()関数を定義できる "lex.yy.c"というCソースファイルを生成できるように設計されています。このソフトウェアはコマンドラインツールなので、どのターミナルエミュレータでも使用できます。
コマンドラインオプション
プログラムのコマンドラインオプションは、テーブル圧縮、デバッグ、ファイル、スキャナの動作、生成されたコード、その他のカテゴリに分類されます。それらを一目で見るには、‘ flex --help’を実行してください。コマンドを実行してください。
テーブル圧縮コマンドラインオプションの中で、等価クラスやメタ等価クラスの構築、代替テーブル表現の使用、デフォルトの圧縮の使用、大規模で高速なスキャナの生成などが挙げられますテーブルを圧縮しないようにします。
デバッグコマンドラインオプションには、スキャナのデバッグモードを有効にするサポート、スキャナの統計情報の概要をstdoutに書き込むサポート、トレースモードでFlexを実行するサポート、バックアップ情報を特定のファイルに書き込むサポート、 stderrへのパフォーマンスレポート。
スキャナの動作は、コマンドラインオプション(7ビットまたは8ビットスキャナの生成、バッチスキャナの生成、対話型スキャナの生成のサポート、トラッキングのサポートなど)を介してカスタマイズすることもできますyylinenoの行数。
32ビット/ 64ビットLinuxおよびBSDプラットフォームをサポート
このソフトウェアは完全にCおよびC ++プログラミング言語で書かれており、LinuxとFreeBSDの両方のオペレーティングシステムでうまく動作することが知られています。現在、64ビットまたは32ビットの命令セットアーキテクチャのいずれかをサポートするコンピュータにインストールできます。
このリリースの新機能:
ビルド:
インデントターゲットは、フレックスの新しい(2.6.0現在の)レイアウトを知るようになりました。インデント規則は適用されず、修正する必要があります。
flexディストリビューションに含まれるファイルは、ディストリビューションに含まれるflexのバージョンによって作成されます。
configureスクリプトは、フレックスを構築するためにどのヘッダが必要であるかをよりよく理解しています。欠落した機能が検出された場合もエラーになります。
私たちは、flexをビルドするためにconfigure.acが必要とするautomakeとgettextのバージョンを下げました。 autogen.shでは、libtoolizeを呼び出す方法をチェックし、残りのスクリプトで見つけたものを使用します。
lib /内のファイルはsrc /によって必要に応じて選択されるので、そのディレクトリのMakefileは生成されません。
Flexはクロスコンパイルできます。
ドキュメンテーション:
いくつかのタイプミスがマニュアルから削除されました。
スキャナ:
マイナーなパフォーマンスの向上。
私たちはユーザー定義のyy_ *マクロを再度尊重します。また、マクロ定義をヘッダファイルに漏らさないように注意しています。
多数の移植性の修正が導入され、フレックスの構築はより多くのプラットフォームでより信頼できます。また、古い関数呼び出しは削除されました。
flex実行可能ファイル自体をビルドするときは、Cソースコード配列を生成するときにflex.sklからの%#コメントは削除されます。これによりフレックスのサイズが小さくなります。
テストスイート:
テストスイート内のスクリプトはすべて$(SHELL)で実行され、必要な移植性の修正が含まれています。
テストスイートの依存関係ははるかに良く処理されます。フレックスやテストスイートを積極的に開発している場合にのみ重要です。
プラットフォーム依存の機能に依存するテストは、それらのプラットフォームが存在しない場合に適切にスキップされるようになりました。
" make check"を実行すると、V = 0にすることができます。これは、あなたが
コメントが見つかりません