Treetop is a language for describing languages. Combining the elegance of Ruby with cutting-edge parsing expression grammars, it helps you analyze syntax with revolutionarily ease.
K. Mens, I. Michiels, and R. Wuyts. 13th International Conference on Software Engineering and Knowledge Engineering, Buenos Aires, page 136--143. Knowledge Systems Institute, (June 2001)