Интерпретатор языка Brainfuck

27.08.13

Разработка - Языки и среды

Интерпретатор языка Brainfuck реализованный в виде обработки 1С.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Brainfuck
.epf 13,45Kb
2 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В мире существует огромное количество языков програмирования.

Часто их делят по области применения - общего назначенения, например С, F# или Фортран, или специализорованные, созданные для решения контретных задач или сужествующие только в определенной среде, например X++ или язык 1С. 

Так-же языки делят по виду програмирования:

  • Объектно-ориентированные (С++,  Simula)
  • Структурные (Бейсик, Фортран)
  • Декларативные (SQL)
  • Логические (Пролог)
  • Функциональные (Haskell, OCaml, F#, Lisp)
  • Императивные (Си, Модула)

Но есть языки, не имеющме практического применения, но тем не менее имеющие право на существования, один из самых известных таких языков и предлагается вашему вниманию:) 

Эзотерический язык програмирования Brainfuck. К несомненным достоинствам языка необходимо отнести его синтаксис, состоящий всего из 8 команд, при этом каждая команда кодируется всего одним символом.

 

Команда Brainfuck Описание команды
>   перейти к следующей ячейке памяти
<   перейти к предыдущей ячейке памяти
+   увеличить значение в текущей ячейке на 1
-   уменьшить значение в текущей ячейке на 1
.   ввести значение из текущей ячейки
,   ввести извне значение и сохранить в текущей ячейке
[   начало цикла, если значение текущей ячейки нуль, перейти вперёд по тексту программы на ячейку, следующую за соответствующей ]
]   окончание цикла, если значение текущей ячейки не нуль, перейти назад по тексту программы на символ [

 

Программа на языке Brainfuck, печатающая «Hello World!»:
 ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
 .>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
 ------.--------.>+.

 Не спрашивайте зачем это надо, захотелось :)

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Языки и среды Системный администратор Программист Бесплатно (free)

PowerShell. Что, зачем, как и почему? И причем тут 1С?

16.05.2021    28712    Infostart    31    

177

Языки и среды Программист Россия Абонемент ($m)

Краткий обзор русскоязычного объектно ориентированного 1С подобного языка программирования Русский Фокс.

1 стартмани

30.09.2019    6650    andreosh    21    

12

Языки и среды Программист ИТ-компания Абонемент ($m)

Реализация алгоритма трассировки лучей на новом языке программирования "Перфолента"

1 стартмани

24.07.2019    7726    vasvl123    6    

17

Инструментарий разработчика Языки и среды Программист Абонемент ($m)

Первое знакомство с новым языком программирования Перфолента. В статье описано назначение языка, причины его появления, основные характеристики и возможные варианты использования.

1 стартмани

22.07.2019    39568    150    Perfolenta    166    

157

Языки и среды Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и мы попробуем его в действии!

1 стартмани

21.06.2019    50089    Evil Beaver    158    

424

Языки и среды Программист 1С:Предприятие 8 Бесплатно (free)

Опыт создания динамического списка для обычной формы на js в html и подводных камнях, которые обязательно встретятся при написании оного.

20.02.2019    10466    ntemny    31    

46

Языки и среды Программист 1С:Предприятие 8 Россия Абонемент ($m)

Пример построения микросервисов с использованием apache kafka. Данная статья будет полезна интеграторам, программистам. Версия и релиз технологической платформы не имеет значения.

1 стартмани

27.01.2019    37065    dmarenin    73    

137

Языки и среды Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Некоторое время назад Microsoft добавила в MS SQL сервер службы машинного обучения, позволяющие выполнять программный код на языках программирования R и Python. В статье будет продемонстрирована общая схема и принцип того, как можно использовать данные службы в контексте разработки на 1С. 

1 стартмани

25.11.2018    16797    Robbi    14    

57
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ksvd 27.08.13 17:03 Сейчас в теме
Не понял, публикация в разделе =В центре внимания=, а ни одного комментария.
нормальный такой; +1 Ответить
4. нормальный такой 93 27.08.13 23:17 Сейчас в теме
(1) ksvd, просто кто бы понимал зачем это и что это ))

ну раз автор говорит - "захотелось"
против лома не приема))

можно загадки на собеседовании задавать, мол напишите "preved medved" на брэйфаке
+ будет считаться хоть какая то попытка))
2. iov 408 27.08.13 17:21 Сейчас в теме
1000 символов кода и возглас программиста
лять я в условии ошибся
sdwggg; Kuzja_R; +2 Ответить
3. andrewks 1381 27.08.13 17:36 Сейчас в теме
Не спрашивайте зачем это надо, захотелось :)


