SoftCraft
разноликое программирование

Top.Mail.Ru

Функциональная модель параллельных вычислений и язык программирования "Пифагор"


[ <<< | Содержание | Предисловие | Введение | 1 | 2 | 3 | 4 | 5 | Заключение | П1 | П2 | П2 | Источники | >>> ]


© 2002 А.И. Легалов, Ф.А. Казаков, Д.А. Кузьмин, Д.В. Привалихин

5. Интегрированная среда разработки

Интегрированная среда разработки (рис 5.1) осуществляет координацию взаимодействия транслятора и интерпретатора и интерфейс с пользователем. Она реализована в виде графической оболочки, обеспечивающей чтение файлов с исходными текстами функциональных программ, и содержит:

  1. многооконный текстовый редактор;
  2. панель инструментов, с помощью которой имеется возможность трансляции, выполнения и пошаговой отладки разрабатываемых программ непосредственно под управлением данной среды
  3. вспомогательные возможности просмотра отдельных функций;
  4. окно информации транслятора, окно для ввода аргумента выполняемой или отлаживаемой функции, окно информации пошагового отладчика и окно, в котором отображается результат выполнения.


Рис 5.1. Интегрированная среда разработки

5. 1. Текстовый редактор

Многооконный текстовый редактор данной среды разработки программ позволяет вести набор текстов программ в нескольких дочерних окнах и производить все сопутствующие набору текстов операции: чтение и запись в файлы, копирование частей текста из одного окна в другое, а также в буфер и из буфера обмена Windows. Имеется возможность открытия нескольких окон редактирования для одного и того же файла.

5.2. Панель инструментов и управление транслятором и интерпретатором.

Панель инструментов среды (рис. 5.2), помимо кнопок, стандартных для текстовых редакторов: открытия нового файла, чтения уже существующего, сохранения файла и т.д., включает несколько новых кнопок для управления трансляцией, интерпретации и пошаговой интерпретации разрабатываемых программ.


Рис 5.2. Панель инструментов интегрированной среды разработки.

- кнопка для получения информации о функции, имя которой выбрано в выпадающем списке (Combo Box) слева от этой кнопки. В настоящее время информация о функции содержит только ее текст (рис 5.3), но даже такая возможность делает написание программ удобнее, поскольку позволяет не отвлекаться от написания разрабатываемой функции для выяснения функционирования других функций.


Рис 5.3. Окно свойств функции.

Получение информации о функции возможно также при нажатии правой кнопки мыши на имени функции в окне редактирования. Если имя функции содержится в списке функций программы, её имя появится в списке команд контекстного меню.

Список функций программы (рис 5.4) меняется при переключении между окнами редактора, поскольку каждая из программ в окнах редактора содержит свой список функций. Если программа ещё не подвергалась трансляции, её список функций будет пуст. В дальнейшем список функций включает в себя имена функций, найденных в тексте программы на момент последней успешной трансляции. При выборе в списке функций пустой строки произойдёт непосредственная интерпретация значения, записанного в окне аргумента, без его использования в качестве параметра одной из оттранслированных функций. Это позволяет использовать среду как простой калькулятор. Результат непосредственной интерпретации аргумента будет передан в окно результатов (рис. 5.7). Если в ходе последней трансляции были найдены ошибки, список функций очищается.


Рис 5.4. Список функций программы в текущем окне.

- кнопка для выполнения трансляции текста активного окна редактора. При этом необходимо учитывать, что транслятор работает не с текстом в окне редактора, а с файлом, поэтому перед первой трансляцией созданного текста программы при нажатии на эту кнопку среда запросит имя файла для сохранения текста в активном окне. Ещё одним побочным эффектом трансляции является то, что невозможно вернуться к предыдущему состоянию текста программы, поскольку, как уже было сказано, среда всегда сохранит содержимое активного окна перед трансляцией. Однако, существование возможности отмены последнего действия по редактированию текста позволяет несколько смягчить эффект необратимых изменений текста после трансляции.

После успешной трансляции в окне выходной информации транслятора (рис. 5.5) появляется информация о количестве транслированных строк программы или сообщение о местоположении синтаксической ошибки в случае обнаружения таковой. Если трансляция была выполнена успешно, в выпадающем списке функций программы информация обновляется и, помимо этого становятся доступны команды интерпретации и пошаговой интерпретации. При этом кнопка сама кнопка выполнения трансляции становится недоступной до первого изменения содержимого окна редактирования. В противном случае список функций очищается.


Рис 5.5. Окно выходной информации транслятора.

- кнопка запуска процесса интерпретации функции, имя которой выбрано в списке функций (рис 5.4). Если ни одна из функций не выбрана, сообщение об этом выдаётся пользователю. Если запускаемая функция требует наличия аргумента, он должен быть введён в окне аргумента функции (рис 5.6) до запуска процесса выполнения, иначе пользователь получит сообщение об отсутствии идентификатора аргумента функции. Синтаксис аргумента должен соответствовать синтаксису терма языка, т.е. это может быть атом, список, блок или идентификатор. В аргументе можно использовать идентификаторы функций и констант оттранслированной программы, располагаемой на данный момент в активном окне. При обнаружении ошибок в синтаксисе аргумента, пользователю выдаётся соответствующее сообщение.


Рис 5.6. Окно аргумента функции.

По окончании интерпретации среда автоматически переключит окно результатов выполнения функции в активное состояние (рис 5.7). Синтаксис результата соответствует синтаксическим правилам языка. В качестве результата могут быть выданы также и значения, соответствующие ошибкам.


Рис. 5.7. Окно результатов интерпретации функции.

- кнопка пошаговой отладки функции, имя которой выбрано в списке функций (рис. 5.4). Если ни одна из функций не выбрана, сообщение об этом выдаётся пользователю. Если запускаемая функция требует наличия аргумента, он должен быть введён в окне аргумента функции (рис 5.6) до запуска процесса отладки, иначе пользователь получит сообщение о не инициализации идентификатора аргумента функции.

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

При пошаговой интерпретации необходимо учитывать, что транслятор преобразует все операции интерпретации исходного текста к постфиксной форме.


Рис. 5.8. Окно отладочной информации.

Вертикальный размер окон в нижней части родительского окна можно изменить, нажав и потянув левой кнопкой мыши вверх или вниз за горизонтальную линию (сплиттер), разделяющую верхнюю и нижнюю части главного окна (рис. 5.1).


[ <<< | Содержание | Предисловие | Введение | 1 | 2 | 3 | 4 | 5 | Заключение | П1 | П2 | П2 | Источники | >>> ]