Вы можете проверить Text Transformer , который претендует на звание универсального языка обработки текста. У меня нет особого опыта с этим.
Создание надежных языковых интерфейсов и используемых инструментов обработки - это действительно много работы.
Если вы хотите обрабатывать компьютерные языки общим способом, вы можете рассмотреть наш DMS Software Reengineering Toolkit , своего рода обобщенную технологию компилятора для анализа, анализа, преобразования и / или генерации кода (или любого другого вида официального документа).
DMS будет принимать произвольные контекстно-свободные грамматики для языков, автоматически создает AST без дополнительных усилий по спецификации с вашей стороны и предназначена для обработки не только больших файлов, но и очень больших наборов файлов за одно вычисление. Обычно люди
для обработки кода требуется распознавание образов, анализ кода и возможности преобразования кода; В DMS есть все эти встроенные функции. Также имеется множество предопределенных зрелых грамматик для широкого спектра компьютерных языков, хорошо известных (C, C ++, C #, COBOL, Java, JavaScript, ...) и других (Natural , EGL, Python, MATLAB, ...), и использовался для проведения массовых автоматических анализов и преобразований программ в этих различных языках.
DMS не соответствует вашим требованиям к реализации с открытым исходным кодом или C # / C ++. Он реализован как набор предметно-ориентированных языков для описания грамматик, анализаторов, преобразований, prettyprinters и сценариев, что позволяет выполнять параллельное выполнение, позволяя выполнять сложные анализы быстрее, чем однопоточные программы.