CPL

CPL
Paradigmaimperativní (procedurální), strukturovaný, funkcionální
Vznikl v1960
Ovlivněn jazykyALGOL
Ovlivnil jazykyBCPL

CPL (Combined Programming Language – kombinovaný programovací jazyk) je multiparadigmatický programovací jazyk vyvinutý Cambridgeskou a Londýnskou univerzitou v roce 1960. Byl ovlivněn jazykem ALGOL. Vzhledem ke složitosti jazyka se první překladač objevil až v roce 1970.[1] Tento jazyk se nikdy nestal populárním, ale vytvořil základ pro jazyk BCPL.

Popis jazyka

CPL podporuje strukturované a funkcionální programování. Program se skládá z definic a příkazů a je uspořádán do bloků, které mohou být vnořené. Blok začíná i končí znakem §.

Datové typy

  • integer (celé číslo, velikost je nespecifikována)
  • real (reálné číslo, velikost je nespecifikována)
  • complex (komplexní číslo, dvojice reálných čísel)
  • index (celé číslo, které se vejde do B-registrů (indexové registry))
  • logical (binární vzor, velikost je nespecifikována)
  • Boolean (pravdivostní hodnota)
  • label (návěstí pro skok)
  • string (sekvence symbolů CPL abecedy)
  • array (pole, deklaruje se takto: TypPole PocetRozmeru array NazevPole, pro 1 array je zkratka vector a pro 2 array je zkratka matrix)
  • list (seznam, podobný jako v Lispu)

Příkazy

Přiřazení: proměnná:=hodnota.

Řídící struktury

Podmínka: if logická hodnota then do příkaz (provede se, pokud podmínka platí) nebo unless logická hodnota then do příkaz (provede se, pokud podmínka neplatí) nebo test logická hodnota then do příkaz1 or do příkaz2 (pokud podmínka platí, provede se příkaz1, jinak se provede příkaz2.

Cyklus while-do: while logická hodnota do příkaz (opakuje se, dokud podmínka platí) nebo until logická hodnota do příkaz (opakuje se, dokud podmínka neplatí).

Cyklus do-while: příkaz repeat while logická hodnota (opakuje se, dokud podmínka platí) nebo příkaz repeat while logická hodnota (opakuje se, dokud podmínka neplatí).

Cyklus for: for proměnná=seznam do příkaz (proměnná nabývá postupně všech hodnot v seznamu).

Seznamy

Přiřazení: seznam:=hodnota, například seznam:=1,2,3,4 nebo seznam1:=seznam2.

Přiřazení seznamu do jiných proměnných: proměnná1,proměnná2,... :=seznam například: a,b,c,d:=seznam.

Paralelní přiřazení: proměnná1, proměnná2,... :=hodnota1, hodnota2,....

Výraz step: step s, n, f (vrátí seznam obsahující každé n-té číslo od s do f), používá se často v cyklu for.

Funkce

Výpočet faktoriálu:

function Faktorial[x] = result of
    § real f = 1
      until x = 0 do
          f, x := xf, x — 1
      result := f §

Funkce nesmí mít žádné vedlejší efekty.

Rekurzivní funkce

Musí být uveden modifikátor rec.

Rekurzivní výpočet faktoriálu:

rec function FaktorialRekurzivni[x] = (x = 0) → 1, x*FaktorialRekurzivni[x — 1]

Příklad

Program Hello World:

Write(‘Hello, World!’)

Reference

  1. progopedia.com [online]. progopedia.com [cit. 2016-06-11]. Dostupné online. (anglicky) 

Externí odkazy