Лекс и Як все еще мои любимые. Непонятно, если вы только начинаете, но чрезвычайно просто, быстро и легко, как только вы потеряли язык.
Вы можете заставить его делать что угодно; генерировать код C #, создавать другие грамматики, эмулировать инструкции, что угодно.
Это не красиво, это текстовый формат и LL1, так что ваш синтаксис должен это учитывать.
С положительной стороны, это везде. Об этом есть отличные книги О'Рейли, множество примеров кода, множество готовых грамматик и множество библиотек на родном языке.