II. Справка и отладка в MIDAS

MIDAS имеет хорошо разработанную справочную систему. Сначала мы рассмотрим ту ее часть, которая доступна в режиме on-line (в текстовой и графической моде), а затем – встроенный в систему электронный учебник. После этого будут описаны средства MIDAS, облегчающие отладку процедур.

1. Справка в текстовой моде

Когда вы находитесь в среде MIDAS, список возможных команд может быть извлечен командой
   HELP

Информацию о конкретной команде, например command, можно получить так:
   HELP command

Более подробная справка выдается, если указать имя команды и один из ее квалификаторов
   HELP command/qualifier

Если нужна наоборот лишь очень краткая (в одну строчку) информация, представляющая собой основное назначение и список параметров какой-либо команды, поставьте после нее два вопросительных знака, например
   WRITE/KEYWORD ??
даст требуемые сведения о команде WRITE/KEYWORD.

Если вы забыли имя команды, но помните его начало (например, CO), напишите это с вопросом
   CO?
и после нажатия клавиши Enter высветится список всех команд, имена которых начинаются на CO.

2. Справка в графической моде

Выше мы имели дело со справками, получаемыми в текстовой моде. Полезно знать, что можно подключиться к справочной системе MIDAS и в графической моде. При этом вы, конечно, должны находиться в графической оболочке UNIX/Linux, например, X Windows. Как запустить эту оболочку, показано в Приложении А. 

Итак, находясь в среде X Windows, дайте следующую команду:
   CREATE/GUIDE HELP
и скоро увидите новое окно со списком команд MIDAS. В этом окне можно искать справочный материал, используя мышку (это главное и, вероятно, единственное отличие от справки в текстовой моде).

3. Справка о MCL

Справку о командах языка процедур MIDAS (MCL) можно получить следующим образом:
   HELP/CL
дает полный список таких команд, а
   HELP/CL command
показывает информацию о команде command.

4. Встроенный учебник 

Иногда установленная версия MIDAS включает также учебник (tutorial), который весьма подробно объясняет различные аспекты работы в MIDAS. Тогда, например, команда
   TUTORIAL/HELP
разъяснит использование справочной системы MIDAS (т.е. вы получите справку о справке). Существуют, конечно, и иные, более полезные квалификаторы команды TUTORIAL, но не все они могут быть задействованы на вашем PC (зависит от версии MIDAS и параметрах его установки).

5. Отладка с ECHO

MIDAS предоставляет несколько возможностей облегчить отладку процедур. В частности, если вставить команду ECHO с квалификаторами FULL, ON или OFF в начале процедуры, то при ее работе:

   ECHO/ON
приведет к выводу на экран всех исполненных операторов (в дополнение к прочей информации); 

   ECHO/FULL
выведет на экран ту же информацию, а также дополнительные строки, показывающие какие значения для переменных в скобках {} были подставлены системой MIDAS;

   ECHO/OFF
отменяет полностью оба вышеописанных режима.

Например, если запустить следующую процедуру:
   ECHO/ON
   DEFINE/LOCAL a/d/1/1 0d0
   a = {a} + 1d0
то на экране появятся три строчки (эквивалентные написанным выше). Но если заменить ECHO/ON на ECHO/FULL, то после соответствующего оператора высветится еще и дополнительная строчка
   a = 0.00000E+00 + 1d0

6. Отладка с DEBUG

Еще более мощной является отладочная команда
   DEBUG/PROCEDURE level_min,level_max ON
где level_min и level_max - некоторые числа (обычно равные 1 и 3, соответственно).

Если после такой команды запустить процедуру, то она будет выполняться пошагово - оператор за оператором с паузами между ними. Во время каждой паузы появляется приглашение
   Mdb>
Нажмите Enter, и следующий оператор будет исполнен и т.д.

Когда приглашение
   Mdb>
находится в текущей (последней) строке на экране, можно использовать специальные подкоманды. Их список выдается подкомандой h
   Mdb> h

Некоторые из подкоманд приведены в таблице.
==========================================================
 подкоманда    значение
----------------------------------------------------------
 go            сделать следующий шаг
 quit          выйти из исполняемой процедуры
 r keyword     показать значение ключевого слова keyword
 pause         дать возможность запустить команду MIDAS
               [чтобы вернуться обратно в процедуру,
                дайте MIDAS-команду CONTINUE]
==========================================================

Следует подчеркнуть, что в отличие от обычных команд MIDAS, эти подкоманды пишутся строчными буквами, т.е. подкоманда GO или Go работать не будет!

Заметим, что единственный способ узнать значение какого-либо локального ключевого слова – это дать команду MIDAS
   DEBUG/PROCEDURE 1,3 ON 
и запустить процедуру. Затем в нужном месте ответить на приглашение следующим образом:
   Mdb> r my_keyw
где my_keyw – имя ключевого слова, значение которого следует узнать.

Когда закончите отладку процедур(ы), не забудьте дать команду
   DEBUG/PROCEDURE level_min,level_max OFF

7. Тестовая трансляция

Существует также возможность проверить все команды MIDAS в процедуре на соответствие стандарту этой системы (имеется в виду число параметров и т.п.). Для этого служит команда
   TRANSLATE/SHOW proc X
где proc – имя файла, содержащего тестируемую MIDAS-процедуру.