Musique language interpreter
Robert Bendun
2dd97709a0
Instead of `exit` we throw `std::runtime_error` in Debug mode assertions and unreachable functions, to have better response from unit test runner. |
||
---|---|---|
doc | ||
etc | ||
examples | ||
lib | ||
src | ||
.gitignore | ||
.gitmodules | ||
Doxyfile | ||
instruments.mq | ||
LICENSE | ||
Makefile | ||
prelude.mq | ||
README.md |
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.
Budowanie interpretera
Jeśli nie posiadasz zależności lib/midi
to:
$ git submodule init
$ git submodule update
$ (cd lib/midi; make)
A następnie zbuduj interpreter:
$ make bin/musique
Dostępne komendy
make
- Buduje interpreterbin/musique
(tryb release)make debug
- Buduje interpreterbin/debug/musique
(tryb debug)make clean
- Usuwa reprodukowalne elementy projektu (automatycznie stworzone pliki binarne czy raporty)
Dokumentacja
make doc
- Tworzydoc/build/html/
zawierający dokumentację projektu
Testowanie
make test
- Uruchom wszystkie dostępne testy automatycznemake unit-tests
- Uruchamia testy jednostkowe interpreteramake unit-test-coverage
- Uruchamia raport pokrycia kodu przez testy jednostkoweetc/tools/test.py test examples
- Uruchamia testy zachowań przykładówetc/tools/test.py record examples
- Nagrywa testy zachowań przykładów
Debugowanie
etc/tools/log-function-calls.sh
- Tworzy listę wywołań funkcji używając GDB
Budowa projektu
.
├── bin Miejsce produkcji plików wykonywalnych
├── coverage
├── doc Dokumentacja języka, interpretera
│ └── build Miejsce produkcji dokumentacji
├── etc/tools Dodatkowe narzędzia
├── lib Zewnętrzne zależności projektu
│ ├── expected
│ └── ut
└── src Główny katalog z kodem źródłowym
└── tests Katalog z testami jednostkowymi
Kolorowanie składni
Vim / Neovim
Skopiuj plik etc/editor/musique.vim do folderu syntax
wewnątrz twojej konfiguracji Vima (Neovima). Np:
$ cp etc/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.