Разработка утилиты «Kmake» для управления компиляцией и сборкой проектов на основе автоматного подхода



© 2004 А.А. Карпец

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Исполняемая программа
Исходные тексты

Аннотация

Известно, что в процессе создания программы на алгоритмических языках важными являются следующие этапы: написание исходного кода, компиляция, сборка (редактирование связей).

Для управления компиляцией и сборкой программ обычно применяется одна из отличающихся функциональностью модификаций утилиты make, которая входит в состав компиляторов различных производителей (Borland, Microsoft, Symantec). При этом утилита make воспринимает файл Makefile и генерирует необходимые для компиляции и сборки команды. Она распространяется, в том числе, и с открытыми исходными кодами (GNU make). Даже в этом случае из-за отсутствия проектной документации весьма трудно понять принципы ее функционирования.

Поэтому цель настоящей работы состоит в разработке утилиты рассматриваемого класса с небольшой функциональностью и открытой проектной документации к ней. В частности, разрабатываемая утилита не реализует возможности использования переменных в файлах Makefile. При этом для упрощения понимания функционирования программы и ее составных частей применяется автоматный подход [1]. Он отличается от традиционно используемого в этой области подхода [2] и близок к подходу, изложенному в работе [3]. Разработанная утилита названа Kmake.

Для создания утилиты, являющейся консольным приложением, используется язык Си++.

На основе выполненного проекта сделаны следующие выводы:

Источники

  1. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
  2. Ахо А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты. М.: Вильямс, 2001.
  3. Штучкин А.А., Шалыто А.А. Совместное использование теории построения компиляторов и SWITCH-технологии (на примере построения калькулятора). Проектная документация. http://is.ifmo.ru раздел «Проекты».