aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2016-12-22 22:58:20 +0100
committerPřemysl Janouch <p.janouch@gmail.com>2016-12-22 23:26:41 +0100
commit128fb157b302f0f0881844fc7a2fa5653c74a197 (patch)
tree93f342b5a7a195af211f17ab7044bac2064b81fc /README.adoc
downloadbfc-128fb157b302f0f0881844fc7a2fa5653c74a197.tar.gz
bfc-128fb157b302f0f0881844fc7a2fa5653c74a197.tar.xz
bfc-128fb157b302f0f0881844fc7a2fa5653c74a197.zip
Initial commit
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc49
1 files changed, 49 insertions, 0 deletions
diff --git a/README.adoc b/README.adoc
new file mode 100644
index 0000000..660c38c
--- /dev/null
+++ b/README.adoc
@@ -0,0 +1,49 @@
+bfc
+===
+
+'bfc' is a small, fast, self-contained, optimizing Brainfuck compiler for Linux
+on Intel x86-64.
+
+Also included are several interpreters in various states of sophistication that
+document my progress as I was writing this, from the simplest approach to an
+optimizing JIT compiler.
+
+It's pretty easy to retarget the compiler, it just means redoing half the work.
+The compiler itself is platform agnostic.
+
+Building
+--------
+Build dependencies: a C99 compiler +
+Runtime dependencies: Linux
+
+ $ git clone https://github.com/pjanouch/bfc.git
+ $ cd bfc
+ $ make
+
+To obtain dumps of the intermediate representation, compile with `-DDEBUG`:
+
+ $ make CPPFLAGS=-DDEBUG
+
+Usage
+-----
+
+ ./bfc-amd64-linux [INPUT-FILE] [OUTPUT-FILE]
+
+When no input file is specified, stdin is used. Similarly, the default output
+filename is a.out. The resulting file can be run on the target platform.
+
+Contributing and Support
+------------------------
+Use this project's GitHub to report any bugs, request features, or submit pull
+requests. If you want to discuss this project, or maybe just hang out with
+the developer, feel free to join me at irc://irc.janouch.name, channel #dev.
+
+License
+-------
+'bfc' is written by Přemysl Janouch <p.janouch@gmail.com>.
+
+You may use the software under the terms of the ISC license, the text of which
+is included within the package, or, at your option, you may relicense the work
+under the MIT or the Modified BSD License, as listed at the following site:
+
+http://www.gnu.org/licenses/license-list.html