Язык для крипто-программирования

 AI Prompting

Примеры ИИ Запросов

Запрос версии 1.2 для создания интерпретатора криптографического языка программирования Oflameron в виде JavaScript, встроенного в веб страницу


Напиши HTML+JavaScript код веб-страницы с полем ввода кода (textarea), полем вывода (textarea) и кнопкой RUN.


Реализуй интерпретатор со следующими правилами:


Переменные и константы:

h, q, l, k - числовые переменные, начальное значение 0 для всех


Константы и их значения:

a=0, b=1, c=3, d=5, e=7, p=19, t=23, v=43, w=73


Обработка чисел:

Если число >127: while(num > 127) num -= 127


Если число <0: num = Math.abs(num)


Эти преобразования применяются после КАЖДОЙ математической операции к результату


Диапазон для ASCII-операций: 0-127


Допустимые операнды в операциях:

Константы: a, b, c, d, e, p, t, v, w


Переменные: h, q, l


k используется ТОЛЬКО как индекс, НЕ как операнд в вычислениях


Операторы:

fXY - умножение: h = normalize(X * Y) (k+3)


gXY - сложение: h = normalize(X + Y) (k+3)


iXY - вычитание по модулю: h = normalize(Math.abs(X - Y)) (k+3)


lX - записать в l код символа из позиции k + normalize(X) (k+2)


X - любой допустимый операнд


Если позиция вне строки > пропустить операцию


mX - вывести символ с кодом normalize(X) в поле вывода (k+2)


Выводить только если код в диапазоне 32-126 (печатные символы)


X - любой допустимый операнд


nq - заменить символ в позиции k + normalize(q) на символ с кодом normalize(h) (k+2)


Если позиция вне строки > пропустить операцию


После замены продолжать выполнение обычным образом


Общие правила:

Исполнение: строго слева направо


Указатель k: только увеличивается, никогда не уменьшается


Движение по коду:


Операторы f,g,i: k+3


Операторы l,m: k+2


Оператор nq: k+2


Любой другой символ: k+1


Обработка ошибок:


Если ожидается операнд, но символ не является допустимым > k+1, пропустить текущий символ


Пример: fgh > символ 'g' недопустим как операнд для 'f' > k+1


Неизвестные символы: любые символы, не описанные выше, просто пропускаются (k+1)


Самомодификация: код может изменять сам себя через оператор nq


Сброс состояния: при каждом нажатии RUN начинать с чистого состояния


Нормализация чисел: функция normalize(num) применяется ко всем результатам математических операций и при использовании чисел как индексов/ASCII-кодов:


javascript

function normalize(num) {

    while (num > 127) num -= 127;

    if (num < 0) num = Math.abs(num);

    return num;

}

Примеры поведения:

fbc > h = normalize(1?3) = 3, k+3


ghc > h = normalize(h + 3), k+3


lp > l = код_символа_в_позиции(k+19), k+2


ml > вывести символ с кодом normalize(l) (если 32-126), k+2


nq > code[k+normalize(q)] = символ_с_кодом normalize(h), k+2


Требования к реализации:

Чистый JavaScript, без внешних библиотек


Интерфейс: два textarea и кнопка


Защита от бесконечных циклов (максимум 100000 шагов)


Интерпретатор не должен сохранять состояние между запусками


Примечание: Интерпретатор допускает неоднозначные ситуации - обязанность контроля возлагается на программиста.


https://chat.deepseek.com/share/w5pzla3xtvoovi98ow





AI Code Generation

https://oflameron.com

https://ipfs.io/ipns/k51qzi5uqu5dk74af7m1z4s36y6xaaq7hfoc0mlfadn0fpgeje9vx2oxyofffh


Комментарии

Популярные сообщения из этого блога

Crypto Tech

Crypto Tech

Бесплатные JAVA проекты