Files
fz-lang/README.ru.md
T
2026-10-14 01:09:55 +03:00

2.5 KiB

FromZero / Language

README in English

FromZero/Language - пакет из JIT-компилятора и виртуальной машины для языка FZL.

Текущие возможности

На данный момент язык имеет:

  • Встроенную функцию printline для вывода аргумента в stdout
  • Строковый и числовой литералы
  • Арифметические операции: сложение, вычитание, умножение, деление, модуло, возведение в степень
  • Декларация переменных со следующими типами:
    • uint, int - целые числа размером с машинное слово
    • i8..i64 - целые числа со знаком
    • u8..u64 - целые числа без знака
    • str - строки
    • bool - булевы
  • Присваивание

Примеры кода лежат в директории exl/.

Расширения файлов

Стандартными для языка являются два расширения файлов:

  • .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 для виртуальной машины. Оба таргета позволяют указать переменную с путём файла. Например, так:

$ make debug-c FILE=exl/hw.fzs