У меня был некоторый успех в реализации общего механизма синтаксического анализа поверх Packrat. Это хорошо подходит для этой цели из-за запоминания - редактор делает недействительными только запомненные фрагменты, которые перекрывают измененную строку, а затем весь файл повторно обрабатывается, но фактически анализируется только измененная строка, все остальные остаются запомненными из предыдущего запуска.
Нет готовых к использованию решений, но вы можете выбрать любую реализацию Packrat и приготовить свою собственную вещь поверх нее.
Вы можете посмотреть, как Packrat интегрируется с текстовым редактором, здесь:
http://www.meta -alternative.net / mbase.html