World Conquest Chronicles

World Conquest Chronicles

Компилятор ЯП Wizard BASIC 3, v0.2

Скриншот примера кода и подсветки синтаксиса

Компилятор языка программирования Wizard BASIC 3.

Добавлена возможность компиляции, стандартная библиотека, расширены возможности IDE, повышено удобство использования, исправлены баги.

Изменения

  • возможность компиляции программы (возможность задания пути для сохранения исполняемого файла);
  • изменение имени финального состояния (ключа командной строки) с ansi-c на c;
  • отображение номеров строк при выводе препроцессированного кода;
  • изменение текста ошибки при включении несуществующего файла;
  • изменение имени функции GetLength() на GetSize();
  • исправлен баг с кодом завершения;
  • исправлен баг с константностью параметров функций;
  • IDE (Atom):
    • подсветка синтаксиса:
      • подсветка доступа к полям структур;
      • подсветка экранированных символов;
      • исправлена подсветка логических операторов;
      • исправлена подсветка функций;
    • поддержка автоматических отступов;
    • поддержка комментариев;
    • поддержка сниппетов кода для основных конструкций языка;
    • исправлен формат версии пакета;
  • стандартная библиотека:
    • функции для упрощения итерирования;
    • функция для поддержки переменного числа параметров функций;
    • функции для работы с массивами;
    • функции и константы для упрощения ввода/вывода;
    • дополнительные математические функции;
    • вспомогательные функции и константы.

Описание

Описание языка.

Использование

$ wb3 [options] <script-file> [<script-argument>...]

Опции:

  • -v, --version — показать версию;
  • -h, --help — показать справку;
  • -f NAME, --final-stage NAME — задаёт стадию компиляции для остановки; NAME может быть:
    • code — выводит препроцессированный код;
    • ast — выводит AST;
    • c — выводит C-код;
  • -o FILENAME, --output-file FILENAME — имя генерируемого исполняемого файла;
  • -u, --use-output — выводить результат любой из стадий компиляции, задаваемой опцией --final-stage, в файл, задаваемый опцией --output-file.

Аргументы:

  • <script-file> — путь к файлу с программой;
  • <script-argument> — аргумент программы.

Репозиторий

Ссылка: https://github.com/thewizardplusplus/wizard-basic-3/tree/v0.2.

Содержание: код, документация, инструменты (подсветка синтаксиса), стандартная библиотека и примеры.

Лицензия: MIT.