Protel - Protel

Protel расшифровывается как «язык, требующий применения процедурно-ориентированного типа». Это язык программирования, созданный Nortel Networks и используется в телекоммуникационных системах коммутации, таких как ДМС-100.[1][2] Protel-2 - объектно-ориентированная версия Protel.[3][4]

Языки PROTEL были разработаны для удовлетворения потребностей цифровой телефонии и являются основой ДМС-100 Линия коммутационных систем PROTEL - это строго типизированный язык с блочной структурой, в значительной степени основанный на ПАСКАЛЬ и АЛГОЛ 68 с присваиванием переменных слева направо, массивами переменного размера и расширяемыми структурами. Разработчики PROTEL значительно расширили PASCAL того времени, добавив внешнюю компиляцию и расширив структуры данных, доступные на языке.[3]

Переменные и присвоение

Переменные объявляются аналогично Паскалю.

  • VAR MYVAR: INT;

Чтобы присвоить значение:

  • 5 -> MYVAR;

Примечание: Орграф '->' в просторечии называется газинта оператор (потому что в приведенном выше примере 5 переходит в (=газинта) MYVAR).

Чтобы объявить строковую переменную с именем FOO:

  • VAR FOO IS DESC [1..10] OF CHAR;

Примечание: PROTEL обращается к массивам начиная с 1.

Процедуры

  • PROC myprocname ( список аргументов ) НАЧИНАЕТСЯ ...код... КОНЕЦ

Примечание: Область блока определяется BEGIN и END.

Функции

  • FUNC myfuncname ( список аргументов ) RETURNS INT НАЧИНАЕТСЯ ...код... КОНЕЦ

Структуры

ТАБЛИЦА - это основная структура. Он объявлен и используется аналогично языкам, произошедшим от Паскаля.

Союзы

OVERLAY - это основная структура объединения. Он объявлен и используется аналогично языкам, произошедшим от Паскаля.

ОБЛАСТИ

Области - это блоки памяти, которые можно преобразовать в ТАБЛИЦЫ и НАДПИСИ. Они объявляются в байтах и ​​обычно объявляются достаточно большими, чтобы обеспечить возможность расширения в будущем. Это связано с желанием обновить программное обеспечение DMS «вживую», не требуя перезагрузки. Модульная природа PROTEL позволяет заменять относительно небольшие фрагменты кода в загрузку; если бы AREA были спланированы грамотно, это не повлияло бы на размещение модулей в памяти, что позволит избежать перезапуска.

МОДУЛИ

Файлы обычно начинаются с объявления MODULE: модуль является единицей компиляции.

  • МОДУЛЬ mymodulename;

Поток управления

Оператор switch НЕ проваливается, как в C.

Рекомендации

  1. ^ Кришна, Sundeep Sahay, Брайан Николсон, С. (2003). Глобальный ИТ-аутсорсинг: международная разработка программного обеспечения. Кембридж: Издательство Кембриджского университета. п.7. ISBN  978-0521816045.
  2. ^ Телесис (3), 1989 Отсутствует или пусто | название = (Помогите)
  3. ^ а б «Опыт работы с языком модульной типизации: PROTEL», ICSE '81 Материалы 5-й международной конференции по программной инженерии.
  4. ^ Dini, P .; Boutaba, R .; Логриппо, Л., ред. (1997). Функциональные взаимодействия в телекоммуникационных сетях IV. Амстердам: IOS Press. п. 23. ISBN  978-9051993479.