Az alábbiakban az ún. klasszikus programozás beli algoritmus leíró nyelv szintaktikájával foglalkozunk,
az objektumorientálthoz, eseményvezérelthez kapcsolódóval nem;
így még az osztályok definiálása és felhasználása sem kerül szóba; sőt még a szementikát sem érintjük.
Program
Legfelsőbb szint
Program ProgramNév :
(Globális) adatleírás
(Program)törzs
Program vége.
Alprogram-definíciók
Alprogramok – alprogram-definíciók
Eljárás EljárásNév (Formális paraméter-lista ):
[Ef: predikátum
Uf: predikátum ]
(Lokális) adatleírás
(Eljárás)törzs
Eljárás vége.
Függvény FüggvényNév (Formális paraméter-lista ):Típus
[Ef: predikátum
Uf: predikátum ]
(Lokális) adatleírás
(Függvény)törzs
FüggvényNév:=kifejezés
Függvény vége.
Operátor OperátorNév (Formális paraméter-lista ):Típus
Másként operátor-szintaxisminta
[Ef: predikátum
Uf: predikátum ]
(Lokális) adatleírás
(Függvény)törzs
FüggvényNév:=kifejezés
Operátor vége.
Megjegyzés:
Az alprogramok specifikációs része (Ef , Uf ) elhagyható.
Formális paraméter-lista az alábbi, vesszővel elválasztott sorozata:
Konstans paraméterNév : TípusNév vagy Változó paraméterNév : TípusNév
Adatleírás
Típusdefiníciók
Típusdeklarációk
Típusdefiníciók – Típusokat definiáló rész:
Típus
TípusNév = Típus vagy Típuskonstrukció
…
Típusdeklarációk – Konstansokat, változókat memóriába képező rész:
Konstans
konstansNév : Típus (kifejezés )
…
Változó
változóNév : Típus
…
Típus – a standard típus:
Egész
Valós
Logikai
Karakter
Szöveg
Típuskonstrukció – a standard típuskonstrukció:
Rekord(
mezőNév1 : típus vagy Típuskonstrukció
mezőNév2 : típus vagy Típuskonstrukció
…
)
Tömb( konstans1 .. konstans2 : Típus )
Tömb( Diszkrét típus : Típus )
SzekvenciálisFájl( Típus )
( konstans1 ,konstans2 ,...)
Mutató( Típus ) vagy Típus 'Mutató
Diszkrét típus , amelynél egyértelmű a rákövetkezés (pl. Egész , Logikai , Karakter , felsorolási típus ok).
Törzs – utasítások
Beolvasás utasítás:
Be: változóNév1 … [Feltétel ]
Kiírás utasítás:
Ki: Kifejezés1 …
Értékadás utasítás:
változóNév :=Kifejezés
…
vagy
változóNév :=Kifejezés ; …
Elágazás utasítás (a különben-ág elhagyható):
Ha feltétel akkor
(akkor-ág) törzs
különben
(különben-ág) törzs
Elágazás vége
vagy
Ha feltétel akkor értékadás utasítás
különben értékadás utasítás
Sok-irányú elágazás (az egyéb-ág elhagyható):
Elágazás
feltétel1 esetén
(feltételes-ág) törzs1
feltétel2 esetén
(feltételes-ág) törzs2
…
…
egyéb esetben
(egyéb-ág) törzs
Elágazás vége
Számlálós ciklus (az „-esével ” rész elhagyható):
Ciklus változóNév=kifejezés -tól kifejezés -ig kifejezés -esével
(ciklus) törzs
Ciklus vége
Előlfeltételes ciklus :
Ciklus amíg feltétel
(ciklus) törzs
Ciklus vége
Hátulfeltételes ciklus :
Ciklus
(ciklus) törzs
amíg feltétel
Ciklus vége
Eljárás-hívás (ha nincs paramétere, akkor a zárójelpár is elhagyható):
EljárásNév (Aktuális paraméter-lista )
Függvény-hívás (ha nincs paramétere, akkor a zárójel-pár is elhagyható):
…FüggvényNév (Aktuális paraméter-lista )…
Operátor-hívás :
…OperátorJel, aktuális paraméterek, az operátor-szintaxismintának megfelelően …
Aktuális paraméter-lista : kifejezések, konstansok vagy változók vesszővel elválasztott sorozata.
A típusokhoz, típuskonstrukciókhoz asszociált műveleteket nem soroljuk föl.