NLT

Как написать рекурсивный парсер?
http://www.codeproject.com/Articles/679139/Ambiguity-Let-NLT-parse-it-for-you
http://sourceforge.net/projects/naivelangtools/