то есть требуется грамматический разбор? Могу посоветовать
bison. Он преобразует грамматику в виде, очень похожем на Бэкуса-Наура с включением содержательных кусков на C в код на чистом C (gnu C), при этом код оказывается достаточно компактным и не использует никаких "своих" библиотек.
Для синтаксического разбора (без которого обойтись можно, но лучше их использовать в паре) есть своя утилита
flex, но с ней не всё так хорошо.