Ҷаҳиш ба мӯҳтаво

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

[вироиш | вироиши манбаъ]