<<< BACK NEXT >>>

МЕТКИ

У автора языка нет известных предубеждений по использованию переходов по меткам - всякое средство программирования должно быть сбалансировано относительно целей программы и способностей самого программиста.
Довольно часто использование переходов по метке избавляет от создания надуманных циклов. Итак, команды программы могут быть помечены метками (перехода). Метки бывают двух  типов – внутриблочные (локальные) и межблочные (глобальные). Метки определяются традиционным способом - замыканием идентификатора двоеточием (локальные) или двойным двоеточием (глобальные):

<имя метки>:   - определитель локальной метки.

        
<имя метки>::  - определитель глобальной метки.

КОМАНДЫ И ВЫРАЖЕНИЯ (общие положения)

Командой называется список арифметических или логических выражений,или оператор (компонента оператора) управления. Система выражений подобнасистемам выражений многих языков программирования, в частности,  C.
Список выражений определяется как перечисленные через запятую выражения:

   <выражение 1> [ , <выражение 2> ] ... [ , <выражение N> ]

и является командой. Команда может быть пустой, если в логической строке отсутствует список выражений или оператор.
   Синтаксис и семантика арифметических и логических выражений языка CAPER строятся традиционным для большинства практических языков способом.
   В наборе операций - комплекс арифметических, логических операций.

   public   var1, var2 :=  0
   private  arr1 := array( 'I', 0 ,  2,3,4,5),  =>
            arr2 :=  array('B', null, 2000)
   local    i:=1, j:=2, k:=4, p:=2

   var1 := (var2:= arr1[i, j, k-i, k-j] + arr2[n] ) * 10.2'D , =>
           i := ( var1 + var2) /       =>
           (j := (var1 * var2)), n := var1 + var2  *=  n + k

В последних  двух строках  приведена  одна  команда  как  последовательность выражений.
   Конечно же, чаще применимы  простейшие:

   var1 := 0              ;* ноль, по умолчанию  int
   var2 := 10.2e3         ;* плавающая константа - по умолчанию double float
   var3 := 10'F           ;* число, представляемое  в виде float
   var4 := 1.252          ;* double float
   var5 := 3'B            ;* число 3 в байте
   var6 := 'A'            ;* ASCII-код знака
   var7 := "Привет"       ;* указатель на литеральную строку

ФУНКЦИИ В CAPER (общие положения)

   Как уже говорилось, в языке CAPER основным логическим и исполнимым по
вызову структурным звеном программы является блок команд. Понятие функции
присутствует как в смысле ресурса языковой среды (вызов виртуальной машины CAPER), так и определяемого программистов блока команд специального типа.
   Функции CAPER, как правило, не требуют фиксированного числа параметров,
а их выполнение часто зависит от внутренних типов входных параметров (см. ниже) и их количества. Некорректный вызов функции, связанный с ошибочным видом или количеством параметров вызовет внутреннее программное прерывание, которое однозначно идентифицирует вид и место ошибки. Такие ошибки могут быть
исправлены по ходу вычисления.
   Однако, блоки могут быть прототипированы. В этом случае контроль за количеством параметров и их типом в вызовах блоков ведет компилятор, который выдает предупреждения о несоответствиях.

        
Параметры функций передаются по значению.

<<< BACK NEXT >>>