Если вы хотите пойти по пути Python, я бы порекомендовал следующее.
Я считаю, что оба они чрезвычайно полезны, и Пол Макгуайр, автор pyparsing, превосходно помогает вам, когда вы сталкиваетесь с проблемами. Книга «Обработка текста в Python» - это просто полезный справочник, который всегда будет у вас под рукой, и поможет вам прийти к правильному настрою при попытке создания парсера.
Я бы также отметил, что ОО-язык лучше подходит в качестве механизма синтаксического анализа языка, потому что он расширяемый, и полиморфизм - верный способ сделать это (ИМХО). Если посмотреть на проблему с точки зрения конечного автомата, а не на «Ищите точку с запятой в конце xyz», то вы увидите, что ваш синтаксический анализатор в конце концов станет намного более устойчивым.
Надеюсь, что поможет!