Brainfuck runner - chosen to stress different corners of the library: operator precedence, recursive data, binders, comment-aware whitespace, and an esoteric language the parser also runs. The one big idea is that each grammar is written once over an abstract algebra - an
of builder functions its semantic actions call - then run two ways. Hand the grammar the language's meaningful actions and it yields a useful value: a number, a native Wolfram expression, a program's output. Hand it the shared
and the same grammar yields a standard, language-neutral syntax tree modelled on Wolfram's own
CodeParser
shape. That is the whole point: meaningful language-specific parse actions, but without which a standard AST. The grammar is untouched; only the algebra is swapped.