Битник (язык программирования)
Парадигма | Стек-ориентированный |
---|---|
Разработано | Клифф Л. Биффл |
Разработчик | Клифф Л. Биффл |
Впервые появился | 2001 год |
ТЫ | Кросс-платформенный |
Веб-сайт | скала |
Под влиянием | |
л33т [1] |
Beatnik — это простой стек-ориентированный эзотерический язык программирования , созданный Клиффом Л. Биффлом. Программа битников состоит из любой последовательности английских слов. Каждому слову присваивается балл, который можно получить за него в игре «Эрудит» . Значение балла определяет, какая функция выполняется. Функции включают в себя помещение оценки следующего слова в стек, тестирование стека, переход вперед или назад в программе и другие операции со стеком. [2] [3] [4] [5] [6] [7] [8]
Обзор
[ редактировать ]Разметка
[ редактировать ]Переводчик читает слова в стихотворении , игнорируя знаки препинания, пробелы и символы новой строки . Некоторые функции состоят из одного слова, другие имеют аргумент (это функции из двух слов ). Двухсловные функции описываются ниже в виде " 5,n
". Это означает как слово, значение которого равно 5, так и следующее слово (значение которого равно ' n
') читаются. [2] [3]
Значение слова | Псевдокод | Описание |
---|---|---|
<5 | NOOP
|
Необязательно: переводчик может посмеяться над вами. |
5,н | push(n)
|
Поместите значение следующего слова в стек. |
6 | pop()
|
Вытащите число из стека и сбросьте его. |
7 | push(pop()+pop())
|
Вставьте два числа, сложите их и нажмите результат. |
8 | push(input())
|
Введите символ и введите его значение. |
9 | print(pop())
|
Введите число и выведите его как символ. |
10 | push(pop()-pop())
|
Вставьте два числа, вычтите первое из выпавших чисел из второго и нажмите результат. |
11 | a = pop(); b = pop(); push(a); push(b)
|
Вставьте два числа, поменяйте их местами и верните обратно. |
12 | a = pop(); push(a); push(a)
|
Введите номер и нажмите его дважды. |
13,н | if(top()==0) jump(+n)
|
Вставьте число и пропустите вперед n (на самом деле n+1 ) слов, если число равно нулю. |
14,н | if(top()!=0) jump(+n)
|
Вставьте число и пропустите вперед n (на самом деле n+1 ) слов, если число не равно нулю. |
15,н | if(top()==0) jump(-n)
|
Вставьте число и пропустите n слов назад, если число равно нулю. |
16,н | if(top()!=0) jump(-n)
|
Вставьте число и пропустите n слов назад, если число не равно нулю. |
17 | exit()
|
Остановите программу. |
18-23 | NOOP
|
Необязательно: может посмеяться над вами, но только если у него был плохой день. |
>23 | — | Вызывает «аплодисменты битников». |
Псевдокод | Значение |
---|---|
NOOP
|
Нет операции |
pop()
|
удалить значение из вершины стека и вернуть его |
push(x)
|
поместить x в стек |
print(x)
|
напечатайте символ х |
input()
|
прочитать символ от пользователя. Блокируется до тех пор, пока символ не будет прочитан. |
;
|
разделяет несколько операторов. Они выполняются по порядку. |
if(expression) statement
|
тогда и только тогда, когда выражение истинно, выполните оператор |
jump(x)
|
переместить место чтения вперед или назад на x слов. |
Вот значения букв скрэббла для справки.
Примеры
[ редактировать ]Привет, мир
[ редактировать ]Пример « Hello World » на языке битников. [9]
Soars, larkspurs, rains. Indistinctness. Mario snarl (nurses, natures, rules...) sensuously retries goal. Agribusinesses' costs par lain ropes (mopes) autos' cores. Tuner ambitiousness. Flit. Dour entombment. Legals' saner kinking lapse. Nests glint. Dread, tied futures, dourer usual tumor grunts alter atonal garb tries shouldered coins. Taste a vast lustiness. Stile stuns gad subgroup gram lanes. Draftee insurer road: cuckold blunt, strut sunnier. Rely enure pantheism: arty gain groups (genies, pan) titters, tattles, nears. Bluffer tapes? Idle diatom stooge! Feted antes anklets ague? Remit goiter gout! Doubtless teared toed alohas will dull gangs' aerials' tails' sluices; Gusset ends! Gawkier halo! Enter abstruse rested loser beer guy louts. Curtain roams lasso weir lupus stunt. Truant bears animate talon. Entire torte originally timer. Redo stilt gobs. Utter centaurs; Urgent stars; Usurers (dilute); Noses; Bones; Brig sonar graders; Utensil silts; Lazies. Fret arson veterinary rows. Atlas grunted: "Pates, slues, sulfuric manor liaising tines, trailers, rep... unfair! Instant snots!" Sled rested until eatery fail. Ergs fortitude Indent spotter Euros enter egg. Curious tenures. Torus cutlasses. Sarong torso earns cruel lags it reeled. Engineer: "Erase handbag -- unite ratification!" oaring oaten donkeys unsold, surer rapid saltest tags BUTTERED TIBIA LUGS REWIRING TOILETS anion festers raring edit epilogues. DIRGE ROTOR. linnet oaring. GORE BOOTIES. Ironed goon lists tallest sublets -- Riots, Raucous onset. Ignobly, runners' diet anguishes sunrise loner. Erode mob, slier switcher! Loaners stilt drudge pearl atoll, risking hats' ends. Rebind sitters. Toga epistles -- crud lard. (Pager purse dons souls.) glob title a curio hired rites shed suds lade grease strut arctic revs toad unless idlers rind stilt region land GERMICIDES SULTANA GUTS gill siting leans nice spurs tests gloves roused asp Holes! Moles! (Sores!) Hygienists! Scars! (Asses!) Smells spell rares. Cubs instant sing in parse goodies. Rosin. Unhelpful sisal acres. Slope told. MALENESS PASTA LAB. "Infirmary vine," rang illiterates (beans). Rosin sours, insults truss abalones, nailed rules, helical atlases. Dear remodeling stings mar rents. Sunless shiner orb (silly idol.) Clarity disses senna. Vagabonds sauted; sloes performed gelds. Alter post radial lip sectioning gums. Saint Towellings. Larger aeons telephone stolid char, pal! Boats Dean forsook, rosters, tunas, terrariums -- united, traced. Nude pagoda careens.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Язык программирования l33t» . www.oocities.org . Проверено 23 марта 2016 г.
- ^ Перейти обратно: а б «Битник-Эсоланг» . esolangs.org . Проверено 23 марта 2016 г.
- ^ Перейти обратно: а б Биффл, Клифф (19 мая 2001 г.). «Битник – cliffle.com» .
- ^ Группа, Книги (01.07.2010). Эзотерические языки программирования: Intercal, Brainfuck, Befunge, язык программирования Шекспира, Whitespace, Ook!, Beatnik, Piet, Malbolge, Chef (на немецком языке). ООО «Дженерал Букс». ISBN 9781158960996 .
- ^ «Битник | Технологии кошачьего глаза» . catseye.tc . Проверено 25 марта 2016 г.
- ^ «Битник» . wiki.tcl.tk. Проверено 25 марта 2016 г.
- ^ «Acme::Beatnik — search.cpan.org» . search.cpan.org . Проверено 25 марта 2016 г.
- ^ Палок-Берже, Камилла (1 января 2009 г.). Поэтика кодов компьютерной сети (на французском языке). Издания современных архивов . ISBN 9782914610704 .
- ^ «Программа Hello world на эзотерических языках – Эсоланг» . esolangs.org . Проверено 23 марта 2016 г.