Страницы

понедельник, 6 апреля 2026 г.

Расширение командного режима

Расширены возможности кода Oberon-команд в трансляторе Восток. Эти возможности являются альтернативой частным и в то же время однообразным разборщикам параметров разных команд и создающих предпосылки для дополнительных языков вместо использования одного исходного, увеличивая совокупную сложность.

  1. Пропуск повторного упоминания имени модуля после его указания в вызове процедуры, например,
    odcey.opt(.SkipEmbeddedView + .SkipOberonComment)
    вместо
    odcey.opt(odcey.SkipEmbeddedView + odcey.SkipOberonComment)
  2. Включая цепочки вызовов процедур одного модуля, например,
    odcey.inputWindows1251.text("legacy.odc","")
    вместо
    odcey.inputWindows1251; odcey.text("legacy.odc","")
    обычная команда в shell, использующей разбор командной строки:
    odcey text -input-windows-1251 legacy.odc
  3. Использование переменных, вводимых присваиванием и указанием в качестве VAR-параметра в вызове процедуры
    a := 111; log.in(a * a)
    l := 0; log.b(Charz.CopyString(dest, l, " строка ")).s(dest).s("len = ").in(l)
  4. Доступны все операторы, а не только вызов процедур
    FOR i := 17 TO 31 DO log.i(i * i).s(" ") END; log.n
    IF OsRand.Open() & OsRand.Set(set) THEN log.setn(set) END

суббота, 21 февраля 2026 г.

odcey 0.4

После краткого перерыва вышла 0.4-я версия утилиты odcey.

  1. Добавлена опция -write-descriptors для вывода вместе с основным текстом также дескрипторов View, содержащихся в документе. Команда встраивания odcey в git использует эту опцию, чтобы сделать git diff более информативным
  2. Добавлена замена разделителей параграфов на переводы строк
  3. При записи в стандартный вывод добавлена гарантия завершения записи переводом строки
  4. Исправлен код с неправильной трактовкой формата .odc, ошибочно приписывавшего нарушение в документах, содержащих некоторые типы View.

вторник, 10 февраля 2026 г.

odcey 0.3.2

Обновлена утилита odcey — преобразователь насыщенного текстового формата BlackBox Component Builder .odc в плоский UTF-8 текст.

  1. Команда text сделана необязательной, если указано имя входного файла
  2. При встраивании в git-репозиторий непосредственное добавление в .git/config заменено на вызовы git config, производящие это более аккуратно
  3. Исправлено преобразование в Unicode некоторых литер, специфичных для однобайтовой кодировки Blackbox
  4. Исправлена ошибка невозможности редактирования .git/info/attributes, проявлявшейся только в JavaScript версии утилиты
  5. Исправлена ошибка, приводящая к избыточному выделению памяти
  6. Исправлено большое количество мелких недостатков, связанных с возможностью работы с неправильными входными файлами

понедельник, 20 октября 2025 г.

Архив блога

Создал репозиторий с содержимым этого блога — .
Также, добавил его в ipfs, где он напрямую доступен в виде сайта —
.
Содержимое основного сайта тоже доступно в ipfs —
.

вторник, 25 марта 2025 г.

odcey 0.2

Обновление утилиты odcey — преобразователя насыщенного текстового формата BlackBox Component Builder .odc в плоский UTF-8 текст.

  1. Добавлена опция «-input-windows1251» для возможности указания в качестве входной кодировки Windows-1251(кириллица) вместо Latin-1, что может быть полезно при работе со старыми руссифицированными сборками BlackBox
  2. Добавлена команда «mc» для встраивания в конфигурацию Midnight Commander

среда, 19 марта 2025 г.

Транслятор 0.0.11

Выпущено обновление с поправками и усилением транслятора в версии 0.0.11 и исправлением и расширением библиотеки по умолчанию в версии 0.0.10. Помимо deb-пакета, snap и homebrew доступна также установка через npm версии, работающей через JavaScript.

воскресенье, 8 декабря 2024 г.

Подход для безопасности по памяти в системном ЯВУ

На примере языка Oberon представлен общий подход[0], позволяющий на основе высокоуровневых средств создать безопасную по памяти программную среду, защищённую от нарушений изнутри её же средствами. Так как основная часть языка Oberon сама по себе защищена от нарушений границ, то основу предложения составляет ограничение псевдомодулей для работы с переменными с возможными нарушениями типизации, что может быть нужно в системных задачах. Ограничение позволяет сохранить общую целостность. Даже обычный интерфейс псевдомодуля SYSTEM позволяет применять схожий подход[1], но в силу несоответствия воплощения исходной простой задумке, это приводит к ограниченности применения и бо́льшим накладным расходам.


[0] github/vostok-space/безопасно-по-памяти.md
[1] проверяемые адреса при работе с SYSTEM

Расширение командного режима

Расширены возможности кода Oberon-команд в трансляторе Восток. Эти возможности являются альтернативой частным и в то же время однообразным р...