Существует множество инструментов, которые помогут вам в этом, например ANTLR или GOLD Parsing System . Обычно я использую последнее для создания грамматик синтаксического анализа.
Как начать писать парсер для файлов BibTex . В качестве первоначального проекта я вижу следующие шаги.
Нам также нужен механизм ошибок, поэтому пользователи, загружающие файлы bibtex, могут знать номера строк, где находится ошибка в их файлах BibTex. Я ищу мнение сообщества для решения этой проблемы.
(укажите, есть ли существующие синтаксические анализаторы C # или VB.NET с открытым исходным кодом).
Я опубликовал библиотеку с открытым исходным кодом для формата BibTex (загрузка / сохранение / экспорт в Excel), что позволяет использовать непечатаемый (словарь Key / Value) и строго типизированный доступ к записям BibTex.
Это может не соответствовать вашей цели, поскольку она слаба при проверке (не имеет ничего :) :), но может помочь в любом случае: