Pengikatan bahasa untuk bahasa spesifikasi Maude menggunakan SWIG. Mereka menggunakan versi Maude yang dimodifikasi dan dilengkapi dengan pemeriksa model untuk sistem yang dikendalikan oleh strategi, yang juga dapat diakses melalui pengikatan.
Paket Python tersedia di PyPI. Setelah diinstall menggunakan pip install maude
, bisa langsung digunakan karena Maude sudah tertanam di dalam paket:
import maude
maude . init ()
nat = maude . getModule ( 'NAT' )
t = nat . parseTerm ( '1 + 2' )
t . reduce ()
print ( t )
Binding untuk bahasa lain yang didukung oleh SWIG dapat dibuat dari repositori ini, namun belum diberikan dukungan dan pengujian khusus. Petunjuk khusus untuk beberapa di antaranya tersedia di sini.
Repositori ini menyertakan versi Maude yang diperluas sebagai submodul, yang harus dikloning terlebih dahulu dengan git submodule update --init
atau perintah Git yang setara. Untuk membangun paket Python, scikit-build-core digunakan melalui salah satu perintah standar:
python -m build # or
pip wheel .
Hal ini akan menyebabkan Maude dibangun di direktori subprojects
, yang memerlukan sistem pembangunan Meson, Ninja, dan berbagai perpustakaan serta alat eksternal, seperti yang dijelaskan dalam repositorinya. Alternatifnya, versi kompilasi Maude sebagai perpustakaan dapat diunduh dari bagian rilisnya dan ditempatkan di lokasi yang diharapkan:
subprojects/maudesmc/installdir/lib
untuk perpustakaan, dansubprojects/maudesmc/build
untuk file header config.h
. Dalam hal ini atau ketika membuat Maude langsung dari subdirektorinya, CMAKE_ARGS="-DBUILD_LIBMAUDE=OFF"
harus ditambahkan sebelum perintah sebelumnya.
Binding untuk bahasa lain juga dapat dibuat menggunakan CMake secara langsung, dengan srcdir
adalah direktori tempat repositori telah dikloning, dan language
adalah salah satu bahasa yang didukung oleh SWIG:
cmake <srcdir> -DLANGUAGE=<language>
cmake --build .
Untuk beberapa target bahasa, hal ini sudah cukup, namun langkah tambahan mungkin diperlukan untuk target bahasa lainnya.
Dokumentasi untuk paket Python tersedia di sini, yang sebagian besar dapat diekstrapolasi ke bahasa target lainnya. Dokumentasi yang dihasilkan Javadoc juga tersedia. Selain itu, contoh-contoh di repositori dapat digunakan sebagai referensi untuk berbagai topik:
test.py
.match.py
.apply.py
.unify.py
.graph.py
.modelcheck.py
.vunarrow.py
.variants.py
.gui.py
.buildTerm.py
.maudedoc.py
.loading.py
.metalevel.py
.hooks.py
.Selain itu, tutorial tentang perpustakaan tersedia di artikel Maude sebagai perpustakaan: antarmuka pemrograman serba guna yang efisien , beserta deskripsi desain dan implementasinya.