блин, только захотел спросить, зачем, и прочитал это :(
5. tolyan_ekb 80 28.08.13 08:39 Сейчас в теме
Почему нет комментариев к представленному коду? Это же не есть хорошо.
6. ssn5810 28.08.13 08:43 Сейчас в теме
все может случится в этом МИРЕ
7. serkus 28.08.13 08:49 Сейчас в теме
11. Ilyabaykov 121 28.08.13 12:27 Сейчас в теме
(7) serkus, Ну не все-же работать, можно иногда и фигней пострадать.
Сам язык придумал не я, но как-то наткнулся на его описание скачал интерпретатор и понял что без отладчика не могу и двух строчек написать и вот интерпретатор с возможностью пошагового выполнения перед вами.
8. Serj1C 484 28.08.13 09:02 Сейчас в теме
Хорошо было бы поставить ОбработкуПрервыванияПользователя() для случая бесконечного цикла
9. CagoBHuK 33 28.08.13 11:26 Сейчас в теме
Плюсик просто за то, что мыслишь нестандартно. http://www.rsdn.ru/article/philosophy/languages.xml - для дальнейшего познания. Еще вот: http://www.xappsoftware.com/wordpress/2011/10/02/brainfuck-for-arduino/
10. Ilyabaykov 121 28.08.13 12:20 Сейчас в теме
(9) CagoBHuK, Отличные ссылки, спасибо :)
12. DmitryKishkin 28.08.13 13:23 Сейчас в теме
Прочитал заголовок статьи - подумал, что это теперь официальное название языка 1С... ;-)
13. dmpas 419 28.08.13 13:51 Сейчас в теме
<зануда>И за это люди рейтинг получают...</зануда>
Видал я мастеров брэйнфака, загадочные парни... Даёшь Снегофак с контекстной подсказкой и анализатором кода!
adhocprog; Evil Beaver; +2 Ответить
14. AzagTot 41 28.08.13 22:19 Сейчас в теме
Где язык Brainfuck используется?
Приведите, пожалуйста, примеры практического применения.
18. Ilyabaykov 121 29.08.13 11:58 Сейчас в теме
(14) AzagTot, ну вообще эзотерические языки не предназначены для практического использования.
Язык brainfuck был вдохновлен языком FALSE, который в свою очередь основан на вполне нормальном языке Forth но спроектирован так, что-бы компилятор занимал не более 1024 байт. Самый маленький компилятор для brainfuck занимает 166 байт. Так-же стоит сказать, что brainfuck при бесконечном количестве ячеек памяти имеет тьюринговскую полноту.
15. Sintson 414 29.08.13 09:42 Сейчас в теме
Мусье знает толк в извращениях! ;)
=Kollega=; +1 Ответить
16. dmpas 419 29.08.13 10:53 Сейчас в теме
(15) Sintson, мусье-то, видимо, только вступил во "взрослую жизнь".
Толк вот тут: http://habrahabr.ru/search/?q=brainfuck

(Да простят меня модераторы за ссылку)
Evil Beaver; +1 Ответить
17. Ilyabaykov 121 29.08.13 11:35 Сейчас в теме
(15) Sintson, Brainfuck это цветочки, а вы попробуйте на Malbolge что-нибудь написать :)
19. Sasha255n 29.08.13 12:15 Сейчас в теме
Да очень любопытная вещь
20. Evil Beaver 8381 31.08.13 19:22 Сейчас в теме
Чем бы дитя ни тешилось, лишь бы доработки типовых не делало на brainfuck
21. adhocprog 1129 04.09.13 15:32 Сейчас в теме
Улыбнуло )
По-моему, "ничего не делать" полезнее, чем программировать на Brainfuck'е :)
22. Ilyabaykov 121 04.09.13 16:35 Сейчас в теме
(21) adhocprog, лучший отдых - это смена деятельности :)
adhocprog; +1 Ответить
23. adhocprog 1129 04.09.13 16:46 Сейчас в теме
24. so-quest 140 03.10.13 23:46 Сейчас в теме
:) осталось только автоматический перевод кода из 1с в брейнфак сделать (а лучше в вайтспейс) - и никаких защит будет не надо :)
открываеь код модуля а там только плюсики :)
Для отправки сообщения требуется регистрация/авторизация