Corso di programmazione in REXX - Lezione 1 - approfondimento


Ulteriori note sulle espressioni

I programmi REXX sono costituiti da una sequenza di espressioni. Il REXX processa queste espressioni una alla volta, da sinistra verso destra.
Di solito ogni espressione occupa una sola linea del programma, ma questa è solo una convenzione. Spesso può essere utile riunire più espressioni in una linea o spezzare una singola istruzione su più righe. Le regole da applicare affinché le istruzioni vengano correttamente interpretate sono:

  1. Nel caso si vogliano scrivere più espressioni in una sola riga è necessario separarle con un punto e virgola (;). Esempio:
    /* CIAO_2.CMD : questo è il mio primo programma REXX */
    say "Ciao! Come ti chiami?"; pull nome; if nome = "" then say "Ciao sconosciuto!"; else say "Ciao" nome;
    

  2. Nel caso sia necessario spezzare su più righe una stringa racchiusa tra virgolette, si dovrà scriverla come un insieme di stringhe chiuse tra virgolette concatenandole con una virgola (,). Esempio:
    /* esempio2.cmd : esempio di stringa spezzata su più righe */
    say "Questa stringa è stata",
        "scritta su più righe, ma",
        "verrà mostrata su una sola riga!"
    
  3. Per spezzare un'istruzione su più linee è necessario inserire una virgola alla fine di ogni riga. Esempio:
    /* esempio3.cmd : esempio di istruzione spezzata in più righe */
    say,
    "Questa istruzione è valida e viene interpretata"
    say "esattamente come l'istruzione in questa riga!"
    
  4. Il carattere virgola contenuto all'interno di una stringa viene considerato come parte della stringa stessa, mentre se inserito all'interno di un commento viene ignorato.

Espressioni nulle, etichette e istruzioni

Un'espressione nulla, cioè una semplice riga vuota, o consistente solo di spazi o commenti, viene chiamata un'espressione nulla: Null clause. A parte il controllo della presenza del commento all'inizio del programma, il REXX ignora le espressioni nulle, per cui è buona norma usare opportunamente spazi, righe vuote e commenti per rendere il programma più leggibile ed eventualmente più facilmente modificabile in futuro.

Le etichette sono riferimenti a punti o porzioni del programma, subroutine interne, condition traps, ecc. Le etichette vengono definite facendole seguire dal carattere dei due punti (per esempio ERROR:).
A parte l'uso con le istruzioni CALL e SIGNAL e per le chiamate di funzioni interne, vengono considerate espressioni nulle.
A differenza delle espressioni nulle e delle istruzioni, le etichette sono autodelimitanti, nel senso che non sono necessari il carattere di punto e virgola o di ritorno a capo per separarle dalle altre espressioni.

Le istruzioni si dividono in tre tipi:

Parole chiave
Sono espressioni che iniziano con parole come PULL o SAY riconosciute dal REXX come istruzioni. Non sono parole riservate, ma vengono riconosciute dall'interprete dal contesto in cui si trovano. Alcune parole chiavi possono comprendere una o più espressioni come nel caso di IF.
Assegnamenti
Sono espressioni in cui un valore viene assegnato ad una variabile. Di solito sono nella forma simbolo = espressione. Anche l'istruzione PARSE con le sue varianti PULL e ARG assegna dei valori a delle variabili.
Comandi
Sono espressioni elaborate da altri programmi, interpretati come comandi che vengono passati all'applicazione che inizialmente aveva chiamato l'interprete REXX. Tramite l'istruzione ADDRESS è possibile passare dei comandi ad un ambiente diverso da quello corrente.


a cura di Alessandro Cantatore

- [ Pagina precedente ] - - [ Sommario ] - - [ Just WARP! homepage ] - - [ Pagina successiva ] -