flex и bison - это новые lex и yacc. Синтаксис для BNF часто выводится за то, что он немного тупой. По этой причине некоторые переехали в АНТЛР и Рагель.
Если вы не слишком много переводите, вы можете сделать один раз, используя регулярные выражения с Perl или Ruby. Написание совместимой грамматики BNF для существующего языка - задача не из легких.
С другой стороны, вполне возможно использовать файлы .l и .y любого языка, если они доступны как открытый исходный код. Затем вы можете создать новый код из существующего дерева разбора.