Camfort ist ein Refactoring- und Verifizierungsinstrument für wissenschaftliche FORTRAN -Programme. Derzeit unterstützt es Fortran 66, 77, 90, 95 und 2003 (etwas) mit verschiedenen Legacy -Erweiterungen.
Es ist ein Forschungsprojekt, das an der University of Cambridge und der University of Kent entwickelt wurde.
Empfohlene Installationsmethode nach Betriebssystem:
camfort-bundle-windows beginnenbrew install camfort/camfort/camfortWir bieten vorgebaute Binärdateien für Windows, Mac und Linux. Für Windows bieten wir auch Archive an, die die ausführbare Camfort -Datei zusammen mit allen Abhängigkeiten bündeln.
Camfort ist auch über Homebrew (Formel) erhältlich:
brew install camfort/camfort/camfort
Eine ältere (~ 2019) Version von Camfort ist auf Docker bei Camfort/Camfort erhältlich.
Ein neues Docker-Image für Entwickler (noch in progressiver Arbeit) ist unter ghcr.io/camfort/camfort:dev erhältlich. Vorgeschlagene Berufung ist:
podman run --volume $(pwd):/host --workdir /host ghcr.io/camfort/camfort:dev <CamFort arguments> Camfort ist ein Befehlszeilen-Tool. Rufen Sie es daher aus Ihrer Lieblings-Shell oder Eingabeaufforderung auf. Detaillierte Nutzungsinformationen finden Sie im Wiki.
(Wenn Sie einen aktuellen Build wünschen und nicht den Kompilierungsprozess durchsetzen möchten, möchten Sie stattdessen die Registerkarte Aktionen überprüfen und den entsprechenden Build für Ihr System aus einem kürzlich durchgeführten Workflow -Lauf herunterladen.)
Dieser Abschnitt deckt nur kurz das Gebäude ab. Siehe Wiki: Aufbau für alle Details.
Camfort unterstützt GHC 8.4 bis GHC 8.10 und baut sowohl mit Stack als auch mit Cabal auf. Wir testen regelmäßig mindestens die minimal- und maximal unterstützten GHCs. Veröffentlichungen vor/neuer als diese möglicherweise Probleme haben. (Wir begrüßen Korrekturen, mit denen wir eine breitere Palette von Compilern unterstützen können!)
Sie benötigen wahrscheinlich mindestens 3 Gedächtnisgibs und etwas Geduld, um Camfort zu bauen.
Camfort hängt von den folgenden ausländischen Bibliotheken ab:
Diese sollten für Ihr System erstellt werden, die Installationsmethode variiert jedoch. Systemspezifische Leitfäden finden Sie am Wiki. (Alternativ können Sie die Workflows der GitHub -Aktionen überprüfen.) Auf Ubuntu:
apt install libflint-dev liblapack-dev libopenblas-dev z3
Dann stack build für Stack oder cabal build for Cabal.
Um die Bash -Autoperation für Camfort zu ermöglichen, fügen Sie Ihre .bashrc oder .bash_profile -Datei Folgendes hinzu:
eval "$(camfort --bash-completion-script=$(which camfort))"
Wir schätzen alle Fehler, denen Sie begegnen, und fordern Sie bitte auf, sie als Problem zu übermitteln.
Pull -Anfragen werden sehr geschätzt, aber bitte kontaktieren Sie uns zuerst, wenn es sich um eine erhebliche Änderung handelt. Stellen Sie sicher, dass Sie die Testsuite durchführen, bevor Sie einreichen.
Wenn Sie einen wissenschaftlichen Code haben, den Sie analysieren möchten, würden wir ihn gerne zu Camfort Corpus hinzufügen. Dies hilft uns, nützliche Wege zu finden, um Camfort zu erweitern und sicherzustellen, dass es robust ist.
Siehe doc/maintainers.md .