De uitleg van COBOL verliep tot nu toe via woorden en voorbeelden. Hopelijk is het daarmee tot nu toe gelukt. Maar nu wordt het tijd voor een aanvulling. Een andere manier om de taalregels van COBOL te beschrijven. Deze methode wordt de formaatbeschrijving genoemd omdat hij de vorm (het formaat) beschrijft waarin de opdrachten van COBOL kunnen voorkomen.
In de formaatbeschrijving willen we kunnen aflezen dat een woord een gereserveerd COBOL-woord is. Gereserveerde woorden staat in de formaatbeschrijving in hoofdletters genoteerd. Voorbeeld:
Als je in aanhangsel A1 (gereserveerde woorden) kijkt, dan zul je zien dat de woorden DECIMAL-POINT, IS en COMMA daar alle drie in voorkomen. Het zijn alle drie woorden die in COBOL een speciale, vastgelegde betekenis bezitten.
In dit voorbeeld zijn twee woorden onderstreept en het woord IS niet. Een onderstreept woord in een formaatbeschrijving is een verplicht woord. Een woord dat niet is onderstreept, is facultatief. Het mag naar keuze worden weggelaten.
Wat kunnen we nu afleiden uit de formaatbeschrijving? We kunnen eraan zien dat we de decimal-point-clausule op twee manieren in COBOL mogen schrijven:
Decimal-point is comma Decimal-point comma
Let erop dat de formaatbeschrijving wel COBOL beschrijft, maar niet COBOL is. In een COBOL-programma zal nooit een onderstreept woord kunnen voorkomen! Verder weten we al een hele tijd, dat het in een programma geen verschil maakt of je iets in hoofdletters of in kleine letters schrijft.
In de formaatbeschrijving geven hoofdletters aan dat het om een gereserveerd woord gaat. Kleine letters geven aan dat de programmeur op die plaats iets moet invullen. De formaatbeschrijving van de tweede regel van een programma luidt:
Uit deze formaatbeschrijving leiden we het volgende af. Deze regel begint altijd met het woord program-id, gevolgd door een punt. Daarna komt de naam van het programma, eveneens gevolgd door een punt. Die naam is in COBOL niet voorgeschreven. Binnen bepaalde grenzen mag de programmeur de naam van het programma zelf kiezen.
Het komt voor dat we een keuze moeten maken uit verschillende mogelijkheden. In een formaatbeschrijving staan de verschillende keuzes onder elkaar tussen een accolade. Een voorbeeld vinden we in de beschrijving van de picture-clausule:
Deze formaatbeschrijving geeft aan dat we de picture-clausule met picture moeten beginnen (zoals we tot nu toe steeds deden), maar dat we ook pic mogen schrijven. Uit de twee mogelijkheden moeten we er één kiezen. Daarna mag het woordje 'is' komen (niet onderstreept, dus facultatief). Het derde element van de picture-clausule is de picture-string. Die moet de programmeur zelf invullen.
Een deel van een opdracht dat we naar keuze wel of niet mogen schrijven, staat in de formaatbeschrijving tussen vierkante haken:
Hier staat schematisch genoteerd dat er twee varianten zijn van de accept-opdracht. De ene zonder het from-gedeelte; de ander met het from-deel.
Drie puntjes (...) achter een deel van de formaatbeschrijving geven een mogelijkheid tot herhalen aan. Het deel waar de puntjes achter staan, mogen we verschillende keren schrijven.
Wat kunnen we uit deze beschrijving afleiden? Verschillende dingen. De display-opdracht begint met het woord display. Daarna komt een variabele of een constante. Maar omdat er drie puntjes staan mogen we opnieuw een variabele of een constante schrijven. En daarna nog eens als we willen. We kunnen dus ook zeggen: na het woord display volgt een reeks van een of meer variabelen of constanten. Eventueel kunnen we nog aan de opdracht toevoegen upon, gevolgd door een apparaatnaam.
Het is van groot belang dat je de formaatbeschrijving gemakkelijk kunt lezen. Je moet snel kunnen zien wat wel en wat niet is toegestaan. Aanhangsel A2 van het oorspronkelijke boek bevat de formaatbeschrijvingen voor de totale stof van het boek (zal alleen op verzoek op het world wide web geplaatst worden). In de volgende hoofdstukken zal af en toe een verwijzing staan naar dat aanhangsel. Maar ook als er geen verwijzing staat, is het verstandig om het vaak te raadplegen. Als je niet meer precies weet hoe je een onderdeel van COBOL moet schrijven, kijk dan eerst in aanhangsel A2. Daarna kun je eventueel via het trefwoordenregister vinden waar de uitleg in het boek staat.
De formaatbeschrijving geeft kort en bondig aan hoe je COBOL moet schrijven. Maar de formaatbeschrijving vertelt je niets over de betekenis. Dat de woorden picture en pic zonder verschil in betekenis zijn, dat haal je niet uit de formaatbeschrijving. Dat display zonder de upon-optie uitvoer levert op het standaarduitvoerapparaat, haal je niet uit de formaatbeschrijving. Er zal dus altijd toelichting nodig blijven.