Какова сфера применения Кобола? - PullRequest
5 голосов
/ 21 февраля 2011

Как определяется область действия COBOL? Это статически ограничено?

Ответы [ 3 ]

4 голосов
/ 22 февраля 2011

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

В рамках этого Cobol поддерживает несколько уровней области действия в программах:

  • «Внешние» переменные эквивалентны общему разделу Fortran или ассемблера, они действительно глобальные.

  • Переменные "Global Program Scope", объявленные в рабочем хранилище как глобальные, видимы для всей программы, в которой они объявлены AND, во всех вложенных подпрограммах, содержащихся в этой программе.

  • Переменные "Область программы", объявленные в рабочем хранилище, видны всей программе, в которой они объявлены.

  • Переменные "Область программы", объявленные в локальном хранилище, видны всей программе, в которой они объявлены, но удаляются и повторно инициализируются при каждом вызове. Думайте, что объем ограничен, Сорта.

  • «Область вложенных программ» Cobol не различает программы и функции / процедуры, его эквивалентная процедура или функция называется программой. В программе может содержаться бесконечное количество программ, и переменные каждой из них видны только в пределах этой отдельной программы. Вы можете думать об этом как о области функций / процедур.

Расширения OO, которые есть у многих поставщиков, и стандарт 2002 года определяют традиционную область открытых / защищенных / частных объектов и область действия метода.

"Кобол" так же стар, как радар, лазер и аквалангист. Можем ли мы прекратить сокращать его?

1 голос
/ 22 февраля 2011

Все переменные в программе на языке COBOL имеют глобальную область видимости.На самом деле, нет никаких «областей» (в традиционном языке COBOL я не связываюсь с расширениями OO), а есть только «модули» или «программы».

Межмодульная связь осуществляется через секцию связывания (обычно передается по ссылке), а также все переменные там видны из вызываемого модуля.

0 голосов
/ 22 февраля 2011

COBOL использует статическую (лексическую) область действия (как и C, C ++, Java и Pascal). Динамический охват не так уж распространен в мире программирования. Я думаю, что некоторые версии Lisp и SNOBOL использовали динамическую область видимости.

Если вы заинтересованы в понимании области применения языков программирования, вам следует просмотреть этот документ

...