COMIT, dating from 1957, was the first programming language designed specifically for string manipulation. It was directly ancestral to SNOBOL, and through SNOBOL to sed(1), perl(1) and all other languages built around regular expressions.
This is an interpreter for the COMIT II language as described in "Programming with COMIT II" by Victor H. Yngwe, MIT Press 1972. Excerpts from that book, along with Yngve’s 1958 paper on COMIT, are included with the distribution under docs/.
Not all features of the language are interpreted, but enough of them are to run real programs - or, at least, what passed for real programs when COMIT II was a live research tool.
Many example programs are included and used as correctness tests for the interpreter.
Prerequisites: Python 2.7.x or Python 3, asciidoctor.