среда, 21 августа 2013 г.

Дополнительная проверка типов в OpenGL

В ноябре прошлого года Дмитрий Грибенко, разработчик компилятора clang из Киева, представил новое расширение clang: проверка типов в функциях, интерпретирующих тип аргумента A, переданного по указателю на void*, различными способами в зависимости от значения аргумента B.

суббота, 4 мая 2013 г.

QtCreator и библиотеки clang: майский выпуск

На начало мая 2013 года, плагин ClangCodeModel по-прежнему находится в отдельной ветке публичного git-репозитория Qt Project. Тем не менее, прошлый обзор был сделан четыре месяца назад — пожалуй, пришло время сделать ещё один.

пятница, 12 апреля 2013 г.

Введение в Objective-C для знатоков C++

Различия между C++ и Objective-C не столь уж и велики, тем более что теперь референсную реализацию Objective-C предоставляет компилятор clang, в котором парсер и библиотека семантических проверок обрабатывают оба языка разом.

воскресенье, 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)

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