Информационная система "Конференции"



IV Всероссийская конференция молодых ученых по математическому моделированию и информационным технологиям

Красноярск, Академгородок, 3-5 ноября 2003 года

Тезисы докладов


Информационные технологии

Интегрированная среда разработки программ на функциональном языке параллельного программирования "Пифагор"

Привалихин Д.В.

Красноярский государственный технический университет (Красноярск)

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

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

1. многооконный текстовый редактор;

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

3. вспомогательные возможности просмотра отдельных функций;

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

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

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

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

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

1. Кнопка для получения информации о функции, имя которой выбрано в выпадающем списке слева от этой кнопки. В настоящее время информация о функции содержит только ее текст, но даже такая возможность делает написание программ удобнее, поскольку позволяет не отвлекаться от написания разрабатываемой функции для выяснения функционирования других функций. Получение информации о функции возможно также при нажатии правой кнопки мыши на имени функции в окне редактирования. Если имя функции содержится в списке функций программы, её имя появится в списке команд контекстного меню. Список функций программы меняется при переключении между окнами редактора, поскольку каждая из программ в окнах редактора содержит свой список функций. Если программа ещё не подвергалась трансляции, её список функций будет пуст. В дальнейшем список функций включает в себя имена функций, найденных в тексте программы на момент последней успешной трансляции и строку «Вычисление аргумента». При выборе этой строки в качестве запускаемой функции произойдёт интерпретация аргумента с передачей результата в окно результатов. Если в ходе последней трансляции были найдены ошибки, список функций очищается.

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

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

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

Дополнительные материалы: HTML
Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск