La sintassi di Cobol


Vi sarà sicuramente capitato di dover mettere il naso in qualche programma scritto in un linguaggio a voi sconosciuto per scoprirne le funzioni o il motivo di un messaggio di errore.
A volte è una impresa ardua e non si ha ne la voglia ne il tempo di mettersi a sfogliare manuali.
In queste pagine vorrei facilitare questo compito illustrando in modo semplice e conciso la struttura e i comandi principali del linguaggio Cobol.

Organizzazione del programma


Il linguaggio COBOL è di facile interpretazione poichè le istruzioni sono basate su parole o frasi della lingua inglese.

Caratteristica fondamentale dei programmi scritti in COBOL è la struttura sempre formata da
quattro divisioni (DIVISION) divise a loro volta in sezioni (SECTION), che debbono sempre essere collocate nel seguente ordine:


Le DIVISION del programma

Bullet IDENTIFICATION DIVISION.
   Che contiene i dati identificativi del programma come nome, autore, data, scopo del programma e commenti vari.

Bullet ENVIRONMENT DIVISION.
   Che contiene i dati relativi alle macchine su cui è stato sviluppato e su cui girerà il programma.
   Le periferiche utilizzate quali ad esempio dischi, stampanti.
   I file con la loro organizzazione, le chiavi di accesso, il modo di accesso, il nome fisico, la locazione.

Bullet DATA DIVISION.
   Che contiene la struttura dei dati (che è organizzata in modo gerarchico).
   In particolare la struttura dei record di singoli file.
   I campi (costanti, variabili, tabelle) utilizzati nel programma.

Bullet PROCEDURE DIVISION.
   Che contiene le istruzioni vere e proprie.
   Personalmente ritengo che questa sia la parte del programma di più facile interpretazione
   a condizione che il programma sia ben strutturato.
   Un programmi realizzato nel modo spaghetti può essere un rompicapo anche per un buon conoscitore di Cobol.




Le SECTION del programma

Mi limiterò ad indicare le più utilizzate o obbligatorie.


Nella ENVIRONMENT DIVISION.

Troviamo la CONFIGURATION SECTION dove viene indicato il computer su cui è stato compilato il programma e su quello su quale dovrà girare.


Nella stessa divisione troviamo pure la INPUT-OUTPUT SECTION.
in cui in FILE-CONTROL. vengono definite le periferiche.



Vai a inizio pagina



Nella DATA DIVISION.

Troviamo la FILE SECTION. dove viene specificato il tracciato record dei singoli file.


Nella stessa divisione troviamo pure la WORKING-STORAGE SECTION.
in cui vengono definiti tutti i campi che verranno utilizzati nel programma.








La struttura del linguaggio


Il programma sorgente COBOL è costruito con stringhe di caratteri e separatori.
Le stringhe di caratteri possono essere istruzioni (comandi) o nomi di campi (costanti, nomi di file) e parole riservate di Cobol.
I separatori comunemente usati sono lo spazio, la virgola, il punto e virgola, le parentesi, il doppi punti, i doppi apici.
Le regole sotto non si applicano al contenuto delle costanti e ai commenti.

    immagine Ogni istruzione termina con un punto.
    immagine La virgola ed il punto e virgola sono di carattere indicativo o di separazione (tranne nella definizione dei campi).
    immagine L’ uso del trattino basso ( _ ) non è ammesso.
    immagine Le parentesi tonde vanno usate in coppia servono per delimitare indici, espressioni aritmetiche o condizioni.
    immagine Le doppie apici vanno usate in coppie e servono per delimitare costanti alfanumeriche.



La codifica del programma

Il programma cobol è costituito da un file di testo a 80 colonne.
Le colonne sono suddivise secondo questo schema:


ColonnaUtilizzo
1...6Le prime sei colonne servono a indicare un numero di sequenza delle righe.
7La settima colonna serve a inserire un simbolo indicatore quale:
* Per specificare che si tratta di un commento.
- Per specificare che si tratta di una continuazione di stringhe.
/ In fase di compilazione forza un salto pagina.
8...11Rappresenta la colonna «A» dove iniziano le dichiarazioni più importanti e le label.
12...72Rappresenta la colonna «B» dove si trovano le direttive, in pratica i comandi.
73...80Eventuale etichetta o riferimento (di solito metto la data della modifica)



Vai a inizio pagina

Come prelevare questi codici

  Pagina successiva  Pagina successiva