Проект gpl-2C

 

Документация\Уровень 0\Описание встроенного языка

Пред.

Содержание

След.
1.3.1. Лексемы

1.3.2. Конструкции языка: Структурные

1.3.3. Конструкции языка: Предварительное описание процедур и функций

1.3.2. Конструкции языка: Структурные

1.3.2.1. Для ... Цикл (For ... Do)

Русскоязычный синтаксис:

Для <Перем1>=<Выражение1> По <Выражение2> Цикл

   // операторы

КонецЦикла

 

Англоязычный синтаксис: 

For <Value1>=<Expression1> To <Expression2> Do

     // operators

EndDo

Назначение:

Оператор цикла с шагом.

Параметры:

<Перем1>(<Value1>) - идентификатор переменной счетчика цикла

<Выражение1>(<Expression1>) - начальное значение счетчика цикла

<Выражение2>(<Expression2>) - конечное значение счетчика цикла

1.3.2.2. Если ... Тогда ... ИначеЕсли ... Иначе (If ... Then ... ElsIf ... Else )

Русскоязычный синтаксис:

Если <Выражение1> Тогда

   // операторы Тогда

ИначеЕсли <Выражение2> Тогда

    // операторы ИначеЕсли

Иначе

    // операторы Иначе

КонецЕсли

 

Англоязычный синтаксис:

If <Expression1> Then

     // operators Then

ElsIf <Expression2> Then

     // operators ElsIf

Else

     // operators Else

EndIf

Назначение:

Оператор условного выполнения.

Параметры:

<Выражение1>(<Expression1>) - логическое выражение

<Выражение2>(<Expression2>) - логическое выражение

1.3.2.3. Пока ... Цикл (While ... Do)

Русскоязычный синтаксис:

Пока <Выражение1> Цикл

   // операторы

КонецЦикла

 

Англоязычный синтаксис:

While <Expression1> Do

     // operators

EndDo

Назначение:

Оператор цикла с предусловием.

Параметры:

<Выражение1>(<Expression1>) - логическое выражение

1.3.2.4. Попытка ... Исключение (Try ... Except)

Русскоязычный синтаксис:

Попытка

   // критичные операторы

Исключение

    // обработка исключительной ситуации

КонецПопытки

 

Англоязычный синтаксис:

Try

     // operators

Except

    // process exception

EndTry

Назначение:

Управляет работой программы, основываясь на возникающих в процессе работы модуля ошибочных (исключительных) ситуаций и определяет обработку этих ситуаций. В качестве ошибочных (исключительных) ситуаций воспринимаются ошибки времени выполнения модуля.

В выдаче диагностики может помочь встроенная функция ОписаниеОшибки() (GetErrorDescription). См. также ВызватьИсключение()

Параметры:

нет

1.3.2.5. Процедура (Procedure)

Русскоязычный синтаксис:

Процедура <ИмяПроц>([[Знач] <Парам1>[=<ДефЗнач>],... ,[Знач] <ПарамN>[=<ДефЗнач>]]) [Экспорт][Виртуально]

    //Объявление локальных переменных   

    //Операторы

...

    Возврат

    //Операторы

...    

КонецПроцедуры

 

Англоязычный синтаксис:

Procedure <NameProc>([Val] <Param1>[=<DefVal>],... ,[Val] <ParamN>[=<DefVal>]]) [Export][Virtual])

    //Local variable 

    //Operators

...

    Return

    //Operators

...

EndProcedure

Назначение:

Ключевое слово Процедура начинает секцию исходного текста, выполнение которого можно инициировать из любой точки программного модуля, просто указав <Имя_процедуры> со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Конец программной секции процедуры определяется по ключевому слову КонецПроцедуры.
Замечание:
Ключевые слова Процедура, КонецПроцедуры, являются не операторами, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля).

Параметры:

