bf : a really minimalist language
Copyright (C) 1999 Jean-Baptiste M. Queru

Contact the author :
Jean-Baptiste M. Queru, 1706 Marina Ct #B, San Mateo, CA 94403, USA
or by e-mail : djaybee@cyberdude.com

Welcome to the bf "ReadMe" file!

bf is a really minimalist language. It only has 8 instructions,
with no parameter. Call it a RISC with a 3-bit instruction set if
you want.

Although very small, bf is what's called a Turing-complete
language, i.e. it belongs to the same class of programming
languages as C, C++, pascal, etc..., which means that any program
written in C++ can (theoretically) be compiled into bf,
and vice-versa.

This implementation of bf uses a one-dimentional
infinite memory of 64-bit memory cells. Here are the
instructions, where p is the pointer to the current cell,
and m is the value under the pointer.

+ increments m
- decrements m
> increments p
< decrements p
. writes m to stdout (as an ascii value)
, reads m from stdout (as an ascii value)
[ starts a loop, with m as counter
] ends a loop

Here's what it could look like in C:
+ is (*p)++;
- is (*p)--;
> is p++;
< is p--;
. is putchar(*p);
, is *p=getchar();
[ is while (*p) {
] is }

This program is free software; you can redistribute it and/or 
modify it under the terms of the GNU General Public License 
as published by the Free Software Foundation; either version 2 
of the License, or (at your option) any later version.

The sample programs under in the third_party directory
were written by the people whose names appear in the filenames.
Although I don't have any explicit permission to reproduce
those programs, I assume so. I found them freely available
on the web.
The other sample programs were written by me, and you have
explicit permission to do whatever you like with them.
They are not covered by the GPL, and I waive any claim
I might have on them. Feel free to do whatever you like
with them.

Revision history :

0.1 : first release
0.1.1 : changed the name