[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]