feat: add README
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# FromZero / Language
|
||||
|
||||
[README in English](./README.md)
|
||||
|
||||
**FromZero/Language** - пакет из JIT-компилятора и виртуальной машины для языка FZL.
|
||||
|
||||
## Текущие возможности
|
||||
|
||||
На данный момент язык имеет:
|
||||
|
||||
- Встроенную функцию `printline` для вывода аргумента в stdout
|
||||
- Строковый и числовой литералы
|
||||
- Арифметические операции: сложение, вычитание, умножение, деление, модуло, возведение в степень
|
||||
|
||||
|
||||
## Расширения файлов
|
||||
|
||||
Стандартными для языка являются два расширения файлов:
|
||||
|
||||
- `.fzs` - исходный код
|
||||
- `.fzb` - скомпилированный бинарный файл
|
||||
|
||||
|
||||
## Инструкции по сборке
|
||||
|
||||
1. Склонировать проект: `git clone https://git.samsonium.dev/samsonium/fz-lang.git`
|
||||
2. Собрать проект: `make build`
|
||||
|
||||
После этого в корне появится директория **"build"**. В ней будут лежать два скомпилированных бинарных файла:
|
||||
|
||||
- `fzc` - компилятор
|
||||
- `fz` - виртуальная машина
|
||||
|
||||
Оба бинарных файла предоставляют справку по использованию при запуске с флагом `--help` (или `-h`).
|
||||
|
||||
|
||||
## Гайдлайн по разработке
|
||||
|
||||
Желательно иметь редактор кода, поддерживающий Clang LSP, так как в проекте есть готовые настройки для
|
||||
форматтера в виде файла `.clang-format`.
|
||||
|
||||
Для дебаггинга есть два таргета в CMake: `build-c` для компилятора и `build-vm` для виртуальной машины.
|
||||
Оба таргета позволяют указать переменную с путём файла. Например, так:
|
||||
|
||||
```shell
|
||||
$ make debug-c FILE=exl/hw.fzs
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user