Skip to content

dkostmii/tree-sitter-mavka

Repository files navigation

tree-sitter-mavka

Цей репозиторій містить проект, що генерує парсер tree-sitter для Мавки.

Проект знаходиться у стадії розробки.

Як запустити?

Аби мати змогу генерувати парсер, необхідно встановити NodeJS, і мати компілятор C (підходить як і MSVC, що присутній у середовищі розробки Visual Studio, так і GCC).

Спершу необхідно встановити залежності проекту за допомогою пакетного менеджера NPM:

npm install

Головним файлом проекту є grammar.js: саме там задаються правила мови, на основі котрих парсер будуватиме конкретне дерево синтаксису у форматі S-виразів, на кшталт мови Lisp.

Після кожної зміни цього файлу, потрібно згенерувати новий парсер.

У проекті налаштовані наступні NPM скрипти:

  • generate - для генерування парсера у вигляді коду C
  • test - для тестування парсера на основі тестів у test/corpus/

Також можна спробувати парсер використовуючи файли з прикладами у examples/.

Документація