Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Brainfuck - Wikipedia, la enciclopedia libre

Brainfuck

De Wikipedia, la enciclopedia libre

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.

Tabla de contenidos

[editar] 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.

[editar] Las Instrucciones

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

Carácter Significado
> Incrementa el puntero.
< Decrementa el puntero.
+ Incrementa el byte apuntado.
- Decrementa 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.

[editar] Traducción al lenguaje de programación C

Las programas de Brainfuck se pueden traducir a C con estas substituciones, suponiendo que ptr sea del tipo unsigned char*.

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

[editar] Un "Hello, world" en Brainfuck

Este sería el típico programa que escribe "Hello, world"

++++++++++
[                   Bucle para iniciar el vector
   >+++++++>++++++++++>+++>+<<<<-
]
>++.              imprime 'H'
>+.               imprime 'e'
+++++++.                  'l'
.                         'l'
+++.                      'o'
>++.                      espacio
<<+++++++++++++++.        'W'
>.                        'o'
+++.                      'r'
------.                   'l'
--------.                 'd'
>+.                       '!'
>.                        nuevalínea

[editar] Enlaces externos

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com