Компиляция большого C++ проекта разрастается до неприличных времён, но можно написать замену Clang/GCC/CL.EXE, начав с парсера.
• Парсер не пишется руками: грамматика на своём языке QapDSLv2
• На выходе CST, а не AST — с пробелами и комментариями
• Покрыто почти всё: 16 уровней приоритетов операторов, шаблоны, лямбды, структурное связывание.
• Неоднозначности решены грубо:
T<1>(2) всегда шаблон, struct S {...};❗️Автор честен: проект вот-вот упрётся в лимит памяти при собственной сборке и рискует тихо умереть, но с другой стороны со стороны погружения в тему интересен. Код открыт на GitHub.
🔥 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом