Показать меню

Befunge

Befunge — стековый эзотерический язык программирования. Считается двумерным, так как программа на Befunge записывается в таблицу со сшитыми краями (тор), по которой в различных направлениях перемещается интерпретатор, исполняя команды, расположенные в её ячейках. Название языка родилось из опечатки в слове «before».

Первая версия языка Befunge была создана Крисом Пресси в 1993 году. Как утверждал автор, его целью было разработать язык, максимально сложный для компиляции. Сложность обеспечивается командами p и g, модифицирующими текст программы.

Версия Befunge-93 ограничена таблицей 25X80 (стандартный размер текстового экрана) и потому не обладает тьюринговской полнотой. Befunge на бесконечной таблице полон по Тьюрингу.

Все одномерные языки программирования требуют некоторых синтаксических различий между комментариями и исходным кодом. В языке Befunge нет особого синтаксиса для комментариев, чтобы вставить документацию в код, программист просто «обводит» управление вокруг области комментария.

Система команд Befunge

Ниже перечислены команды языка Befunge. Каждая команда кодируется одним ASCII-символом. Для стековых операций в скобках дан их эквивалент в языке Forth. Команды, берущие параметры из стека, удаляют их со стека.

Примеры программ

Бесконечный цикл:

>v ^<

Программа, печатающая «Hello, World!»:

> v @,,,,,,,,,,,,"Hello World!"<

Генератор случайных чисел:

vv < < 2 ^ v< v1<?>3v4 ^ ^ > >?> ?>5^ v v v9<?>7v6 v v< 8 . > > ^ ^<

Вывод первых 14 (от 0 до 233) чисел Фибоначчи:

62*1+v>01p001>+v>:02p:02gv 0 ^ < . :p " .1 v 0," "<0 " >1g12-+:| , @ >^


Еще по этой теме:
Компилируемый язык программирования
06:00, 28 апрель
Компилируемый язык программирования
Компилируемый язык программирования — язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл с особым заголовком и/или расширением для
Составной оператор
09:00, 04 октябрь
Составной оператор
Составной оператор — конструкция языка программирования, состоящая из нескольких команд (операторов) языка программирования, но участвующая в программе в качестве единого оператора. Определение
Гомоиконичность
18:00, 01 август
Гомоиконичность
Гомоиконичность (гомоиконность, англ. homoiconicity, англ. homoiconic, от греч. ὁμός — равный, одинаковый + «иконичность» — отношение подобия между знаком и объектом, на который данный знак указывает
QuakeC
12:45, 11 декабрь
QuakeC
QuakeC — интерпретируемый язык программирования, разработанный в 1996 году Джоном Кармаком (id Software) для написания части компьютерной игры Quake. Используя QuakeC, программист имеет возможность
Turbo Delphi
21:52, 08 декабрь
Turbo Delphi
Turbo Delphi — интегрированная среда разработки (IDE), разработанная компанией CodeGear, ориентированная в первую очередь на студентов, индивидуальных пользователей и программистов-любителей.
Visible Pascal
19:58, 03 декабрь
Visible Pascal
Visible Pascal — интерпретатор языка программирования Pascal, выпущенный в 1984 году. Распространялся по модели добровольных пожертвований от пользователей автору (Donationware). Работал на
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail: