Устройство автоматического документирования исходных текстов программ, написанных на языке автокод

 

Полезная модель относится к области анализа и обработки информации с помощью электронных вычислительных устройств, а именно, к системам программного документирования. Задачей данных моделей является обеспечение функционирования системы, основанной на совокупности принципов лексического и синтаксического анализа низкоуровневых языков и преобразования их к виду, приспособленному для автоматического документирования исходных текстов программ.

Техническим результатом функционирования данной полезной модели является сокращение сроков разработки программной документации.

Для достижения указанного технического результата, рассматриваемый прототип, содержащий: блок декомпозиции входной последовательности, блок проверки соответствия с грамматикой языка, блок проверки корректности описания исходного текста программы на специализированном языке нотаций, блок формирования конечного представления и блок генерирования документации, дополнен: блоком структурного анализа входной последовательности, блоком систематизации входной последовательности, блоком генерации первичного промежуточного представления, устройством входного интерфейса, центральным процессором, устройством выходного интерфейса и локальным запоминающим устройством. Кроме того, принцип функционирования существующих блоков был скорректирован в соответствии с поставленной задачей по реализации возможности автоматического документирования исходных текстов программ, написанных на языке Автокод.

Полезная модель относится к области анализа и обработки информации с помощью электронных вычислительных устройств, а именно, к системам программного документирования. Задачей данных моделей является обеспечение функционирования системы, основанной на совокупности принципов лексического и синтаксического анализа низкоуровневых языков и преобразования их к виду, приспособленному для автоматического документирования исходных текстов программ.

Существуют различные способы документирования исходных текстов программ, в том числе - с возможностью автоматической обработки данных. В [1] приведена система автоматического документирования исходных текстов программ doc++, предназначенная для документирования исходных текстов программ, написанных на языках С, C++, Java.

Система автоматического документирования исходных текстов программ doxygen [2] - инструмент для автоматического документирования исходных текстов программ, написанных на языках С, C++, С#, Perl, Java, FORTRAN, VHDL, PHP, CLI. Эта система является наиболее близким аналогом заявленной полезной модели и выбрана в качестве прототипа. Рассматриваемый прототип обеспечивает генерирование документации, получая исходные тексты программ, описанные в специализированном формате, необходимом для корректного функционирования системы.

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

Задачей, на решение которой направлена заявленная полезная модель, является устранение рассматриваемого недостатка, за счет реализации дополнительной возможности документирования исходных текстов программ, написанных на языке Автокод [3] в автоматическом режиме.

Техническим результатом функционирования данной полезной модели является сокращение сроков разработки программной документации.

Для достижения указанного технического результата, рассматриваемый прототип дополнен: блоком структурного анализа входной последовательности, блоком систематизации входной последовательности, блоком генерации первичного промежуточного представления, устройством входного интерфейса, центральным процессором, устройством выходного интерфейса и локальным запоминающим устройством. Кроме того, принцип функционирования существующих блоков был скорректирован в соответствии с поставленной задачей по реализации возможности автоматического документирования исходных текстов программ, написанных на языке Автокод.

Сущность полезной модели состоит в реализации возможности преобразования исходных текстов программ, написанных на специализированном языке Автокод, используемом для низкоуровневого программирования конкретной целевой вычислительной машины, к которой применены повышенные требования по отказоустойчивости и надежности в разных условиях, применяемой в области ракетно-космической техники. Устройство, изображенное на фиг.1 «Структурная схема устройства автоматического документирования исходных текстов программ, написанных на языке Автокод», представляет собой сложную техническую систему, составными частями которой являются: устройство входного интерфейса 101, центральный процессор 102, обеспечивающий корректное функционирование элементов системы, блок структурного анализа входной последовательности 103, блок систематизации входной последовательности 104, блок декомпозиции входной последовательности 105, блок генерации первичного промежуточного представления 106, локальное запоминающее устройство 107, блок проверки соответствия с грамматикой языка 108, блок проверки корректности описания исходного текста программы на специализированном языке нотаций 109, блок формирования конечного представления 110, блок генерирования документации 111, устройство выходного интерфейса 112.

Устройство входного интерфейса 101 представляет собой клавиатуру для персональных и промышленных компьютеров.

Центральный процессор 102 осуществляет управление очередностью передачи информации между всеми элементами системы.

Блок структурного анализа входной последовательности 103 выполняет функции чтения и обработки входной последовательности, анализируя текущую структуру каталогов и файлов, диверсифицируя их по степени необходимости применения к ним лексического анализа.

Блок систематизации входной последовательности 104 формирует структуру временных каталогов, что делает возможным последующее формирование первичного промежуточного представления.

Блок декомпозиции входной последовательности 105 осуществляет лексический анализ и выделяет подпоследовательности, которые используются для синтаксического анализа.

