Детальная информация
Название | Инструмент преобразования исходного кода на языке C++ стандарта "ISO/IEC 14882:2014" в стандарт "ISO/IEC 14482:2003": магистерская диссертация: 09.04.01 |
---|---|
Авторы | Илларионов Юлий Сергеевич |
Научный руководитель | Ицыксон Владимир Михайлович |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий |
Выходные сведения | Санкт-Петербург, 2017 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | Си (C) ; Интерфейсы ; Коды |
УДК | 004.438(043.3) ; 004.51(043.3) ; 004.056.55(043.3) |
Тип документа | Выпускная квалификационная работа магистра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Магистратура |
Код специальности ФГОС | 09.04.01 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/2/v17-4125 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Ключ записи | RU\SPSTU\edoc\45050 |
Дата создания записи | 18.10.2017 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
Магистерская диссертация посвящена рассмотрению возможностей автоматизации процессов миграции исходного кода, написанного согласно стандарту C++14 в исходный код в рамках стандарта C++03. В работе произведен краткий обзор отличий указанных стандартов, а также рассмотрены способы автоматического преобразования части нововведений C++14 в аналогичные по функциональности конструкции из C++03. Также в работе кратко описаны возможности по созданию инструментов для преобразования исходного кода, предоставляемых программным интерфейсом “Clang LibtTooling".
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
- ВВЕДЕНИЕ
- 1 Актуальность работы
- 1.1 Современное состояние языка C++
- 1.2 Существующие примеры миграции кода
- 1.2.1 Компиляторы в JavaScript
- 1.2.2 Программный пакет ROSE
- 1.2.3 DMS Software Reengineering Toolkit
- 1.2.4 Компиляторы SystemC
- 2 Поиск отличий в стандартах языка
- 2.1 Выбор инструментария
- 2.2 Список нововведений C++14 относительно C++03
- 2.2.1 Семантика переноса
- 2.2.2 Инициализация полей
- 2.2.3 Шаблоны с переменным числом аргументов
- 2.2.4 Списки инициализации
- 2.2.5 Универсальная инициализация
- 2.2.6 Статическая диагностика
- 2.2.7 Вывод типов
- 2.2.8 Альтернативный синтаксис функции
- 2.2.9 Лямбда-выражения
- 2.2.10 Угловые скобки
- 2.2.11 Аргументы шаблона по-умолчанию для функций
- 2.2.12 Псевдонимы шаблона и типа
- 2.2.13 Внешние шаблоны
- 2.2.14 Константа нулевого указателя
- 2.2.15 Улучшенные перечисления
- 2.2.16 Стандартный синтаксис атрибутов
- 2.2.17 Обобщённые константные выражения
- 2.2.18 Управление выравниванием
- 2.2.19 Делегация конструкторов
- 2.2.20 Наследование конструкторов
- 2.2.21 Изменения в запрете явного преобразования
- 2.2.22 Новые строковые литералы
- 2.2.23 <<Необработанные>> строковые литералы
- 2.2.24 Пользовательские литералы
- 2.2.25 Явное указание методов по-умолчанию
- 2.2.26 Явный запрет использования методов
- 2.2.27 Получение размера полей без создания экземпляра
- 2.2.28 <<Прозрачные>> пространства имен
- 2.2.29 Улучшенные объединения
- 2.2.30 Циклы по коллекции
- 2.2.31 Явное замещение виртуальных функций и финальность
- 2.2.32 Литералы двоичных чисел
- 2.2.33 Шаблоны переменных
- 2.2.34 Разделители разрядов
- 3 Рассмотрение возможностей автоматической миграции
- 3.1 Clang, как инструмент работы с исходным кодом
- 3.1.1 Возможности программного интерфейса LibTooling
- 3.2 Описание способов миграции
- 3.2.1 Инициализация полей
- 3.2.2 Универсальная инициализация
- 3.2.3 Вывод типов
- 3.2.4 Лямбда-выражения
- 3.2.5 Псевдонимы шаблона и типа
- 3.2.6 Улучшенные перечисления
- 3.2.7 Делегация конструкторов
- 3.2.8 Наследование конструкторов
- 3.2.9 Изменения в запрете явного преобразования
- 3.2.10 <<Необработанные>> строковые литералы
- 3.2.11 Пользовательские литералы
- 3.2.12 Явное указание методов по-умолчанию
- 3.2.13 Явный запрет использования методов
- 3.2.14 Получение размера полей без создания экземпляра
- 3.2.15 Циклы по коллекции
- 3.2.16 Явное замещение виртуальных функций и финальность
- 3.2.17 Литералы двоичных чисел
- 3.2.18 Шаблоны переменных
- 3.2.19 Разделители разрядов
- 3.1 Clang, как инструмент работы с исходным кодом
- 4 Тестирование
- 4.1 Реализация инструментов миграции
- 4.2 Методика и результаты тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. Таблица нововведений стандарта C++11
- ПРИЛОЖЕНИЕ Б. Таблица нововведений стандарта C++14
Количество обращений: 249
За последние 30 дней: 0