Pojmy použité pri popise akcií
Výraz
Výraz je postupnosť znakov, ktoré zápisom tvoria korektný matematický výraz. Ak sa požaduje, aby výraz nadobudol hodnotu konkrétneho typu, táto bude označená nasledovne:
- Boolean - Bo
- Integer - Int
- Real - Real
- Absolútny čas - AbsTime
- Časový interval (relatívny čas) - RelTime
- Text - Txt
- HBJ - Hbj
Identifikátor hodnoty
Identifikátor hodnoty (pozri aj Identifikátory v ESL) môže byť:
- meno objektu
- meno lokálnej premennej
-
priamo zapísaná konštanta. Prípustné sú 4 typy:
- textová konštanta - napr. "Toto je textová konštanta"
- celočíselná konštanta - normálny zápis celého čísla
- reálna konštanta - zápis reálneho čísla (napr. 3.14159)
- systémová konštanta - napr. @TRUE, @Run, ...
V prípade, že meno objektu identifikuje objekt typu Štruktúrovaná
premenná, nutne musí za ním nasledovať prístup na položku (nepovinne index).
Napríklad:
SV.Structure^Int
SV.Structure[2]^Int
Podobne, ak je lokálna premenná typu RECORD alebo typový ALIAS, nutne musí
za menom nasledovať prístup na položku (nepovinne index).
Napríklad:
RECORD (SD.RecordDef) _locRecord
ALIAS (SD.RecordDef) _aliasRecord
INT _index
_locRecord[_index]^Int
_aliasRecord^Int
Ako vidieť z uvedených príkladov, index (číslo riadku) sa uvádza v hranatých zátvorkách [ ]. V zápise je index vyhodnocovaný ako výraz, ktorý musí nadobúdať hodnotu typu Int.
Podľa definície identifikátora, do tejto kategórie patria nasledovné typy:
- IC_C
- IC_O
- IC_O_R_RIA
- IC_O_R_RIN
- IC_L
- IC_L_CONST
- IC_L_AN
- IC_L_AT_RIA
- IC_L_AT_RIN
- IC_L_RNA_RIA
- IC_L_RNA_RIN
- IC_L_R_RIA
- IC_L_R_RIN
Identifikátor riadku štruktúry
Identifikátor riadku štruktúry môže byť:
- indexované meno objektu typu Štruktúrovaná premenná
- indexované meno lokálnej premennej typu RECORD alebo typový ALIAS
Príklad pre objekty:
INT _index
SV.Structure[_index+1]
SV.Structure[1]
Príklad pre lokálnu premennú:
RECORD (SD.RecordDef) _locRecord
ALIAS (SD.RecordDef) _aliasRecord
INT _index
_locRecord[3]
_locRecord[_index]
_aliasRecord[_index]
_aliasRecord[6]
Podľa definície identifikátora, do tejto kategórie patria nasledovné typy:
- IC_O_R_R
- IC_L_AT_R
- IC_L_RNA_R
- IC_L_R_R
pričom index za identifikátorom musí byť <> 0.
Identifikátor stĺpca štruktúry
Stĺpec štruktúry je identifikovaný svojím menom. Preto identifikátor stĺpca štruktúry môže byť vyjadrený dvoma spôsobmi:
- SV.MenoStruktury[...]^MenoStlpca - v prípade objektu typu Štruktúrovaná premenná
- _LocStruktura[...]^MenoStlpca - v prípade lokálnej premennej typu RECORD
Na indexe riadku v tomto prípade nezáleží.
Identifikátor položky štruktúry
Položka štruktúry je definovaná indexom riadku a menom stĺpca. Identifikátor položky štruktúry môže byť vyjadrený dvoma spôsobmi:
- SV.MenoStruktury[IndexRiadku]^MenoStlpca - v prípade objektu typu Štruktúrovaná premenná
- _LocStruktura[IndexRiadku]^MenoStlpca - v prípade lokálnej premennej typu RECORD
- SV.MenoStruktury[IndexRiadku]^_IndexStlpca - platí len pre ESL (pozri tiež kapitolu Prípustné operandy vo výrazoch)
- _LokStruktura[IndexRiadku]^_IndexStlpca - platí len pre ESL (pozri tiež kapitolu Prípustné operandy vo výrazoch)
Identifikátor celej štruktúry
Identifikátor celej štruktúry môže byť:
- meno objektu typu Štruktúrovaná premenná
- meno lokálnej premennej typu RECORD alebo typový ALIAS
Príklad pre objekty:
INT _index
SV.Structure
Príklad pre lokálnu premennú:
RECORD (SD.RecordDef) _locRecord
ALIAS (SD.RecordDef) _aliasRecord
INT _index
_locRecord
_aliasRecord
Podľa definície identifikátora, do tejto kategórie patria nasledovné typy:
- IC_O_R
- IC_O_R_R *
- IC_L_AT_R *
- IC_L_RNA
- IC_L_RNA_R *
- IC_L_R
- IC_L_R_R *
* index za identifikátorom musí byť = 0.
Odkaz na objekt
Odkaz na objekt je špeciálny prípad Identifikátora hodnoty, pričom jeho hodnota musí byť odkaz na objekt, alebo identifikátor je priamo objekt.
; objekt sám o sebe je odkazom
Sec
SysTime
U.Int
; Položka štruktúry
SV.Struktura[_index]^Object
RECORD (SD.RecordDef) _rec
_rec[_index]^Object
; Alias je odkaz na objekt
ALIAS _a
_a
Podľa definície identifikátora, do tejto kategórie patria nasledovné typy:
- IC_O
- IC_O_R
- IC_O_R_RIA
- IC_L_AN
- IC_L_AT
- IC_L_AT_RIA
- IC_L_R_RIA
Súvisiace stránky:
0 komentárov