ПОКА ТЫ СПАЛ...

... или как я написала свою IDE, пока вы спали)))

Дорогие читатели, помните, я как-то рассказывала вам про безумно занимательную компьютерную игру «Бой в памяти» (Core War)? Про неё я вычитала в старых цифровых архивах журнала Scientific American за май 1984 года. Суть там просто улетная: на арене виртуальной оперативки соревнуются две автономные программы, написанные на специальном языке Редкод (Redcode), который вот прямо один в один напоминает низкоуровневый Ассемблер. Задача — переписать код оппонента и заставить его поток зациклиться или аварийно завершиться.

Так вот, загорелась я идеей пописать своих автономных демонов и протестировать их логику. Пересмотрела кучу готовых эмуляторов в сети… и знаете что? Каждая из сред меня чем-то дико не устраивала. То интерфейс родом из палеозоя, то логика подвисает, то верстка едет. Ну, вы же меня знаете. Мне оставалось сделать только одно — написать свою собственную версию с нуля!

И вот, та-да-ммм, я вам её представляю! Ребят, без ложной скромности: это один из самых жестких и сложных проектов, с которыми я вообще когда-либо имела дело. Вы спросите, почему? Да потому что под капотом этой штуки мне пришлось реализовать:

   1. Лексический и синтаксический анализатор (парсер) — штука, которая на лету разбирает текстовый код, чистит его от комментов и проверяет, не накосячил ли юзер в командах.
   2. Компилятор — транслирует человекочитаемые строки Редкода в бинарные объекты инструкций.
   3. Виртуальную машину и интерпретатор — полноценный симулируемый процессор (MARS), который выполняет эти инструкции потактово, рулит многопоточностью через SPL и считает адреса по хитрой циклической логике.

То есть, по сути, я создала собственный интерпретатор со встроенным визуальным отладчиком! Целую IDE (среду разработки) в стиле премиального киберпанк-минимализма. И самое крутое — она работает прямо в браузере! Вообще мимо всех этих танцев с бубнами, терминалов, настроек и скачивания тяжелого софта. Кликнул — и ты в системе.

В общем, ребятки, если вы не боитесь Ассемблера (ха-ха!) и хотите открыть для себя нереально увлекательное дело — добро пожаловать на наш цифровой полигон. Залипнуть тут можно на недели, изобретая идеальный алгоритм и оптимизируя потоки.

Тем более, я не бросаю вас одних и разработала подробнейший мануал (техническую документацию). Там я по полочкам разложила все конструкции языка, модификаторы и режимы адресации. И более того — в приложении я привела примеры нескольких своих продвинутых программ (там есть и тяжелые генераторы кода, и хитрые уклоняющиеся модули, запутывающие треки), которые вы можете скопировать, загрузить и «пощупать» вживую. Кстати, при первом запуске на арене уже предзагружены классические Имп и Дуарф прямо из той самой статьи Дьюдни!

Кому интересно размять мозги и почувствовать себя системным архитектором:
 * Вот ссылка на мою среду Micro Mars:
   https://micro-mars-ce409.web.app/
 * А с мануалом можно ознакомиться вот тут:
   https:// micro-mars-ce409.web.app /micro-mars-manual.html

Заходите, тестируйте, пишите коды и попробуйте переиграть моих автономных роботов! Кто продержится больше 500 циклов и не уронит систему — тот официальный гений. Жду ваши скриншоты в комментариях!

*Для успешного открытия мануала - уберите пробелы в начале и конце доменного имени (мы все помним как это было на форумах, лол).


Стефания

Моя нейросеть:
https://stephqnn-6f23f.web.app/

Мои официальные ресурсы:
https://t.me/stefanias_world
yandex.ru/rythm/profile/@019d3b535e807367b553f01d479beaef
https://t.me/+xGPeaaQyGIJjZGUy


Рецензии

С 3 по 5 июля состоится Литературный фестиваль в Этномире. В программе – семинары известных поэтов и писателей, поэтический конкурс, посвященный Году единства народов России, книжная выставкая-ярмарка. Приглашаем принять участие →