воскресенье, 6 января 2013 г.

QtCreator и библиотеки clang: вести с фронтов

Ещё в 2010 году был начат постепенный перевод QtCreator на библиотеки clang вместо встроенного движка анализа C++. Этот перевод настолько постепенный и настолько аккуратный, что в официальной версии QtCreator, которую скачивают для windows и mac и которая доступна в репозиториях linux, нет даже намёка на clang.

С точки зрения разработчика, в код QtCreator добавились точки подключения нового плагина — и не более того. Сам плагин ClangCodeModel находится в отдельной ветке git-репозитория. А в этом посте находятся предварительные результаты, а также оценка готовности плагина и самого clang на начало января 2013 года.

clang: ещё один посетитель

В clang-c есть функция clang_visitChildren, предназначенная для частичного обхода AST. Она начинает с узла, переданного первым параметром, и вызывает функцию (второй параметр) для каждого дочернего узла.

среда, 2 января 2013 г.

Каретная диагностика (caret diagnostic)

Для разработчика компиляторов каретная диагностика — это отличный способ убить двух зайцев одним камнем. Она избавляет от многих проблем при написании компилятора и становится хорошим заделом при создании среды разработки.