Wikipedista:Kolarp/DCL jako programovací jazyk

Digital Command Language lze používat jako programovací jazyk, který disponuje proměnných několika typů s rozlišováním lokálních a globálních proměnných, umožňuje emulovat pole a asociativní pole, umí vyhodnocovat aritmetické výrazy, má operátory a funkce pro práci s řetězci, disponuje jednoduchými řídícími konstrukcemi (podmíněný příkaz, GOTO, procedury/funkce s parametry), umožňuje číst a vytvářet textové soubory.

Symboly jako proměnné editovat

Roli proměnných plní v DCL symboly. Jméno symbolu může oficiálně obsahovat velká písmena anglické abecedy, číslice, znaky podtržítko _ a dolar $; nesmí začínat číslicí. Malá písmena se automaticky převádějí na velká. Neoficiálně se ve jménu symbolu mohou vyskytovat některé další znaky, jako složené závorky {, }, svislá čára |, ampersand &, zpětné lomítko \, zpětný apostrof `, vlnovka ~. Jméno symbolu nemůže obsahovat mezeru; pro vytváření víceslovných jmen symbolů lze místo mezer používat znaky podtržítko. Operační systém používá místo mezery znak dolar – uživatel by neměl vytvářet jména obsahující znak dolar, aby nedošlo ke konfliktu se jmény používanými systémem.

Symboly se nijak nedeklarují, pro nastavení hodnoty symbolu se používá přiřazení:

jmeno = výraz

Výraz může být číselný a obsahovat číselné konstanty, operátory +, -, *, a /, jména symbolů (která se při vyhodnocování nahradí jejich hodnotami) a lexikální funkce; nebo řetězcový, který může obsahovat řetězcové konstanty uzavřené v uvozovkách, operátory + a -, jména symbolů a lexikální funkce. Pro přiřazení řetězce do symbolu lze použít také přiřazení s :=:

jmeno := řetězec

Lokální a globální symboly editovat

Pomocí jednoduchého rovnítka se vytvářejí lokální symboly; globální symboly se vytvářejí pomocí dvojitého rovnítka:

jmeno == výraz

případně

jmeno :== řetězec

Lokální symboly zanikají při opuštění příkazové procedury (*.COM skriptu) nebo procedury definované pomocí SUBROUTINE a volané pomocí CALL, ve vnořených voláních příkazových procedur jsou však dostupné. Pokud existuje lokální i globální symbol téhož jména, je globální symbol lokálním překryt.

Použití hvězdičky pro umožnění zkracování jména symbolu editovat

Speciální význam ve jméně symbolu má znak hvězdička – umožňuje zkracování jména – znaky za hvězdičkou se nemusí uvádět:

DNES*NI_DATUM = "5.12.2022"
WRITE SYS$OUTPUT DNE
%DCL-W-UNDSYM, undefined symbol - check validity and spelling
 \DNE\
WRITE SYS$OUTPUT DNES
5.12.2022
WRITE SYS$OUTPUT DNESN
5.12.2022
WRITE SYS$OUTPUT DNESNI
5.12.2022
WRITE SYS$OUTPUT DNESNI_
5.12.2022
WRITE SYS$OUTPUT DNESNI_D
5.12.2022
WRITE SYS$OUTPUT DNESNI_DATUM
5.12.2022
WRITE SYS$OUTPUT DNESNI_DATUMY
%DCL-W-UNDSYM, undefined symbol - check validity and spelling
 \DNESNI_DATUMY\

Symboly jako příkazové aliasy editovat

Symboly také slouží jako příkazové aliasy – pokud se v příkazovém řádku na místě, kde může být jméno příkazu, objeví jméno symbolu, bude nahrazeno hodnotou symbolu. Například dlouhý příkaz WRITE SYS$OUTPUT, který se používá pro výpis na obrazovku se často nahrazuje příkazem SAY definovaným takto (uživatelé unixových systémů by příkaz pravděpodobně pojmenovali echo):

SAY = "WRITE SYS$OUTPUT"

Odkazy editovat

Externí odkazy editovat