Marpa is a Tcl binding to libmarpa, in the spirit of the Marpa::R2 perl binding.
libmarpa is an Earley parser engine, with both Leo and Aycock-Horspool fixes.
Official example parsers/languages (in the languages/ directory of the sources):
- json, with large testsuite
Examples in work branches
- heredoc - Basic demonstration of L0 parse events to implement here documents.
- doctools - Larger demonstration of L0 parse events to implement macros and include files (doctools commands vset and include). Passes a torture test using the Tcllib manpages.