Musique language interpreter
Go to file
Robert Bendun c509b6ccc5 Don't deadlock during nested evaluation in print context
Lock for stdout should only hold when things are ready to be printed.
This prevents any double locking issues
2022-11-24 01:23:31 +01:00
doc Added Catch2 library 2022-11-20 16:14:12 +01:00
editor VSCode extension 2022-10-21 13:14:12 +02:00
examples Making this example how it should be in the first place 2022-11-23 22:26:51 +01:00
lib Renamed targets in release archive 2022-11-20 16:16:36 +01:00
musique Don't deadlock during nested evaluation in print context 2022-11-24 01:23:31 +01:00
regression-tests regression test updates 2022-10-31 00:39:56 +01:00
scripts Made context stack a tree; fixed function name in error printing 2022-11-21 17:03:14 +01:00
.gitignore Basic polish tutorial 2022-11-12 01:25:16 +01:00
build_instructions.md First iteration of build instructions 2022-10-20 14:37:50 +02:00
CHANGELOG.md Made context stack a tree; fixed function name in error printing 2022-11-21 17:03:14 +01:00
config.mk Build system supports both MacOS and Linux now 2022-10-14 15:56:36 +02:00
Dockerfile Release build system partially moved to Docker 2022-10-31 22:28:18 +01:00
Doxyfile Created better hierarchy of source files 2022-09-23 18:55:25 +02:00
instruments.mq instruments.mq using new definition syntax; fixed windows builds 2022-10-21 17:50:25 +02:00
LICENSE License 2022-05-24 12:11:50 +00:00
Makefile Basic polish tutorial 2022-11-12 01:25:16 +01:00
README.md VSCode extension 2022-10-21 13:14:12 +02:00

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 pakietu libasound2.

Można je zainstalować korzystając z polecenia:

$ sudo apt update
$ sudo apt install -y build-essential libasound2-dev

Budowanie interpretera

  • Aby wybudować wersję Linux+ALSA: make
  • Aby wybudować wersję Windows: make os=windows

Żeby zainstalować interpreter języka Musique w systemie, należy dodatkowo wykonać polecenie:

# make install

Uwaga: powyższe polecenie instalacyjne musi zostać wykonane jako uprzywilejowany użytkownik (np. wykorzystując polecenie sudo).

Dostępne komendy

  • make - Buduje interpreter bin/musique (tryb release)
  • make debug - Buduje interpreter bin/debug/musique (tryb debug)
  • make clean - Usuwa reprodukowalne elementy projektu (automatycznie stworzone pliki binarne czy raporty)

Dokumentacja

  • make doc - Tworzy doc/build/html/ zawierający dokumentację projektu

Testowanie

  • make test - Uruchom wszystkie dostępne testy automatyczne

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 editor/vscode-musique do folderu <user home>/.vscode/extensions i uruchom ponownie program VSCode.

Thanks to

and all contributors that created libraries above.