Brainfuck
Brainfuck (аз англ. brain+fuck) — яке аз забонҳои машҳури эзотерикӣ мебошад ва ин забонро Урбан Мюллер (Urban Müller) соли 1993 ихтироъ кардааст. Забон ҳамагӣ 8 фармон дорад, ки ҳар кадомаш бо як рамз ифода меёбад. Коди ибтидоӣ дар забони Brainfuck аз пайдарпаии ин рамзҳо бе ягон имлои иловагӣ иборат аст.
8 фармони забони Brainfuck: | ||
> | гузаштан ба катаки оянда | |
< | гузаштан ба катаки пешина | |
+ | қиммати катакро 1-то зиёд кардан | |
- | қиммати катакро 1-то кам кардан | |
. | қиммати катакро чоп кардан | |
, | аз берун қимматеро дохил карда ба катак захира кардан | |
[ | агар қиммати катак ба сифр баробар бошад, гузариш ба пеш ба катаки мувофиқи матни барнома ] (кодҳои дохили якдигар ба ҳисоб гирифта мешаванд) | |
] | агар қиммати катак ба сифр баробар набошад, гузариш ба қафо ба катаки мувофиқи матни барнома ] (кодҳои дохили якдигар ба ҳисоб гирифта мешаванд) |
Забони Brainfuck-ро бо воситаи эквивалентҳои забони Си ифода намудан мумкин аст (тахмин карда мешавад, ки тағйирёбандаи ptr ҳамчун нишондиҳанда ба байт гирифта шудааст):
фармони Brainfuck | эквиваленташ дар Си |
---|---|
> |
++ptr;
|
< |
--ptr;
|
+ |
++*ptr;
|
- |
--*ptr;
|
. |
putchar(*ptr);
|
, |
*ptr=getchar();
|
[ |
while (*ptr) {
|
] |
}
|
Бо вуҷуди соддагии забони Brainfuck бо маҷмӯи беохири катакҳо ин забон дорои пуррагӣ аз рӯи Тюринг аст, пас, аз рӯи имкониятҳои худ ба забонҳои «ҳақиқӣ» ҳамчун Си, Паскал ё Java гузашт намекунад.
Brainfuck-ро барои таҷрибаҳо дар барномасозии генетикӣ аз рӯи соддагии имло ва навиштани коди ибтидоӣ истифода бурдан мумкин аст.
Дар забони "классикии "Brainfuck, ки Мюллер тавсиф намудааст, андозаи катак — як байт ва шумораи катакҳо бошад 30000 буд. Дар ҳолати ибтидоӣ нишондиҳанда дар мавқеи аз ҳама чап воқеъ шуда, катакҳои боқимонда бо сифрҳо пур кардашудаанд.
Мисоли барнома
[вироиш | вироиши манбаъ]Барномасозӣ бо забони Brainfuck
[вироиш | вироиши манбаъ]Пайвандҳо
[вироиш | вироиши манбаъ]- Тавсифи BF бо забони англисӣ ва пайвандҳо ба BF-манбаҳо Бойгонӣ шудааст 24 марти 2006 сол.
- Brainfuck interpreter with integrated debugger (IDE) for Windows Бойгонӣ шудааст 10 Декабри 2005 сол.
- Гурӯҳи дӯстдорони забонҳои эзотерикии барномасозӣ
- мақола дар rsdn.ru дар бораи забонҳои эзотерикии барномасозӣ
- Processing_BF Бойгонӣ шудааст 2 ноябри 2007 сол. — интерпретатори оптимизациякунанда ва транслятор дар PHP, бо забони PHP навишта шудааст
- BrainfuckInterpreter — интерпретатори оптимизациякунанда бо забони Java навишта шудааст
- esco - интерпретатори ҳаматарафаи забонҳои эзотерикии барномасозӣ
- Интерпретатори brainfuck бо забони JavaScript навишташуда Бойгонӣ шудааст 29 сентябри 2007 сол.
![]() |
Ин мақолаи хурд аст. Бо густариши он ба Википедия кӯмак кунед. Дар сурати имкон ин ёддошт бояд дақиқтар ҷойгузин шавад. |