The Colm Programming Language
Colm is a programming language designed for the analysis and transformation of computer languages. It has a type system based on formal languages. Rather than define classes or data structures, one defines grammars. A parser is constructed automatically from the grammar, and the parser is used for two purposes: to parse the input language, and to parse the structural patterns in the program that performs the analysis.