Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 635051)
Контекстум
Руконтекст антиплагиат система
Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика  / №4 2015

ИСПОЛЬЗОВАНИЕ АБСТРАКТНОГО ЦИФРОВОГО АВТОМАТА ДЛЯ ПОЛУЧЕНИЯ УНИВЕРСАЛЬНОГО ПРОМЕЖУТОЧНОГО ПРЕДСТАВЛЕНИЯ ИСХОДНОГО КОДА ПРОГРАММ (90,00 руб.)

0   0
Первый авторЗубов
АвторыПустыгин А.Н.
Страниц9
ID504809
АннотацияДля выполнения статического анализа предложено использовать универсальные многоуровневые промежуточные представления. Были формализованы модели следующих представлений: для анализа архитектуры проекта – модель представления уровня классов, для анализа функциональных модулей – потока управления. Необходимо формализовать метод получения таких представлений для соответствия предложенной модели. Это позволяет единообразно добавлять новые языки путем создания стандартного генератора универсального промежуточного представления. Предлагается использовать абстрактный цифровой автомат с магазинной памятью. В качестве базового способа преобразования текста в машинные данные используется синтаксический анализ. Такой конечный автомат обрабатывает последовательность сигналов, описывающих входное дерево разбора, и формирует последовательность сигналов, описывающих дерево промежуточного представления. Хранение в памяти предыдущих состояний автомата дает возможность анализировать произвольную вложенность входного дерева. Введение специального свойства для входных и выходных сигналов позволяет описать дерево в виде последовательности узлов в соответствии с его обходом в глубину. Для программной реализации такого подхода был выбран язык Java, промежуточное представление строилось также для Java. Каждое состояние автомата реализовано в виде активного объекта, обрабатывающего входной поток сигналов. Реализуя такие шаблоны проектирования, как «цепочка ответственности», «состояние» и «стратегия», состояния образовывали таблицу переходов автомата Мили и магазинную память. Для хранения входных и выходных данных был выбран формат XML. Тестирование путем проверки преобразования синтаксических конструкций языка в текст универсального промежуточного представления на собственном коде и проектах с открытым исходным кодом показало полное соответствие реализации предложенным моделям
УДК004.41
Зубов, М.В. ИСПОЛЬЗОВАНИЕ АБСТРАКТНОГО ЦИФРОВОГО АВТОМАТА ДЛЯ ПОЛУЧЕНИЯ УНИВЕРСАЛЬНОГО ПРОМЕЖУТОЧНОГО ПРЕДСТАВЛЕНИЯ ИСХОДНОГО КОДА ПРОГРАММ / М.В. Зубов, А.Н. Пустыгин // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика .— 2015 .— №4 .— С. 58-66 .— URL: https://rucont.ru/efd/504809 (дата обращения: 05.05.2024)

Предпросмотр (выдержки из произведения)

Компьютерное обеспечение и вычислительная техника УДК 004.41 М. В. Зубов, А. Н. Пустыгин ИСПОЛЬЗОВАНИЕ АБСТРАКТНОГО ЦИФРОВОГО АВТОМАТА ДЛЯ ПОЛУЧЕНИЯ УНИВЕРСАЛЬНОГО ПРОМЕЖУТОЧНОГО ПРЕДСТАВЛЕНИЯ ИСХОДНОГО КОДА ПРОГРАММ Для выполнения статического анализа предложено использовать универсальные многоуровневые промежуточные представления. <...> Были формализованы модели следующих представлений: для анализа архитектуры проекта – модель представления уровня классов, для анализа функциональных модулей – потока управления. <...> Это позволяет единообразно добавлять новые языки путем создания стандартного генератора универсального промежуточного представления. <...> Предлагается использовать абстрактный цифровой автомат с магазинной памятью. <...> В качестве базового способа преобразования текста в машинные данные используется синтаксический анализ. <...> Такой конечный автомат обрабатывает последовательность сигналов, описывающих входное дерево разбора, и формирует последовательность сигналов, описывающих дерево промежуточного представления. <...> Хранение в памяти предыдущих состояний автомата дает возможность анализировать произвольную вложенность входного дерева. <...> Введение специального свойства для входных и выходных сигналов позволяет описать дерево в виде последовательности узлов в соответствии с его обходом в глубину. <...> Для программной реализации такого подхода был выбран язык Java, промежуточное представление строилось также для Java. <...> Каждое состояние автомата реализовано в виде активного объекта, обрабатывающего входной поток сигналов. <...> Реализуя такие шаблоны проектирования, как «цепочка ответственности», «состояние» и «стратегия», состояния образовывали таблицу переходов автомата Мили и магазинную память. <...> Для хранения входных и выходных данных был выбран формат XML. <...> Тестирование путем проверки преобразования синтаксических конструкций языка в текст универсального промежуточного представления <...>