2.5 KiB
Musique interpreter
Interpreter języka Musique. Możliwy do wykorzystywania jako:
- biblioteka interpretera języka dołączana do innego projektu (podobnie jak Lua);
- REPL działający w systemie GNU/Linux + ALSA wykonujący język Musique.
Wymagane pakiety systemowe
Do poprawnego skompilowania i uruchomienia interpretera języka Musique należy posiadać zainstalowane następujące pakiety (lub ich odpowiedniki) – dla systemu GNU/Linux Ubuntu Desktop 22.04 są to:
build-essential
– pakiet zawierający podstawowe narzędzia do pracy z kodem źródłowym, takie jak m.in. kompilator;libasound2-dev
– pakiet zawierający biblioteki programistyczne pakietulibasound2
.
Można je zainstalować korzystając z polecenia:
$ sudo apt update
$ sudo apt install -y build-essential libasound2-dev
Budowanie interpretera
Wygeneruj konfigurację dla twojej platformy przy pomocy premake
- Linux:
premake5 gmake
- Windows:
premake5 <twoja-wersja-visual-studio>
, nppremake5 vs2022
Żeby zainstalować interpreter języka Musique w systemie, należy dodatkowo wykonać polecenie scripts/install
Uwaga: powyższe polecenie instalacyjne musi zostać wykonane jako uprzywilejowany użytkownik (np. wykorzystując polecenie sudo
).
Dokumentacja
Dokumentację kodu źródłowego możesz wygenerować korzystając z polecenia doxygen
. Dokumentacja języka (jak i kodu źródłowego po wygnerowaniu) dostępna jest w katalogu doc/
.
Testowanie
scripts/test.py
- Nagrywa testy zachowań przykładów
Kolorowanie składni
Vim / Neovim
Skopiuj plik etc/editor/musique.vim do folderu syntax
wewnątrz twojej konfiguracji Vima (Neovima). Np:
$ cp editor/musique.vim ~/.config/nvim/syntax/
Następnie musisz dodać ustawienie typu pliku na podstawie rozszerzenia wewnątrz twojej konfiguracji:
au BufRead,BufNewFile *.mq set filetype=musique
Visual Studio Code
Skopiuj katalog etc/editor/musique-vscode do folderu <user home>/.vscode/extensions
i uruchom ponownie program VSCode.
Thanks to
- Creator of tl::expected - Sy Brand
- Creator of bestline - Justine Tunney
- Creator of rtmidi - Gary P. Scavone
and all contributors that created libraries above.