Brainfuck

Brainfuck

Brainfuck

Brainfuck
Paradigma: Esotérico
Apareció en: 1993
Diseñado por: Urban Müller
Implementaciones: Múltiples
Influido por: Máquina de Turing, P′′
Ha influido a: Ook!, Tink

Brainfuck (jodecerebros), es un lenguaje de programación esotérico, diseñado por Urban Müller en 1993, con el objetivo de hacer un lenguaje que fuera a la vez muy simple, Turing completo y que requiriese un compilador pequeño. Müller basó Brainfuck en la máquina de Turing y le sirvió de inspiración el compilador de 1024 bytes de tamaño del lenguaje FALSE.

La distribución clásica es la versión 2 escrita por el propio Müller, conteniendo un compilador para el ordenador Amiga, un intérprete, programas de ejemplo y un documento "readme".

Contenido

Diseño del lenguaje

El lenguaje se basa en un modelo de ejecución simple que consiste, además del programa, de un array de (al menos) 30.000 bytes inicializados a cero, un puntero sobre ese array (que al comienzo de la ejecución apunta al primer elemento del array) y dos "corrientes" de bytes para la entrada y la salida.

Las Instrucciones

Hay sólo ocho instrucciones, y todas son de un carácter.

Caracter Significado
> Incrementa el puntero.
< Reduce el puntero.
+ Incrementa el byte apuntado.
- Reduce el byte apuntado.
. Introduce el byte apuntado en la corriente de salida.
, Toma como valor del byte actualmente apuntado el provisto por la corriente de entrada.
[ Avanza a la instrucción inmediatamente posterior al ] correspondiente si el byte actualmente apuntado es nulo.
] Retrocede a la instrucción inmediatamente posterior al [ correspondiente si el byte actualmente apuntado no es nulo.

Traducción al lenguaje de programación C

Los programas de Brainfuck se pueden traducir a C con estas substituciones, suponiendo que ptr sea del tipo unsigned char*. Sin embargo, poseen sus propios traductores.

Brainfuck C
> ++ptr;
< --ptr;
+ ++*ptr;
- --*ptr;
. putchar(*ptr);
, *ptr = getchar();
[ while (*ptr) {
] }

Un "Hello world" en Brainfuck

Este sería el típico programa que escribe "Hola mundo!"

++++++++++
[              Bucle para iniciar las memorias (se repite 10 veces)
   >+++++++>++++++++++>+++++++++++>+++>+<<<<<-
      70        100       110      30  10
]
>++.              imprime 'H'   (72) 1
>>+.              imprime 'o'  (111) 3
---.                      'l'  (108) 3
<---.                     'a'   (97) 2
>>++.                   espacio (32) 4
<+.                       'm'  (109) 3
++++++++.                 'u'  (117) 3
-------.                  'n'  (110) 3
<+++.                     'd'  (100) 2
>+.                       'o'  (111) 3
>+.                       '!'   (33) 4
>.                   nuevalínea (10) 5

Enlaces externos

Implementaciones

Obtenido de "Brainfuck"

Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Brainfuck — Класс языка: эзотерический Появился в: 1993 Автор(ы): Урбан Мюллер Диалекты: BrainSub, Brainfork, Brainloller, COW, Ook, Pbrain, Smallfuck, Spoon, LOLCODE, Whitespace,DoubleFuck, Feckfeck Испытал влияние …   Википедия

  • Brainfuck — ist eine so genannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und ineffizient …   Deutsch Wikipedia

  • Brainfuck 2D — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

  • Brainfuck — est un langage de programmation minimaliste, inventé par Urban Müller en 1993. Il tire son nom de l’union de deux mots anglais, brain (cerveau) et fuck (foutre), allusion transparente à l expression « masturbation intellectuelle ». Ce… …   Wikipédia en Français

  • Brainfuck — (jodecerebros) es un lenguaje de programación esotérico, diseñado por Urban Müller en 1993, con el objetivo de hacer un lenguaje que fuera a la vez muy simple, Turing completo y que requiriese un compilador pequeño. Müller basó Brainfuck en la… …   Enciclopedia Universal

  • Brainfuck — Not to be confused with Brain Fuck Scheduler. brainfuck Paradigm(s) esoteric Appeared in 1993 Designed by Urban Müller Influenced by P′′, FALSE Usual filename extensions …   Wikipedia

  • brainfuck — noun A minimalist esoteric programming language, created for amusement, in which every basic machine instruction is represented by a single character …   Wiktionary

  • Brainfuck — ● np. m. ►LANG Langage de programmation conçu à l origine par Urban Müller sur Amiga, implémentant une machine de Turing à huit instructions. Le compilateur tenait en 240 octets... Aussi orthographié Brainf*ck , pour ne pas choquer certaines… …   Dictionnaire d'informatique francophone

  • Brainf*ck — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

  • Brainfuck2D — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”