iHeadAche
- Version : 1.1 (Septembre 2007)
- Gratuitiel pour :
- Langue :
- Ecran :
- Fichier téléchargeable : iheadache.zip (91 Ko)
iHeadAche est un autre de mes petits exercices de style, le développement d'un interpréteur BrainF*ck pour Palm en utilisant
iziBasic.
Qu'est ce que iHeadAche ?
Note : la population concernée par ce genre de "joujou" étant principalement la communauté des développeurs, la langue usuelle de travail de cette communauté étant l'anglais, je vous prie de bien vouloir me pardonner de ne pas avoir pris le soin de traduire en français le reste de cette page (mais si quelqu'un souhaite le faire, il sera le bienvenu !).iHeadAche is an interpreter for the BrainF*ck esoteric language.
iHeadAche can also convert a BrainF*ck source code to an
iziBasic source code for being then compiled with
iziBasic.
iHeadAche was itself written in
iziBasic for Palm.
Its source code is to be found in the ZIP file you downloaded (please read the Installing iHeadAche paragraph).
BrainF*ckBrainF*ck was created by Urban Mueller for the Amiga OS 2.0, and he wrote an assembler compiler which was only 240 bytes long!
This tiny language has only 8 instructions (yes, only 8!) but it still is Turing complete, meaning that any computable calculation can be computed using it.
The BrainF*ck operators are:
< | decrements the pointer |
> | increments the pointer |
+ | increments the pointed byte |
- | decrements the pointed byte |
. | outputs the pointed byte |
, | reads a byte from the input and stores it at pointed byte |
[ | jumps to matching ] if the pointed byte is null |
] | jumps to matching [ if the pointed byte is not null |
Note: bytes (8 bits integers) can be replaced by 16 bits integers as an option in iHeadAche
Knowing this, the BrainF*ck source code for the classical 'Hello World' sample program, which does nothing else but to display 'Hello World' on the screen, is:
++++++++[>+++++++++<-]>.<+++++[>++++++<-]>-.+++++++..+++.<++++++++[>>++++<<-]>>.<<++++[>------<-]>.<++++[>++++++<-]>.+++.------.--------.>+. |
This seems quite weird... But, do not be afraid by this first feeling, please read below!
Plenty of resources and web sites made by people who like BrainF*ck a lot (yes, this is possible!) are easily found on the internet. Just type in "brainfuck" (Drat it! I wrote it replacing the * character by the u letter!) in the search field of any search engine and you will be amazed by the number of returned links...
Here below are just a few recommended links:
Link #1:
http://home.planet.nl/~faase009/Ha_BF.htmlNieko Maatjes wrote back in 2002 what I believe to be the best tutorial for the BrainF*ck language, a must read.
Link #2:
http://www.hevanet.com/cristofd/brainfuck/Daniel Cristofani has a great collection of sample source codes, including a BrainF*ck interpreter written in BrainF*ck... amazing!), and plenty of other useful resources & links.
And, if you do not like my iHeadAche implementation, you will find not less than 2 other implementations of BrainF*ck running on the Palm devices (BrainF*ck is a so called esoteric development language but, as you can see, it is well widespread):
IDE Palm #1:
http://arainyday.se/projects/palm/BFEdit/IDE Palm #2:
http://www.chocopoolp.com/go_freeware.php (this one by a good French friend of mine)
Updates Description1.1 (09/17/07)- recompiled this program with the latest iziBasic version 6.1 to avoid device freezes or soft resets on some devices
- changed the applications's name from iBrainF*ck to iHeadAche to bypass some American referencing site's prudish censorship!
1.0 (05/24/06)- initial release