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 сол.
Ин мақолаи хурд аст. Бо густариши он ба Википедия кӯмак кунед. Дар сурати имкон ин ёддошт бояд дақиқтар ҷойгузин шавад. |