Page tree
Skip to end of metadata
Go to start of metadata

Skript (zdrojový text) jazyka ESL pozostáva z procedúr a inicializačnej časti. Inicializačná časť je aktivovaná po spustení skriptu. Ide vlastne o vstupný bod, na ktorý sa predá riadenie. V rámci inicializačnej časti je možné volať procedúry definované v skripte a tým vykonávať vlastný algoritmus. Prítomnosť procedúr v skripte nie je povinná. V jednoduchšom prípade je možné celý algoritmus vykonať v rámci inicializačnej časti.
Pri použití HIS servera sa inicializačná časť Lokálneho a Remote skriptu vykonávajú súčasne.

Pravidlá pri zápise akcií skriptu:

  • Každá akcia (výkonný prvok jazyka) je zapísaná samostatne na jednom riadku. Zapísaný algoritmus je teda postupnosť akcií (riadkov), ktoré sú postupne za sebou vykonávané. Poradie vykonávania akcií je možné meniť akciami napríklad: GOTO, ON GOTO, GOSUB, CALL, IF GOTO, IF THEN ELSE, ...
  • Komentár je vždy uvedený (začína) znakom ';' a pokračuje do konca riadku (viac riadkové komentáre nie sú možné).

Inicializačnú časť začína:

  1. explicitne akcia BEGIN,
  2. ľubovoľná akcia okrem deklarácie lokálnej premennej alebo tela procedúry.

Nasledujúci príklad nastavuje hodnotu 1 objektu U.Int, v rámci inicializačnej časti (pravidlo 2).

U.Int := 1     ; nastaví hodnotu premennej na 1

Priradenie je v ESL chápané ako akcia. V zdrojovom texte za priradením nasleduje komentár. Podľa pravidla (pre začiatok inicializačnej časti skriptu) je akcia priradenia vykonaná v inicializačnej časti. Nasledujúci príklad je sémanticky (významovo) zhodný:

BEGIN
U.Int := 1
END

Akcia END explicitne ukončí vykonávanie skriptu. V tomto prípade taktiež nie je potrebná, lebo vykonávanie skriptu sa poslednou akciou končí.

V nasledujúcom príklade je nastavenie hodnoty presunuté z inicializačnej časti do procedúry, ktorá je zavolaná:

PROCEDURE Init_U_Int
U.Int := 1
END Init_U_Int

BEGIN
CALL Init_U_Int
END

Vykonávanie skriptu začína inicializačnou časťou (akcia BEGIN). Nasledujúca akcia CALL volá procedúru Init_U_Int, ktorá nastaví hodnotu 1 do objektu U.Int. Procedúra je bez parametrov. Po návrate z procedúry skript vykoná akciu END a končí. Ak sa za akciou END nachádzajú nejaké ďalšie akcie, tieto nebudú vykonané.

Write a comment…