N.Wirth, J.Gutknecht - Project Oberon. The Design of an Operating System and Compiler / Н.Вирт, Ю.Гуткнехт - Проект Оберон. Разработка операционной системы и компилятора: 2.2.2. Команды
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Позиционно-зависимые команды, с определённым значением (определённым для каждого типа просмотрщика) должны быть дополнены основными командами. Обычно такие команды вводятся через клавиатуру. В виде специального текстового сообщения набирается название программы, которая должна быть выполнена. Таким образом система Оберон предоставляет новое и гораздо более гибкое решение, которое подробно описано в следующих пунктах. javdeev 25.08.11 в 09:05 |
|
|
Прежде всего отметим, что программа в привычном понимании это список действий слишком большой для одной команды и для удобства скомпилированный воедино. Например, вставка текста по клику мыши. В Oberon понятие единичного действия отличается от понятия скомпилированной программы. Первое представляет собой (экспортируемые) процедуры, второе - модуль. Таким образом, модуль может, и обычно включает в себя, несколько или даже множество команд. Такие (общие) команды могут быть вызваны в любое время путём указания названия в отображаемом на дисплее тексте и нажатию средней кнопки мыши. Имя команды имеет вид MP, где Р - идентификатор процедуры и М - модуль, в котором P объявлена. Как следствие, любая команда может вызвать загрузку одного или нескольких модулей, если М ещё не загружен.Следующий вызов MP происходит сразу же, так как М уже загружен. Другим следствием является то, что загруженные модули никогда (автоматически) не удаляются, потому что следующая команда вполне может сослаться на этот же модуль. javdeev 25.08.11 в 10:37 |
||
|
Каждая команда предназначеня для изменения состояние некоторых операндов. Как правило, операнд определяются как текст, следующий за командой идентификации, и Оберон поддерживает это правило. То есть, команды обозначаются как параметры процедуры, но система позволяет определять исходное положение текста и, одновременно, читать и интерпретировать текст, следующий за командой, т.е. фактические параметры. И чтение и интерпретация, однако, должны быть запрограммированы в явном виде. javdeev 07.09.11 в 20:08 |
||
|
Текстовый параметр должен ссылаться на объекты, которые существовали до начала выполнения команды, и вполне вероятно, на результат предыдущей интерпретации команды. В большинстве операционных систем, такими объектами являются файлы, зарегистрированные в каталоге, и они выступают в качестве интерфейсов между командами. Система Оберон расширяет это понятие; используются не только файлы, но и ссылки на файлы или любая глобальная переменная, так как модули хранятся в памяти даже после завершения команды, как уже упоминалось выше. javdeev 07.09.11 в 20:15 |
||
