Цей репозиторій містить проект, що генерує парсер tree-sitter для Мавки.
Проект знаходиться у стадії розробки.
Аби мати змогу генерувати парсер, необхідно встановити NodeJS, і мати компілятор C (підходить як і MSVC, що присутній у середовищі розробки Visual Studio, так і GCC).
Спершу необхідно встановити залежності проекту за допомогою пакетного менеджера NPM:
npm install
Головним файлом проекту є grammar.js
: саме там задаються
правила мови, на основі котрих парсер будуватиме конкретне
дерево синтаксису у форматі S-виразів, на кшталт мови Lisp.
Після кожної зміни цього файлу, потрібно згенерувати новий парсер.
У проекті налаштовані наступні NPM скрипти:
generate
- для генерування парсера у вигляді коду Ctest
- для тестування парсера на основі тестів уtest/corpus/
Також можна спробувати парсер використовуючи файли
з прикладами у examples/
.