Насколько сложен ваш DSL?
Я создал анализатор (в Delphi) для нового языка Delphi RIDL для поддержки некоторых собственных инструментов генерации COM, которые мы используем.
Мой подход состоял в том, чтобы использовать ANTLR, чтобы поиграться с правилами синтаксиса, пока у меня не получится что-то, что будет анализировать различные тестовые файлы, которые у меня были. Затем я вручную написал парсер рекурсивного спуска (на основе Java, сгенерированного ANTLR). Я также использовал в проекте Castalia Delphi Parser, поэтому я основал на этом свой лексический анализатор.
Парсеры с рекурсивным спуском на самом деле очень просто (но утомительно :-)) писать вручную.