Блок генерации первичного промежуточного представления 106 позволяет скомпоновать совокупность данных, имеющую древовидную структуру, которая фиксируется в системе благодаря локальному запоминающему устройству 107 и которая впоследствии используется при генерировании документации и оформления ссылочной связи с преобразованными исходными текстами программ.

Локальное запоминающее устройство 107 представляет собой стандартный накопитель на магнитных дисках или энергозависимую полупроводниковую память.

Блок проверки соответствия с грамматикой языка 108 осуществляет синтаксический анализ декомпозированной входной последовательности с целью трансляции низкоуровневого языка в язык, пригодный для документирования.

Блок проверки корректности описания исходного текста программы на специализированном языке нотаций 109 функционирует в качестве дополнительного блока синтаксического анализатора, осуществляя проверку на наличие факта соответствия установленным границам диапазонов каждого из параметров в подпоследовательностях, полученных из блока 108.

Блок формирования конечного представления 110 формирует скорректированные подпоследовательности.

Блок генерирования документации 111 синтезирует документацию в требуемом виде.

Устройство выходного интерфейса 112 реализовано в качестве стандартного монитора, на котором центральный вычислительный процессор отображает результаты функционирования системы.

Посредством использования устройства входного интерфейса 101 вводятся исходные данные, которые с помощью центрального процессора 102 передаются на вход блока структурного анализа входной последовательности 103, представленные в виде недекомпозированной цепочки символов. Блок 103 анализирует текущую структуру каталогов и файлов, диверсифицируя их по степени необходимости применения к ним лексического анализа. В блоке систематизации входной последовательности 104 происходит создание временной структуры каталогов, которая необходима для формирования первичного промежуточного представления и хранящаяся в локальном запоминающем устройстве 107. Блок 105 формирует последовательность выражений, имеющих смысл с точки зрения грамматики входного языка. В блоке 106 формируется первичное промежуточное представление, основанное на структуре, полученной из блока 104. Блок 108 осуществляет поиск соответствия с грамматикой входного языка, передавая на вход следующего блока только члены последовательности, для которых соответствие было найдено. В блоке 109 происходит проверка корректности описания исходного текста программы на специализированном языке нотаций. При формировании конечного представления используется только описание исходного текста, для которого проверка пройдена успешно. Блок 111 отвечает за генерирование документации, используя при этом конечное представление, синтезируемое блоком 110.

Практическая ценность рассматриваемой полезной модели заключается в реализации концепции автоматического документирования исходных текстов программ, написанных на языке специального назначения. Отличие данного устройства заключается в осуществлении возможности автоматического документирования исходных текстов программ, написанных на низкоуровневом языке, а также в реализации опции просмотра исходных текстов программ в сгенерированной документации в частично измененном виде. Такой подход позволяет автоматизировать процесс документирования исходных текстов, позволяет существенно сократить сроки разработки программной документации.

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

- специалисты в данной области техники должны быть осведомлены, что устройство входного интерфейса 101 выполнено с использованием стандартной клавиатуры персональных и промышленных компьютеров. Устройство выходного интерфейса 112 выполнено с помощью стандартного монитора и видеоадаптера, реализующего его функционирование. Локальное запоминающее устройство 107 реализуется в виде накопителя, выполненного на жестких магнитных дисках или энергозависимой полупроводниковой памяти;

- центральный процессор 102 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [4], стр.106-129;

- блок структурного анализа входной последовательности 103 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.327-335;

- блок систематизации входной последовательности 104 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.332-335;

- блок декомпозиции входной последовательности 105 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [5], стр.167-171;

- блок генерации первичного промежуточного представления 106 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.333;

- блок проверки соответствия с грамматикой языка 108 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [5], стр.153-257;

- блок проверки корректности описания исходного текста программы на специализированном языке нотаций 109 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [7], стр.336-376;

- блок формирования конечного представления 110 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.333;

- блок генерирования документации 111 реализуется по предъявленным к нему требованиям по известным методам и правилам, описанным в [2];

Литература

1. Интернет-ресурс: http://docpp.sourceforge.net/

2. Интернет-ресурс: http://www.doxygen.org/

3. В.Собельман. Большая советская энциклопедия. - М.: Советская энциклопедия 1969-1978

4. Р.Токхайм «Микропроцессоры. Курс и упражнения». Издательство: «Энергоатомиздат» 1988 г., 336 стр.

5. Ю.Карпов «Теория и технология программирования. Основы построения трансляторов» - Издательство «БХВ - Петербург», 2005 г., 272 стр.

6. А.Молчанов «Системное программное обеспечение» - Издательство «Питер», 2003 г., 396 стр.

7. А.Ахо, Р.Сети, Дж.Ульман «Компиляторы: принципы, технологии и инструменты». 2-е изд. Издательский дом «Вильяме», 2003 г., 768 стр.

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



 

Наверх