2. Обща структура на програмата
15
2.5. Раздел за описание на променливи
Всяка използвана в програма, процедура или функция променлива трябва да
бъде описана преди това в раздела за описание на променливи. Описанието на
променливата задава името й и я свързва с някакъв тип данни, определяйки по този начин
и операциите, които могат да се извършват над нея. Разделът за описание на
променливи започва с ключовата дума var и има следния вид:
VarDeclaration =
'var' IdentList ':' Type ';' {
      IdentList ':' Type ';' }.
2.6. Раздел за описание на процедури и функции
Описанието на процедури и функции в Pascal прилича на описанието на програма.
Разликата е, че вместо ключовата дума program се използва procedure или function.
Описанието им се състои от заглавна част и последващ я блок. Процедурата
представлява подпрограма и се активира (извиква) чрез своето име. Функцията е друг
вид подпрограма. Тя явно връща като резултат от изпълнението си някаква стойност и
се използва като компонента на израз.
PFDeclaration =
{ ProcDeclaration | FuncDeclaration }.
2.7. Правила за достъп и област на действие на имената
Всички идентификатори и етикети са локални за блока, в който са описани. Това
означава, че извън този блок те са недостъпни. Идентификаторите са достъпни
навсякъде в блока, включително и във вложените в него такива. Идентификаторите,
описани в главната програма, се наричат глобални. Те са достъпни в цялата програма.
Трябва да се отчитат следните особености:
*
всички етикети, били те глобални или локални, са достъпни само в блока, в
който са описани, но не и във вложените в него такива;
*
ако някоя променлива се използва като управляваща променлива на FOR
цикъл, то тя трябва да бъде локална за блока, в тялото на който се намира
самият цикъл;
*
при вложените блокове е разрешено преописването на идентификатор от
външния блок във вътрешния. Тогава за съответния идентификатор е
валидно описанието, направено във вътрешния блок, и няма никаква
възможност за използване на идентификатора в смисъла на описанието,
направено във външния блок;
*
всеки идентификатор (или етикет) може да бъде описан един единствен път
в рамките на един блок. Изключение прави случая с вложеност на блоковете
(описан по-горе) и дефинирането на идентификатора като поле на
структурата запис (record). Но и там един идентификатор не може да се
описва на две места в един и същи запис и на едно и също ниво на
вложеност;
*
описанието на всеки идентификатор става валидно от мястото, на което е
направено до края на блока, в който се намира. Използването на
идентификатора преди неговото описание е грешка. Изключение от това
правило се допуска само при описание на указатели. Разрешава се описване
на указатели към още неописан тип, но неговото описание (на неописания
<<  <  GO  >  >>

Вернуться к началу сайта