Index of /prog/baum/

NameLast ModifiedSizeType
Parent Directory/ -  Directory
LICENSE2010-Feb-13 12:46:541.0Ktext/plain
baum-0.1.tar.gz2010-Feb-13 12:46:4910.0Kapplication/x-gzip
baum-0.2.tar.gz2010-Feb-13 12:46:518.3Kapplication/x-gzip
baum-0.3.tar.gz2010-Feb-13 12:46:529.2Kapplication/x-gzip
baum-0.4.tar.gz2010-Feb-13 12:46:539.6Kapplication/x-gzip
Baum
====

baum is an experiment to create an esoteric programming language. Source
code is a representation of a tree in which every node is a command or
data. The functionality is (currently) very restricted.


Info about the program
----------------------

* requires: command line interface
* less than 400 SLOC
* license: MIT-License


Features
--------

* source code is a representation of a tree
* commands and data are nodes in this tree


Download
--------

Current release: baum-0.4 (2008-06-24)

Have a look at the end of the page for old versions.


Development
-----------

You can browse the source code directly at [0].

[0] http://hg.marmaro.de/baum

Furthermore the Mercurial repository can be cloned using:

	hg clone http://hg.marmaro.de/baum


Todo
----

* lot ot stuff
* experiment with yacc


Status
------

Early development.


Concept
-------

baum programs are represented as nodes in a tree structure. Nodes are of
specific kind and contain a value.

The tree is processed recursive starting at the root node. Every node
controls its sons and should only know them; while most nodes only use
their leftmost son.

Each node returns a value to its parent. The internal value of the node
could be used in any useful way, but only inside the node.

All values in the language (return values, expected return values and
in-node values) should be of the same type, so that every combination of
nodes is possible.

Nodes can modify the tree, but should do this only on its brothers or
better only through its rightmost brother.


Baum source code
----------------

Source code are plain text files with one node per line representing the
tree. The indention controls in which level in the tree the node is.
Indention can be made with SPACE or with TAB characters. Every character
means one level.

Empty lines and everything vom the hash symbol (`#') to the end of the
line is ignored.

An example that echoes `42':

	# comment
	print(0)
	[tab]sum(0) #comment
	[tab][tab]number(40)
	[tab][tab]number(2)

( [tab] is the TAB-Character)