============================= MuLisp Editor (LED) =========================== Запускается - LED.bat. Верхняя часть экрана - текстовый редактор. Посередине (lightgray) - меню, ниже (magenta) - подсказка/warning/prompt LED'a, еще ниже (lightblue) - status info. Цвета перенастраиваются, см. ниже. Похоже, правда, что цветовые настройки не сохраняются. Переход по меню - tab или/и соответствующими буквами. Замечено по крайней мере два места, где tab не работает, приходится выбирать буквами. При запуске мы попадаем 1) в режим редактирования (а не отладки) текста и 2) в меню. Меню несколько нетривиально :(. Вот оно: * Alpha - переход к редактированию текста в имеющемся окне. Переход обратно - Esc. Замечание: при возврате к меню курсор скрывается, что несколько неудобно. Информация о его положении доступна в строке состояния. * Block - выделяем/копируем/перемещаемся по/вставляем/ блок текста. Чтобы выделить текст выбираем Begin, возвращаемся в режим Alpha, доходим до нужного символа, в режим Block, End. Замечание: факт выделения текста надо отслеживать по строке состояния, сам по себе текст не подсвечивается. * Mode - в режиме редактирования (а не отладки) это всего лишь Insert/Overlay. Клавиша Ins тоже работает. * Options - настройки и не только /Colors - настройка цветов меню и рабочего (текстового) поля /Display - настройки видеоадаптера /Execute - командная строка DOS /Mute - будет ли MuLisp издавать звуки (Yes - не будет) Замечание: при однократном изменении цветов, вылетаем сразу в основное меню, так что любителям эстетики придется немного помучиться. Замечание: при настройке звука не работает tab, только буквы. Замечание: логику запихивания DOS PROMPT'а в этот раздел я не поняла. * Print - настройки принтера. Принтер должен быть опознаваем DOS'ом. /Printer - тут указать, какой файл печатаем /Layout - параметры одной страницы (отступ слева, справа) /Options - настройки для всего файла (с какой по какую страницу печатаем и т. п.) * Quit - выход. Если несохраненных кусков текста нет, то без предупреждения. * Replace - просит образец и чем его заменить. Если находит, спрашивает подтверждение на замену. Замечание: вхождения образца ищет с текущего положения курсора, надо следить за строкой состояния. * Search - аналогично Replace. Ставит курсор на первое найденное вхождение образца. * Transfer- работа с файлами. Save to/Load from и прочие радости жизни. * Window - работа с окошками. /Close - закрыть текущее окошко. Все выжившие при этом перенумеровываются. /Designate - назначить окну режим: либо текстовый редактор, либо дебаггер. /Flip /* не поняла, что за излишество */ /Goto, /Next, /Previous - это понятно что, переходы от окна к окну. /Open - открыть окошко. При открытии сразу указываем, каким мы хотим его видеть - дебаггером или редактором. /Split - разбить текущее окно на два окна. Текст копируется. Замечание: открытие, закрытие, сплитование одного окна не влияет на все остальные (кроме возможной перенумерации). ============================================================================= Итого: чтобы запустить LED как отладчик можно сделать одно из двух: 1) Window / Open / Debug 2) Window / Destinate / Debug После чего насладиться возникшим меню отладчика: * Author - позволяет набрать любую форму, выдает результат еЈ вычисления. (т. е., например, вызов лисповской функции) * Delete - удалить файл * History - посмотреть историю обработки форм * Load - загрузить файл * Mode - Трассировка по шагам или бегом (тут всЈ понятно). Замечание: Tab опять не работает, опять выбираем по заглавной букве. * Options - те же, что для редактора. * Print - то же, что для редактора. * Trace/trace In/Untrace - (самоочевидно) * Window - то же, что для редактора. ============================================================================= Итак, как этим пользоваться. 1. Написали программу (несколько функций). Сохранили еЈ (их) в файле. 2. Запустили LED.bat. Настроили цвета по вкусу. 3. Набрали W D D или W O D. 4. Загрузили файл (L) - он должен проинтерпретироваться при загрузке. 5. Установили режим трассировки в Continuous (M C) 5. Указали, какую функцию хотим оттрассировать. T <имя функции> 6. Запустили эту функцию с тестовыми параметрами. A (<имя функции> <параметры>) 7. Насладились глубиной рекурсии, правильно работающей программой и тем, что не пришлось расписывать лисповский стек руками :). ============================================================================= 03.03.03 (с) Ольга Цаун, группа 304 ВМК МГУ