Робота з дампами

Як вже було сказано вище, користувач може запросити дамп обчислення. Дампи - це звичайні текстові файли, що мають розширення ".dmp". Щоб запросити формування дампа, є два основних способи:

виклик вбудованої функції DUMP *;

натискання десятої кнопки тулбара.

Слід зазначити, що використання функції DUMP * є більш гнучким, оскільки дозволяє задати два рівня дампірованія: з включенням в дамп знімків асоціативного списку і без включення. Включення дампірованія натисканням кнопки (або вибором пункту меню) дозволяє задати тільки дампірованіе без включення знімків асоціативного списку.

При натисканні кнопки (або виклику функції DUMP * без параметрів) з'являється діалогове вікно вибору файлу. Користувач повинен задати ім'я нового або існуючого файлу. Новий файл буде створений, а якщо задано ім'я існуючого файлу, то нова інформація буде дописуватися в кінець файлу. Ім'я заданого файлу буде відображатися в статус-барі.

Щоб задати включення знімків асоціативного списку в дамп, слід викликати функцію DUMP * з другим параметром T.

Проілюструємо все сказане прикладом. У стандартну поставку входить рекурсивна функція fact. яка обчислює факторіал цілого числа. Якщо запустити інтерпретатор, включити режим дампірованія, задати ім'я файлу 444.dmp і обчислити S-вираз (fact 5). то в dump-файл потрапить вся службова інформація про роботу функції.

Робота з дампами

Робота з дампами

За дампи легко простежуються всі етапи обчислення. Точками показується рівень рекурсії. При дампіровніі алгоритмів з глибокої рекурсією зручнішим може виявитися режим відображення глибини укладення за допомогою числа в квадратних дужках. Режимом відображення вкладеності рекурсії управляє конфігураційний параметр NEST. Цей параметр може приймати значення 0. 1 або 2. Якщо значення NEST дорівнює 0. то вкладеність не відображається. Значення 1 викликає відображення вкладеності числом в квадратних дужках, а значення 2 викликає відображення вкладеності точками. Це виглядає так:

Робота з дампами

Якщо викликати функцію DUMP * явно, задавши другим параметром атом T. і обчислити 5 !. як показано нижче:

Робота з дампами

Робота з дампами

Для повернення до введення S-виразів слід повторно натиснути 14-ю кнопку тулбару. Для виходу з режиму дампірованія слід повторно натиснути 10-ю кнопку тулбару (або явно викликати вбудовану функцію UNDUMP *).

Режим дампірованія доступний і в скриптових двигунах CONLISP і WLISP. але, природно, включати дампірованіе тут доведеться викликом функції DUMP *. а переглядати дампи - за допомогою будь-яких підручних засобів.

Схожі статті