/Materials Пт, 19.04.2024, 02:38

Сайт методики довузовского обучения программированию
и проектной деятельности в информатике


Главная страница, Контакты, RSS
 
> Меню сайта

> Разделы новостей
Семинар [36]
Семинар по системному и прикладному программированию
Etc [15]
Разное
Конференция [16]
Открытая конференция исследовательских и проектных работ

> Архив новостей

> Партнеры

> Поиск

> Статистика

Главная » 2008 » Январь » 28 » Динамический анализатор C++ кода
Динамический анализатор C++ кода
Татьяна Борисова, Алексей Переславцев
10 класс, ВМиК МГУ

Целью работы являлась разработка прототипа динамического анализатора языка С++ и среды для его тестирования.

В процессе разработки программ часто возникает ситуация, что небольшие изменения в коде влекут перекомпиляцию значительной части проекта, а этот процесс может быть достаточно долгим. Из-за этого у разработчиков часто возникают неудобства.

В связи с этим возникла идея разработки такого анализатора C++ кода, который ускоряет компиляцию при небольших изменениях исходного текста, производя синтаксический разбор только тех фрагментов, которые подверглись изменениям. В результате был реализован анализатор, который сохраняет информацию синтаксического разбора исходного кода (AST) по завершении компиляции и изменяет его по необходимости, а не создает заново. Это позволяет не компилировать повторно инвариантную часть кода. При небольших локальных изменениях исходного кода время перекомпиляции в подавляющем большинстве случаев значительно уменьшается.

Для решения этой задачи были разработаны структуры данных, хранящие информацию о синтаксической структуре программы, и алгоритмы, выполняющие разбор измененной части кода и зависимых от нее участков. Был реализован динамический анализатор C++ кода и прототип «интеллектуальной среды разработки» на базе Qt, использующей API данного динамического анализатора.

Проект реализован на языке С++ с использованием ООП, STL, шаблонов, паттернов проектирования, и кроссплатформенных библиотек (boost, Qt).

Категория: Семинар | Просмотров: 5340 | Добавил: ded32
> Инструменты

Orphus


О рекламе на сайте ↑

Сайт рас­по­ло­жен на бес­плат­ном хос­тин­ге, пра­ви­ла ко­то­ро­го за­пре­ща­ют вы­ре­зать ре­к­ла­му, встав­ляе­мую авто­ма­ти­чес­ки, в том чис­ле в ви­де авто­ма­ти­чес­ко­го от­кры­тия стра­ниц дру­гих сай­тов. Ав­тор это­го сай­та не име­ет ни­ка­ко­го отно­ше­ния к этой ре­кла­ме.


> Загрузить

> Основные материалы

> Примеры проектов



Copyright (c) И.Р. Дединский, 2006-2024
Никакая часть материалов данного сайта или его подразделов не может быть прямо или косвенно процитирована или упомянута без действующей активной ссылки на данный сайт
...

Хостинг от uCoz

MasterHost Orphus