Модуль компилятора генерирует и компилирует код в парадигме расширенных иерархических машин состояний на основе схем формата Cyberiada-GraphML
, получаемых по веб-сокету.
Установите Python 3.10
.
Установите arduino-cli
и добавьте его PATH.
Затем введите команду:
arduino-cli core install arduino:avr
Установите gcc-arm-none-eabi
(может потребоваться VPN) и добавьте его в PATH.
sudo apt install gcc-arm-none-eabi
py -m pip install -e .
илиpoetry install
(если установлен менеджер зависимостей poetry).py -m compiler [флаги]
python3 -m pip install -e .
илиpoetry install
(если установлен менеджер зависимостей poetry).python3 -m compiler [флаги]
Конфигурация модуля может происходить через:
- флаги, указываемые при запуске сервиса;
- переменные окружения;
- переменные в файле
compiler/config.py
.
Способы конфигурации указаны в порядке их приоритета.
Внимание! Конфигурация по умолчанию выставляется для ОС Linux, поэтому пользователям Windows нужно поменять директорию создания проекта!
Название | Описание | Флаг | Окружение | config.py |
---|---|---|---|---|
Порт хоста | Порт, на котором будет доступен сервис | --server-port | LAPKI_COMPILER_SERVER_PORT | _SERVER_PORT |
Адрес хоста | Адрес, на котором будет доступен сервис | --server-host | LAPKI_COMPILER_SERVER_HOST | _SERVER_HOST |
Директория создания проектов | Директория, в которой будут создаваться проекты со сгенерированным кодом и используемыми библиотеками | --build-directory | LAPKI_COMPILER_BUILD_PATH | _BUILD_DIRECTORY |
Директория с библиотеками | Директория, в которой находятся файлы реализации библиотек. | --library-path | LAPKI_COMPILER_LIBRARY_PATH | _LIBRARY_PATH |
Директория с платформами | Директория, в которой находятся файлы-конфигурации платформ. | --platform-directory | LAPKI_COMPILER_PLATFORM_DIRECTORY | _PLATFORM_DIRECTORY |
Лог-файл | Путь до лог-файла, если файл не существует, то он будет создан. | --log-path | LAPKI_COMPILER_LOG_PATH | _LOG_PATH |
- Lapki IDE - среда визуального программирования, в которую внедрен модуль компилятора.
- cyberiadaml-py - библиотека для парсинга Cyberiada-GraphML схем.