annotate baum.1 @ 20:3c64b5ac821b

added Debian stuff; new Makefile
author meillo@marmaro.de
date Wed, 13 Feb 2008 21:23:21 +0100
parents 711aab4863cc
children 4e60d96265f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
1 .TH baum 1 "2008-02-13" "baum 0.1"
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
2 .SH NAME
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
3 baum \- an esoteric programming language
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
4
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
5
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
6
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
7 .SH SYNOPSIS
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
8 .B baum
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
9 [\-v]\ [\-c]\ <file>
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
10
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
11
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
12
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
13 .SH DESCRIPTION
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
14 .B baum
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
15 is an interpreter for the baum programming language which is an experiment to create an esoteric programming language.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
16
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
17 Source code is a representation of a tree in which every node is a command or data.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
18
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
19 baum is only an experiment and the functionality is (currently) very restricted.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
20
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
21
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
22
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
23
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
24 .SH OPTIONS
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
25
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
26 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
27 .BI \-v
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
28 Verbose output
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
29
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
30 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
31 .BI \-c
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
32 Check source file for validity. Return 0 if source code is valid and something else otherwise.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
33
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
34 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
35 .BI \-\-help
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
36 Print usage information
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
37
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
38 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
39 .BI \-\-version
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
40 Print version information
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
41
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
42
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
43
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
44
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
45
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
46
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
47 .SH SOURCE CODE
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
48
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
49 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.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
50
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
51 Empty lines and everything vom the hash symbol (`#') to the end of the line is ignored.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
52
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
53 .B An example that echoes `42':
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
54
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
55 .nf
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
56 # comment
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
57 print(0)
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
58 sum(0) #comment
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
59 number(40)
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
60 number(2)
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
61 .fi
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
62
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
63
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
64
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
65 .SH CONCEPT
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
66
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
67 baum programs are represented as nodes in a tree structure. Nodes are of specific kind and contain a value.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
68
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
69 The tree is processed recursive starting at the root node. Every node controls it's sons and should only know them; while most nodes only use their leftmost son.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
70
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
71 Each node returns a value to it's parent. The internal value of the node could be used in any useful way, but only inside the node.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
72
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
73 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.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
74
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
75 Nodes can modify the tree, but should do this only on it's brothers or better only through it's rightmost brother.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
76
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
77
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
78 .SH ERRORS
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
79
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
80 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
81 .BI 1
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
82 common error
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
83
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
84 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
85 .BI 3
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
86 no or more than one source file given
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
87
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
88 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
89 .BI 4
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
90 invalid node
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
91
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
92 .TP
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
93 .BI 127
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
94 invalid command line options
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
95
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
96
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
97
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
98 .SH BUGS
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
99 Please report if you find some.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
100
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
101
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
102 .SH CREDITS
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
103 Ju developed the idea of
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
104 .B baum
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
105 with me in a conversation. Actually it was his idea to use the tree as basic structure.
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
106
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
107
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
108
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
109 .SH AUTHOR
711aab4863cc added man page
meillo@marmaro.de
parents:
diff changeset
110 markus schnalke <meillo@marmaro.de> and julian forster