Киберфак – бесплатно скачать презентации PowerPoint, лекции, рефераты, шпоры, курсовые cyberfac logo
cyberfac.ru
На главную | Регистрация | Вход
  Статьи  
Главная » Статьи » Информатика » Языки программирования и методы трансляции

Типы модулей

Полезная статья? Пожалуйста, поставьте "+"
Языки программирования и методы трансляции - Содержание

В языке Modula-2 модули могут быть трех видов: основные, библиотечные и локальные. В любой программе основной модуль (MODULE) может быть только один. Основной (или программный) модуль описывается следующим образом:

программный модуль = "MODULE",идентификатор модуля,

возможная защита,{список импорта}, блок модуля, идентификатор модуля,".";

Пример кода модуля:

MODULE lowlevel;
FROM IO IMPORT WrStr, WrLn; BEGIN

WrLn;

WrStr("Hello Mephi!”); END lowlevel.

Библиотечные модули (или раздельные модули) состоят в точности из двух частей – интерфейса (DEFINITION MODULE) (раздел определений) и его реализации (IMPLEMENTATION MODULE) (раздел реализации).

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

модуль определений = "DEFINITION","MODULE",

простой идентификатор модуля,";", {список импорта},
{набор описаний констант |

набор описаний и определений типов |

набор описаний переменных | определение процедуры,";"}, "END",простой идентификатор модуля,".";

набор описаний и определений типов = "TYPE",{описание или определение типа,";"};

описание или определение типа =
описание типа | определение скрытого типа;

определение скрытого типа = простой идентификатор;

определение процедуры = заголовок процедуры;

модуль реализации = "IMPLEMENTATION","MODULE",

идентификатор модуля,
возможная защита,{список импорта},

блок модуля, идентификатор модуля,".";

Пример кода библиотечного модуля:

(* область определений – отдельный файл с расширением DEF *)

DEFINITION MODULE UNKNOWN; VAR nechto: BOOLEAN; PROCEDURE go(x: CARDINAL);

END UNKNOWN.

(* область реализации – отдельный файл с расширением MOD *)

IMPLEMENTATION MODULE UNKNOWN; PROCEDURE go(x: CARDINAL);

BEGIN ...

END go;

BEGIN ...

END UNKNOWN.

Модули могут быть текстуально вложенными и в этом случае они не компилируются раздельно. Такие модули называются локальными и их единственная цель – скрыть детали описания внутренних объектов.

Описание локального модуля = "MODULE",

простой идентификатор модуля, возможная защита,

{список импорта},[список экспорта], блок модуля,

простой идентификатор модуля; простой идентификатор модуля =

простой идентификатор; возможная защита =

левая квадратная скобка,

задание уровня защиты, правая квадратная скобка,";"|

";";
задание уровня защиты = константное выражение; список импорта =

список простого импорта|

список неквалифицируемого импорта; список простого импорта =

"IMPORT",список идентификаторов,";"; список неквалифицируемого импорта =

"FROM",идентификатор модуля,

"IMPORT",список идентификаторов,";"; список экспорта =

список неквалифицируемого экспорта|

список квалифицируемого экспорта; список неквалифицируемого экспорта =

"EXPORT",список идентификаторов,";"; список квалифицируемого экспорта =

"EXPORT","QUALIFIED", список идентификаторов,";";

Пример кода вложенного модуля N:

MODULE M;
VAR u, v, w: CARDINAL; PROCEDURE external(C: CARDINAL); BEGIN

...
END external; MODULE N;

VAR x, y, z: CARDIANL; PROCEDURE internal(A: CARDINAL); BEGIN

...
END internal;

END N; END M;

Категория: Языки программирования и методы трансляции | Добавил: Ni-Cd (11 Декабря 2011)
Просмотров: 1787 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
  Полезные материалы  

В нашем каталоге файлов можно найти много полезной информации. Также советуем заглянуть в каталог статей: в нем есть полезные статьи по темам: Экономика предприятия, Общая экономика, Финансы и Кредит, также Словарь терминов по экономике, Маркетинг, Бухучет и Мировая экономика
Также есть полезная страница Факультеты МИФИ, которая расскажет о том, какие есть в МИФИ факультеты.
Меню
 

Навигация
Высокоуровневые методы информатики и программирования [28]
Информатика и программирование [34]
Информационные системы в экономике [36]
Языки программирования и методы трансляции [15]
Алгоритмизация и программирование [61]
 

Поиск
 

Онлайн
Онлайн всего: 1
Гостей: 1
Пользователей: 0
 

Статистика


Рейтинг@Mail.ru

 


2007 - 2024 © Ni-Cd. All Rights Reserved