[an error occurred while processing this directive]

.сс

6 Исполнение программ

_______________________________________________________________

Если программа откомпилирована без ошибок, ее можно выполнить. Имеется три способа сделать это. Если объектный код находится в файле, его можно запустить набрав:

RUN filename <ВВОД> или просто filename <ВВОД>

В паследенм случае файл не должен иметь имя, сходное с какой нибудь командой типа 'COMPILE' или 'EDIT'.

Если объектный код находится в памяти, он может быть выполнен с помощью команды:

GO <ВВОД>

В любом случае, данные, передаваемеые программе в командной строке, должныбть набраны до нажатия <ВВОД>, например:

RUN filename 1 2 3 4 5<ВВОД>

filename 1 2 3 4 5<ВВОД>

GO 1 2 3 4 5<ВВОД>

Если при выполнении программы произойдет ошибка, на экран будет выдано сообщение об этом, например 'Division by zero'. При использовании параметра '{¤D+}' также будет напечатано местонахождение ошибки (номер строки и имя процедуры).

6.1 Трассировка программ

Используя команду 'TRACE' можно контролировать выполнение программы. Имеется три режима трассировки: трассировка отключена, печать имен процедур, печать номеров строк и имен процедур. Эти режимы устанавливаются цифрами 0, 1 и 2 соответственно, после команды 'TRACE'.

Не забудьте, что можно трассировать только те программы, которые были откомпилированы с генерацией отлаживаемого кода. Программы, скомпилированные с параметром '{¤D-}', не позволяют воспользоваться трассировкой.

Для примера рассмотрим следующую программу:

.ми0

program tracer(output);

var
i : integer;

procedure inc(var i : integer);
begin
i := succ(i)
end;

begin
i:=0;
repeat
inc(i)
until i=10
end.

.ми1

При ее выполнении после команды 'TRACE 1', на экране будет напечатано следующее:

(TRACER) (INC) (INC) (INC) (INC) (INC) (INC) (INC) (INC) (INC)

(INC)

После команды 'TRACE 2', результат трассировки будет иным:

(TRACER) [12] [14] [14] (INC) [8] [15] [14] (INC)

[8] [15] [14](INC) [8] [15] [14] (INC) [8] [15]

[14] (INC) [8] [15] [14] (INC) [8] [15] [14] (INC) [8]

[15] [14] (INC) [8] [15]

Заметьте, что имена процедур печатаются в круглых скобках, а номера строк - в квадратных.

.ст pascal.7

[an error occurred while processing this directive]