Sherod adalah alat untuk membuat antarmuka Fortran atau Python ke perpustakaan C atau C ++. Ini juga dapat membuat A API C untuk perpustakaan C ++.
Pengguna membuat file YAML dengan deklarasi C/C ++ yang akan dibungkus bersama dengan beberapa anotasi untuk memberikan informasi semantik dan opsi pembuatan kode. Kain Kafan menghasilkan pembungkus untuk perpustakaan. Kode yang dihasilkan sangat dapat dibaca dan dimaksudkan untuk menjadi mirip dengan kode yang akan ditulis tangan untuk membuat binding.
kata kerja
Pengguna membuat file YAML yang mencakup deklarasi dari zoo.hpp
.
library: zoo
cxx_header: zoo.hpp
declarations:
- decl: class Animal
declarations:
- decl: Animal()
- decl: void speak(const std::string &word)
Ini menciptakan antarmuka Fortran yang dapat digunakan sebagai:
use zoo_mod
type(Animal) dog
dog = Animal()
dog%speak("woof")
Dan dari Python
import zoo
dog = zoo.Animal()
dog.speak("woof")
Untuk mulai menggunakan kafan, lihat dokumentasi lengkapnya:
http://shroud.readthedocs.io/en/develop
Presentasi di Fortrancon2020
https://www.youtube.com/watch?v=1mdi-m94vdc slide
https://groups.io/g/shroud-users
Fortran yang dihasilkan membutuhkan kompiler Fortran 2003.
Python yang dihasilkan membutuhkan Python 2.7 atau 3.4+.
Fitur Python:
Kafan dapat dipasang menggunakan PIP
pip install llnl-shroud
Ini dapat dilakukan di lingkungan virtual sebagai
cd my_project_folder
virtualenv my_project
source my_project/bin/activate
pip install llnl-shroud
Ini mengasumsikan shell bash. Sumber Activate.csh untuk CSH.
Selain itu, file yang dibuat oleh Shiv tersedia dari rilis GitHub. Kafan dan pyyaml dibundel ke dalam satu eksekutif yang menggunakan python3 di jalan Anda. Shiv membutuhkan Python 3.6+.
wget https://github.com/LLNL/shroud/archive/shroud-0.13.0.pyz
Hak Cipta (C) 2017-2024, Lawrence Livermore National Security, LLC. Diproduksi di Laboratorium Nasional Lawrence Livermore.
SPDX-LICENSE-Identifier: (BSD-3-Clause)
Lihat Lisensi untuk detailnya
Open Source Unlimited-BSD 3-Clause Distribution LLNL-CODE-738041
OCEC-17-143
File individual berisi tag SPDX alih -alih teks lisensi lengkap. Ini memungkinkan pemrosesan mesin informasi lisensi berdasarkan pengidentifikasi lisensi SPDX yang tersedia di sini: https://spdx.org/licenses/
File yang dilisensikan sebagai klausa BSD 3 berisi teks berikut di header lisensi:
SPDX-LICENSE-Identifier: (BSD-3-Clause)
Bundel kafan beberapa dependensi eksternal dalam repositori. Paket -paket ini ditanggung oleh berbagai lisensi permisif. Daftar ringkasan berikut. Lihat lisensi yang disertakan dengan setiap paket untuk detail lengkap.
Packagename: Buah
PackageHomepage: https://sourceForge.net/projects/fortranxunit/
PackageLicensEdeclared: BSD-3-Clause