Вопросы с тегом «interpreter»

18
Построить переводчик для несуществующего языка

Создайте интерпретатор для поддельного стекового языка, который получает входные данные, интерпретирует их и выводит результат в виде массива чисел. Он должен перебирать каждый байт и выполнять разные функции на основе этой таблицы: 0000 (0): объединить (объединить два верхних числа в стеке, как...

18
Суммируя? Это моя сильная сторона!

Вступление Форте - это очень своеобразный эзотерический язык, основанный на концепции изменения значений чисел. В числах Forte не константы, а переменные, вы можете использовать LETинструкцию, чтобы назначить им новые значения. Например, после выполнения LET 2=4-1отныне 2принимает значение 3, что...

17
Найти шаблоны в строках

В этой задаче ваша задача - найти подстроки с заданной структурой. вход Ваш ввод должен состоять из двух непустых буквенно-цифровых строк, шаблона p и текста t . Идея состоит в том, что каждый символ pпредставляет собой непрерывную непустую подстроку, tкоторая находится рядом друг с другом, и...

17
Самый маленький интерпретатор байт-кода / VM

Таблица лидеров - JIT скомпилировано (чем ниже, тем лучше) es1024 - 81,2 балла (включая работающий компилятор!) Кит Рэндалл - 116 очков Элл - 121 очко Таблица лидеров - Интерпретируется (чем ниже, тем лучше) Мартин Бюттнер - 706654 балла (где-то около 2 часов). криптих - 30379 баллов (97 секунд)...

17
Напишите переводчик для моего эзотерического языка Jumper

Я придумал эзотерический язык Jumper. Позже вы поймете, почему. Он работает с оперативной памятью с байтами в качестве ячеек. ОЗУ проиндексировано нулями и изначально заполнено нулями. При попытке доступа к ячейкам с отрицательными индексами должна отображаться ошибка и программа завершается. При...

16
Сделайте BackFlip для ais523!

Эта задача является призом для ais523 за победу в категории « Новичок года » в номинации « Лучший из PPCG 2016 ». Поздравляем! BackFlip - это эзотерический язык программирования, созданный пользователем ais523 , который создал более 30 других интересных эзолангов . BackFlip это 2D-язык, как Befunge...

16
Визуализируйте длинное деление с помощью ASCII art

Напишите программу, которая визуализирует длинное деление с помощью ASCII art. Ввод состоит из двух целых чисел, числителя и знаменателя, используя формат ввода по вашему выбору. Примеры: 1234 ÷ 56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012 ÷ 12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60...

16
Реализуйте Anyfix Notation!

В префиксной нотации оператор стоит перед аргументами, так что вы можете себе представить, что оператор вызывает next()рекурсивный вызов. В инфиксной нотации оператор идет между аргументами, поэтому вы можете представить его просто как дерево разбора. В постфиксной нотации оператор следует за...

15
Реализовать Glob Matcher

Реализуйте функцию шаблона и строки для сопоставления, верните true, если шаблон соответствует всей строке, в противном случае - false. Наш синтаксис шаблона глобуса: ? соответствует любому персонажу + соответствует одному или нескольким символам * соответствует нулю или более символов \ ускользает...

15
Интерпретировать + р код

Вдохновленный недавним увлечением еще двумя языками персонажей, ;# вступление Согласно общему мнению , приемлемые ответы на этом сайте должны использовать языки программирования, которые, как минимум: Можно определить, является ли натуральное число простым Можно добавить два натуральных числа...

15
Симулятор машины Тьюринга

Напишите симулятор машины Тьюринга . Для простоты мы можем принять статусы как целое число, символы как символ, пустой символ равен пробелу 5-кортеж в виде текущего состояния, входного символа, следующего состояния, выходного символа, направления (влево или вправо), порядок не обязателен, но...

14
Интерпретировать StackyMath!

Пора вам реализовать мой новый язык на основе стека! Это называется StackyMath. Это будет основанный на стеке язык с 8 операциями над стеком и способами добавления чисел в стек. Список операций: /: Отдел. Выполняется 2 верхних номера стека. Откладывает результат обратно в стек. *Умножение....

14
Это почти Лисп!

Вызов Ваша задача состоит в том, чтобы разработать переводчик для языка, похожего на шутки , который в дальнейшем будет придуман: GLisp . Программный код для GLisp будет состоять из произвольного количества вложенных выражений, обозначенных скобками, в следующем виде: (func arg1 arg2 ...) Обратите...

14
Имитация системы циклических тегов

Система циклических тегов - это крошечная, полная по Тьюрингу вычислительная модель, состоящая из двухсимвольного алфавита (я буду использовать {0,1}), конечного непустого циклического списка произведений , состоящих из этих двух символов, и неограниченного слова, которое также состоит из эти два...

14
Имитация любого 1D клеточного автомата

Соревнование Вы должны написать полную программу, которая берет семь чисел из STDIN и печатает двумерную историю клеточного автомата (CA) в STDOUT. Это код гольф. Форматирование ввода На входе будет семь целых чисел / строк, разделенных запятыми. Первое число - это номер правила в соответствии с...

13
Разрешить макропеременные SAS

Язык программирования SAS - это неуклюжий, архаичный язык, созданный еще в 1966 году и до сих пор используемый сегодня. Оригинальный компилятор был написан на PL / I , и в действительности большая часть синтаксиса происходит от PL / I. SAS также имеет препроцессор язык макросов , которая вытекает...

13
Продукты Фибоначчи

Вы можете разложить число больше 0 как уникальную сумму положительных чисел Фибоначчи. В этом вопросе мы делаем это путем многократного вычитания максимально возможного положительного числа Фибоначчи. Например: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 Теперь я называю...

13
Гольф Фиолетовый Переводчик

Гольф Фиолетовый Переводчик Фиолетовый - это esolang, который предназначен для двух основных целей: Чтобы минимизировать баклажаны , так как не хватает самоизменяющихся языков с одной инструкцией. Чтобы допустить возможность ужасно маленьких переводчиков гольфа. Мой первый проход к достаточно...

13
Реализовать эмулятор универсальной машины

Цель состоит в том, чтобы написать полную программу, эмулирующую Universal Machine из ICFP 2006, с самым коротким кодом. Универсальная машина имеет очень простой набор инструкций, описанный здесь . Эмулятор должен прочитать имя файла из аргумента командной строки и запустить файл как программу,...

13
Битовые операторы в Brainfuck

Ваша задача состоит в том, чтобы создать одну программу brainfuck для каждого из следующих бинарных операторов. Каждая программа должна взять одно или два 8-битных числа (A и B) из ввода и вычислить указанную операцию: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A Вам не нужно...