CMS EXEC - CMS EXEC

CMS EXEC nebo EXEC je interpretovaný počítačový skriptovací jazyk pro řízení příkazových procedur používaný procesorem CMS EXEC dodávaným s operačním systémem IBM Virtual Machine / Conversational Monitor System ( VM / CMS ).

EXEC napsal v roce 1966 Stuart Madnick na MIT podle modelu CTSS RUNCOM . Tento procesor původně nazýval PŘÍKAZ a později byl přejmenován na EXEC.

CMS EXEC byl nahrazen programy EXEC 2 a REXX . Všechny tři - CMS EXEC, EXEC 2 a REXX - jsou nadále podporovány produktem IBM CMS .

Jazyk EXEC

  • EXEC zpracovává řádky dlouhé až 130 znaků při zadání z terminálu nebo 72 znaků při čtení ze souboru.
  • Značka skládající se z pomlčkou následovaný až sedmi alfanumerických znaků může prefix příkazu CMS nebo příkaz řídicí EXEC.
  • Tlumočník analyzuje příkazy na prázdné oddělované tokeny, každý o délce až osmi znaků.
  • Proměnné se skládají z ampersandu, za kterým následuje až sedm alfanumerických znaků. Proměnnými mohou být buď uživatelem definované proměnné, nebo předdefinované („speciální“) proměnné EXEC.
  • Při čtení každého řádku jsou tokeny skenovány. Pokud obsahují proměnné EXEC, jsou proměnné nahrazeny jejich hodnotou.
  • Komentáře . Komentáře v souborech EXEC začínají v prvním sloupci hvězdičkou . Všechny ostatní příkazy jsou spustitelné příkazy .
  • Nulová prohlášení . Prohlášení null neobsahuje žádné datové položky.
  • Příkazy CMS . Pokud první datová položka na řádku není hvězdička nebo ampersand, procesor EXEC považuje linku za příkaz CMS a předá ji do CMS k okamžitému provedení.
  • Prohlášení o přiřazení . Příkaz přiřazení přiřadí hodnotu proměnné EXEC. Má to formu
    &variable = <arithmetic-expression>
  • Kontrolní prohlášení . Příkaz, kde první datová položka je řídicí slovo EXEC a druhá není znaménkem rovnosti, se považuje za kontrolní příkaz.
  • Řídicí slova EXEC :
    • & ARGS - umožňuje uživateli předefinovat argumenty příkazu.
    • & BEGPUNCH - vede řadu řádků, které mají být zařazeny do virtuálního úderu uživatele.
    • & BEGSTACK - vede řadu řádků, které mají být umístěny do vstupního zásobníku konzoly uživatele.
    • & BEGTYPE - vede řadu řádků, které se mají psát na terminálu uživatele.
    • & END - označí konec řádků zpracovaných & BEGPUNCH, & BEGSTACK nebo & BEGTYPE.
    • & POKRAČOVAT - řekne tlumočníkovi, aby zpracoval další řádek v souboru.
    • & CONTROL - řídí formát, ve kterém se zprávy zobrazují.
    • & ERROR - řekne tlumočníkovi, co má dělat, pokud je zjištěna chyba.
    • & EXIT - ukončí aktuální soubor EXEC a volitelně nastaví návratový kód.
    • & GOTO - větve do jiného umístění v aktuálním souboru EXEC. Umístění může být TOP pro začátek souboru, štítek nebo číslo řádku.
    • & IF umožňuje podmíněné provádění příkazů.
    • & LOOP - vede skupinu příkazů, které mají být provedeny vícekrát, nebo dokud není splněna zadaná podmínka.
    • & PUNCH - odešle řetězec tokenů do virtuálního úderu uživatele. Každý příkaz & PUNCH generuje jeden obraz karty, v případě potřeby polstrovaný nebo zkrácený.
    • & READ - čte jeden nebo více řádků z terminálu uživatele .
    • & SKIP - přeskočí (ignoruje) zadaný počet řádků.
    • & SPACE - zadá zadaný počet prázdných řádků na terminálu uživatele.
    • & STACK - umístí jeden řádek do vstupního zásobníku uživatele. Linka je konstruována z tokenů jako pro & PUNCH.
    • & TIME - určuje, jaké informace o časování se mají na terminálu uživatele po provedení každého příkazu CMS zadat.
    • & TYPE zadá linku na terminálu uživatele. Linka je konstruována z tokenů jako pro & PUNCH.
  • Integrované funkce . Tlumočník EXEC poskytuje několik „předdefinovaných“ nebo předdefinovaných funkcí:
    • & CONCAT zřetězí řetězec žetonů.
    • & DATATYPE zkoumá token a určuje, zda je číselný nebo abecední.
    • & LENGTH vrací délku tokenu.
    • & LITERAL zabrání substituci proměnných v rámci tokenu.
    • & SUBSTR extrahuje vybrané znaky z tokenu.

Ukázkový kód

PROFIL EXEC je EXEC, který se automaticky provede, když se uživatel přihlásí, aby přizpůsobil své prostředí. Jednoduchý PROFIL EXEC může vypadat takto:

* The following code issues CMS commands to set
* the "blip" character to asterisk and request
* the "short" format for system ready messages.
&CONTROL OFF
SET BLIP *
SET RDYMSG SMSG

Související řídicí jazyky příkazového postupu CMS

Reference

externí odkazy