Forth

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Forth je programovací jazyk, který se v dnešní době používá zejména ve vestavěných (embedded) systémech a real-time prostředích. Jazyk Forth vyvinul roku 1969 Charles H. Moore, který je jednou z významných osobností, jež se podílely na rozvoji výpočetní techniky.

Historie[editovat | editovat zdroj]

Kolem roku 1970 se objevuje označení FORTH (název je od slova FOURTH-čtvrtý, jazyk pro příští, čtvrtou generaci malých počítačů). Forth tedy nevznikl akademickým rozhodnutím, vytvářel ho jeden člověk, jedno desetiletí, jako pomůcku pro práci. První kompletní samostatnou aplikací Forthu je v roce 1971 řízení radioteleskopu pro NRAO. Další aplikace jsou v řízení antén, teleskopů, databáze, zpracování obrazu.

Tento člověk se jmenuje Charles „Chuck“ Moore a dodnes patří mezi zajímavé a současně velmi rozporuplné osobnosti, které se podílely na rozvoji výpočetní techniky, zejména vestavěných (embedded) řídících systémů a systémů běžících v reálném čase. Moore byl prý překvapen, když zjistil, že systém, který vyvinul pro své potřeby, používají i další lidé, kterým v jejich práci vyhovuje více než v té době komerčně prosazovaný Fortran.

Do značně heterogenního prostředí počítačů a operačních systémů sedmdesátých let přišel Moore se svým jazykem (či lépe řečeno celou vývojovou platformou) Forth. Vývojové prostředí Forthu obsahovalo interaktivní editor, interpret jazyka Forth a univerzální vazbu na assembler upravený na právě provozovaný systém. Toto prostředí umožňovalo spouštět souběžně více procesů a současně mohlo v systému nezávisle pracovat až 64 uživatelů, a to i na platformách, jejichž operační systém nebyl multiuživatelský a dokonce ani multitaskový.

Vlastnosti[editovat | editovat zdroj]

Forth je založen na použití dvojice zásobníků. První zásobník se nazývá zásobník operandů, druhý zásobník návratových adres. Prakticky všechny forthovské příkazy ovlivňují položky v jednom nebo obou zásobnících. Pro zápis příkazů i matematických operací je použita postfixová notace, někdy také nazývaná obrácená polská notace (anglicky Reverse Polish Notation). Při tomto způsobu zápisu se nejdříve uvádějí operandy a teprve za nimi následují operátory.

Příklady[editovat | editovat zdroj]

Jednoduchá aritmetika:

10 20 +
10 20 *
10 20 -
10 20 + 30 *
5 4 3 2 1 * / + -

Vytvoření nového slova:

: print
  .
  cr
;

Použití nově definovaného slova:

10 print
1 2 + print
1 2 3 * - print

Počítané smyčky:

: smycka1
    10 1 do
        i . cr
    loop
;

Externí odkazy[editovat | editovat zdroj]