CAMFORT是科学福特计划的重构和验证工具。目前,它支持Fortran 66、77、90、95和2003(某种程度上)以及各种传统扩展。
这是一个在剑桥大学和肯特大学开发的研究项目。
由OS推荐的安装方法:
camfort-bundle-windowsbrew install camfort/camfort/camfort我们为Windows,Mac和Linux提供了预制的二进制文件。对于Windows,我们还提供将Camfort可执行的档案与所有依赖关系捆绑在一起。
Camfort也可以通过自制(公式)获得:
brew install camfort/camfort/camfort
Camfort/Cabfort的Docker上有一个较旧的(〜2019)版本的Carfort。
可在ghcr.io/camfort/camfort:dev上获得开发人员的新码头图像(仍在进行中的工作)。建议的调用是:
podman run --volume $(pwd):/host --workdir /host ghcr.io/camfort/camfort:dev <CamFort arguments> Camfort是一种命令行工具,因此请从您喜欢的外壳或命令提示符中调用它。 Wiki上提供详细的用法信息。
(如果您想要最近的构建,并且不想坐在编译过程中,则可能希望检查“操作”选项卡并从最近的工作流程中下载系统的相关构建。)
本节仅涵盖建筑物。请参阅Wiki:以获取完整的详细信息。
CAMFORT支持GHC 8.4至GHC 8.10 ,并在堆栈和阴谋上建造。我们定期测试至少受支持的GHC。在/更新之前发行的问题可能有问题。 (我们欢迎修复程序,可以让我们支持更广泛的编译器!)
您可能至少需要3个机记忆和耐心来建立CAMFORT。
CAMFORT取决于以下外国图书馆:
这些应该是为您的系统构建的,但是安装方法会有所不同。 Wiki上提供了系统特定的指南。 (或者,您可以检查GitHub操作工作流程。)在Ubuntu上:
apt install libflint-dev liblapack-dev libopenblas-dev z3
然后stack build用于堆栈,或为Cabal cabal build 。
要启用CAMFORT的bash自动完成,请在.bashrc或.bash_profile文件中添加以下内容:
eval "$(camfort --bash-completion-script=$(which camfort))"
我们感谢您遇到的任何错误,并请您作为问题提交。
值得赞赏的是,如果这是一个实质性的更改,请首先与我们联系。提交之前,请确保运行测试套件。
如果您有您希望我们分析的科学代码,我们很乐意将其添加到Camfort语料库中。这有助于我们找到有用的方法来扩展卡普福特,并确保其强大。
请参阅doc/maintainers.md 。