<ИмяПроц> - Назначает имя процедуры.
Знач - Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении процедуры никак не повлияет на фактический параметр, переданный при вызове процедуры. Если это ключевое слово не указано, то параметр процедуры передается по ссылке, то есть изменение внутри процедуры значения формального параметра приведет к изменению значения соответствующего фактического параметра.
<Парам1>,...,<ПарамN> - Необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответсвовать значениям передаваемых при вызове процедуры фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте процедуры. Список формальных параметров может быть пуст.
=<ДефЗнач> - Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров. Если параметр при вызове процедуры опущен, то он принимает либо установленное по умолчанию значение (если оно есть) либо принимает ''пустое'' значение (значение неопределенного типа). Если параметру не задано значение по умолчанию и он является последним в списке передаваемых параметров, то при вызове процедуры его нельзя опускать. Если параметру задано значение по умолчанию и он является последним в списке, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров и не ставить запятую перед опущенным параметром. Если параметру не задано значения по умолчанию, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить.
Экспорт - Необязательное ключевое слово, которое указывает на то, что данная процедура является доступной из других программных модулей. Имеет смысл только в глобальном программном модуле.
//Объявления локальных переменных - Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры.
//Операторы - Исполняемые операторы процедуры.
Возврат - оператор, который завершает выполнение процедуры и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре не обязательно.

1.3.2.6. Функция (Function)

Русскоязычный синтаксис:

Функция <ИмяФунк>([[Знач] <Парам1>[=<ДефЗнач>],... ,[Знач] <ПарамN>[=<ДефЗнач>]]) [Экспорт][Виртуально]

    //Объявление локальных переменных   

    //Операторы

...

    Возврат <Возвращаемое значение>

    //Операторы

...    

КонецФункции

 

Англоязычный синтаксис:

Function <NameFunc>([Val] <Param1>[=<DefVal>],... ,[Val] <ParamN>[=<DefVal>]]) [Export][Virtual])

    //Local variable 

    //Operators

...

    Return <Returned Value>

    //Operators

...

EndProcedure

Назначение:

Ключевое слово Функция начинает секцию исходного текста, выполнение которого можно инициировать из любой точки программного модуля, просто указав <Имя_функции> со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Конец программной секции Функции определяется по ключевому слову КонецФункции.
Замечание:
Ключевые слова Функция, КонецФункции, являются не операторами, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля).

Параметры:

<Имя_функции> - Назначает имя функции
Знач - Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении функции никак не повлияет на фактический параметр, переданный при вызове функции. Если это ключевое слово не указано, то параметр функции передается по ссылке, то есть изменение внутри функции значения формального параметра приведет к изменению значения соответствующего фактического параметра.
<Парам1>,...,<ПарамN> - Необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответсвовать значениям передаваемых при вызове функции фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте функции. Список формальных параметров может быть пуст.
=<ДефЗнач> - Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров. Если параметр при вызове функции опущен, то он принимает либо установленное по умолчанию значение (если оно есть) либо принимает ''пустое'' значение (значение неопределенного типа). Если параметру не задано значение по умолчанию и он является последним в списке передаваемых параметров, то при вызове функции его нельзя опускать. Если параметру задано значение по умолчанию и он является последним в списке, то при вызове функции его можно опускать в списке передаваемых фактических параметров и не ставить запятую перед опущенным параметром. Если параметру не задано значения по умолчанию, то при вызове функции его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить.
Экспорт - Необязательное ключевое слово, которое указывает на то, что данная функция является доступной из других программных модулей. Имеет смысл только в глобальном программном модуле.
//Объявления локальных переменных - Объявляются локальные переменные, на которые можно ссылаться только в рамках этой функции.
//Операторы - Исполняемые операторы функции.
Возврат - оператор, который завершает выполнение функции и возвращает ВозвращаемоеЗначение в выражение, в котором используется функция. Использование данного ключевого слова в функции обязательно.
<ВозвращаемоеЗначение> - Выражение, значение которого содержит результат обращения к функции.