This is a prototype parser to read the output from the SBTs and reformat/optimise as needed,
regenerating an equivalent C source file on output.

Directory no-precedence-parser was the first one I wrote - it is a procedural recursive descent
parser which does not handle operator precedence, complex expressions, or any C constructs other
than simple arrays.  This parser already outputs the parse tree as a new C source file.

The new directory, precedence-parser, is a table-driven version of the parser, and incorporates
an almost complete grammar for C expressions.  This code does not yet re-output the parse tree
as a C source file.

The precedence-parser is by far the more powerful but also the one more liable to contain errors
due to the complexity of the grammar.  This is probably the one I will develop for live use.

The 'generic-parser' directory is a WIP development of precedence parser, where I am trying
to clean it up so that it is not so tightly tied to parsing C-like languages.  It now can
parse Imp/Algol-like languages which use keyword stropping rather than reserved keywords.
It also incorporates a significant improvement in how white space and comments are handled,
which allows comments to be passed through to the output eg in a transpiler from Imp to C
or vice-versa.  Not used in the SBT suite however, I just uploaded it here to have some place
to put it online.

