Goal is to write recursive descent parsers concisely/readably
Like regexes but composable
i.e. BNF

README explains the syntax.

Bootstrapping: First I wrote the grammar (ometa1.bnf), then translated it
to Scheme (handwritten-ometa.scm), added some ancillary stuff
(om-core.scm, om) and ran it until the generated Scheme matched the
handwritten Scheme:

    ./om ometa1.bnf generated1.scm

The 'py*' files are the beginning of a Python parser.  I also have a
"Precedence Climbing" expression parser (like Shunting Yard) to incorporate
into it...

See also:
1. The real, object-oriented OMeta
2. Henry G. Baker's CL-META
3. David A. Moon's PLOT language look way better than this :-)
FilenameSizeDescription
README3042
generated9.scm2217
handwritten-ometa.scm3251
om2899
om-core.scm4423
ometa1.bnf598
ometa2.bnf1003
ometa3.bnf1375
py2032
py-core.scm4328
py-grammar.bnf3099
py-grammar1.scm4160