Camfortは、科学的なFortranプログラムのためのリファクタリングおよび検証ツールです。現在、さまざまなレガシー拡張機能を備えたFortran 66、77、90、95、2003(やや)をサポートしています。
ケンブリッジ大学とケント大学で開発された研究プロジェクトです。
OSによる推奨インストール方法:
camfort-bundle-windowsを開始するものをダウンロードbrew install camfort/camfort/camfortWindows、Mac、Linux用の事前に構築されたバイナリを提供しています。 Windowsについては、Camfort実行可能性をすべての依存関係と一緒にバンドルするアーカイブも提供します。
Camfortは、Homebrew(Formula)からも入手できます。
brew install camfort/camfort/camfort
Camfort/Camfort/CamfortのDockerで古い(2019年)バージョンが利用できます。
開発者向けの新しいDockerイメージ(まだ進行中)は、 ghcr.io/camfort/camfort:dev camfort:devで入手できます。提案された呼び出しは次のとおりです。
podman run --volume $(pwd):/host --workdir /host ghcr.io/camfort/camfort:dev <CamFort arguments> Camfortはコマンドラインツールなので、お気に入りのシェルまたはコマンドプロンプトから呼び出します。 Wikiで詳細な使用情報を入手できます。
(最近のビルドが必要で、コンピレーションプロセスを介して座りたくない場合は、代わりに[アクション]タブをチェックし、最近のワークフロー実行からシステムに関連するビルドをダウンロードすることをお勧めします。)
このセクションでは、建物を簡単にカバーします。詳細については、Wiki:Buildingを参照してください。
CamfortはGHC 8.4を介してGHC 8.10を介してサポートし、スタックとCabalの両方で構築します。少なくとも最小および最大サポートされているGHCを定期的にテストします。リリース前/新しいリリースには問題がある可能性があります。 (より広い範囲のコンパイラをサポートできる修正を歓迎します!)
Camfortを構築するには、少なくとも3つの記憶と忍耐が必要になるでしょう。
Camfortは、次の外国図書館に依存します。
これらはシステム用に構築する必要がありますが、インストール方法は異なります。 Wikiでシステム固有のガイドが提供されています。 (または、GitHubアクションワークフローを確認できます。) ubuntuで:
apt install libflint-dev liblapack-dev libopenblas-dev z3
次に、スタック用のstack build 、またはカバル用のcabal build 。
CamfortのBash AutoCompletionを有効にするには、 .bashrcまたは.bash_profileファイルに以下を追加します。
eval "$(camfort --bash-completion-script=$(which camfort))"
遭遇したバグに感謝し、問題として提出するようにお願いします。
プルリクエストは大歓迎ですが、それが大幅な変更である場合は、最初にお問い合わせください。提出する前に、必ずテストスイートを実行してください。
分析してほしい科学的コードがある場合は、Camfortコーパスに追加していただければ幸いです。これにより、Camfortを拡張するための便利な方法を見つけることと、堅牢性を確保するのに役立ちます。
doc/maintainers.mdを参照してください。