Dev/Docu/ru/Browser.odc

DevBrowser

DEFINITION DevBrowser;

	PROCEDURE ImportSymFile (f: Files.File; OUT s: Stores.Store);
	PROCEDURE ShowInterface (opts: ARRAY OF CHAR);
	PROCEDURE ImportCodeFile (f: Files.File; OUT s: Stores.Store);
	PROCEDURE ShowCodeFile;

END DevBrowser.


Браузер показывает интерфейс модуля или элемента в модуле. Он извлекает необходимую информацию из символьных файлов модуля. Символьный файл содержит лишь минимальную информацию, он не содержит ни комментариев, ни информации о том, в каком порядке элементы модуля располагались в исходном тексте (они показываются в алфавитном порядке). Для записей браузер показывает лишь заново добавленные поля и процедуры (или процедуры, переопределенные с covariant function results - <возвращающие результат расширенного типа>). Вы можете проследовать по иерархии типов записей к базовому типу, применяя команду браузера к имени базового типа в объявлении записи. Браузер также может декодировать файл кода и показать важную информацию о нем. В частности, показываются импортируемые элементы (типы, процедуры, и т.п.), от которых данный модуль зависит (этот набор иногда называют "требуемый интерфейс", в противоположность "предоставляемому интерфейсу", то есть, экспортируемой функциональности модуля).
Все функции браузера доступны также в качестве импортера (-> Converters), который может быть установлен в Config.Setup следующим образом:

Windows:
	Converters.Register("DevBrowser.ImportSymFile", "", "TextViews.View", "OSF", {});
	Converters.Register("DevBrowser.ImportCodeFile", "", "TextViews.View", "OCF", {});

Mac OS:
	Converters.Register("DevBrowser.ImportSymFile", "", "TextViews.View", "oSYM", {});
	Converters.Register("DevBrowser.ImportCodeFile", "", "TextViews.View", "oOBJ", {});

Возможные меню:

MENU
	"&Interface"	""	"DevBrowser.ShowInterface('')"	"TextCmds.SelectionGuard"
	"&Flat Interface"	""	"DevBrowser.ShowInterface('!')"	"TextCmds.SelectionGuard"
	"Import Interface"	""	"DevBrowser.ShowCodeFile"	"TextCmds.SelectionGuard"
END


PROCEDURE ImportSymFile (f: Files.File; OUT s: Stores.Store)
Эта процедура устанавливается при запуске BlackBox как импортер символьных файлов (-> Converters). Импортер преобразует символьный файл в текстовый вид.

PROCEDURE ShowInterface (opts: ARRAY OF CHAR)
Охрана: TextCmds.SelectionGuard
Если выделено имя модуля, эта команда покажет полное описание модуля. Если выбрано полное имя, будет показано определение только соответствующего элемента.
opts = "" в случае типов записей выводит только заново введенные расширения.
opts = "!" выводит для типов записей также элементы, унаследованные от базового типа ("плоский интерфейс").
opts = "+" показывает некоторую дополнительную низкоуровневую информацию, полезную для разработчиков компиляторов (не документировано).
opts = "/" форматирует вывод особым образом. Неофициально называется "опция Дейкстры".
opts = "&" показывает также ловушки в интерфейсе.
opts = "@" использует настройки из диалога настроек браузера.
opts = "c" показываются только элементы, которые можно использовать в клиентских модулях.
opts = "e" показываются только те элементы, которые могут быть расширены.
Несколько параметров могут сочетаться.

PROCEDURE ImportCodeFile (f: Files.File; OUT s: Stores.Store)
Эта процедура устанавливается при запуске BlackBox как импортер кодовых файлов (-> Converters). Импортер преобразует кодовый файл в текстовый вид.

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