Forth (programovací jazyk)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Forth je programovací jazyk, který byl vyvinut v roce 1970 Charlesem H. Moorem. Jedná se o interpretovaný, procedurální a interaktivní jazyk, který se vyznačuje jednoduchostí syntaxe a modularitou. Forth se používá zejména pro programování v embedded systémech a pro vytváření různých aplikací. Hlavní výhodou jazyka Forth je jeho malý paměťový a výkonnostní nároky, což ho činí vhodným pro zařízení s omezenými prostředky. Forth má také velmi flexibilní a parametrizovatelnou strukturu, která umožňuje uživatelům přizpůsobit jazyk a jeho funkce jejich potřebám. Programy v jazyce Forth se skládají z tzv. slov, která jsou vestavěná nebo vytvořená uživatelem. Hlavním způsobem interakce s programem je prostřednictvím tzv. příkazového řádku nebo prostřednictvím definování vlastních slov. Forth je nadstavba jazyka assembleru a umožňuje přístup k hardwarovým funkcím a registrům. Tím je oblíbený při programování v embedded systémech. Existuje mnoho implementací jazyka Forth pro různé platformy a operační systémy. Celkově lze říci, že jazyk Forth je interesantní volbou pro programátory, kteří chtějí vytvářet kompaktní a efektivní kód pro embedded systémy a další aplikace s omezenými prostředky.

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

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. +more 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. +more 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

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. +more 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. Ve Forthu se místo označení operátor nebo funkce používá "slovo".

Příklady

Jednoduchá aritmetika

10 20 + ( toto je komentář ) 10 20 * \ toto je jednořádkový komentář 10 20 - ( 10 způsobí vložení čísla 10 na vrchol zásobníku operandů a slovo - vezme dvě horní čísla ze zásobníku a vrátí na zásobník jejich součet ) 10 20 + 30 * ( zpětné lomítko a závorky jsou také slova, takže musí být oddělena mezerou od okolních znaků ) 5 4 3 2 1 * / + -

Vytvoření nového slova

: print . \ slovo . vypíše hodnotu na vrcholu zásobníku cr \ slovo cr vypíše znak konce řádku

Použití nově definovaného slova

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

Základní slova pro práci se zásobníkem

1 2 swap \ zásobník: 2 1 drop \ zásobník: 2 dup \ zásobník: 2 2 drop drop \ zásobník: 1 2 3 rot \ zásobník: 2 3 1 over \ zásobník: 2 3 3 1

Řídící struktury

Podmínka

10 20 > if 20 . else \ větev else je nepovinná 10 . then

Počítaná smyčka

\ tento cyklus vypíše čísla od 1 do 10 10 1 do ( první argument slova do udává, kolikrát se bude cyklus opakovat druhý udává počáteční hodnotu počitadla ) i . cr \ slovo i vloží na vrchol zásobníku hodnotu počitadla loop

Cyklus while-do

\ tento cyklus vypíše čísla od 1 do 10 0 begin dup 10

Cyklus s podmínkou na konci

\ vypočítá pomocí Euklidova algoritmu největší společný dělitel ze dvou čísel : gcd begin swap over mod dup 0 = \ podmínka until \ opakuje se dokud je podmínka nepravdivá drop

Nekonečný cyklus

\ tento cyklus vypíše čísla od 1 do 10 0 begin 1 + dup . cr dup 10 > if abort \ slovo abort ukončí smyčku then again

Externí odkazy

[url=http://publikace. pecinovsky. +morecz/#AR_Forth]Seriál Forth[/url] z časopisu Amatérské radio * [url=http://www. root. cz/serialy/programovaci-jazyk-forth/]Seriál o programovacím jazyku Forth[/url] na Root. cz * [url=https://web. archive. org/web/20180315134237/http://forth. cz/]Forth. cz[/url].

Kategorie:Programovací jazyky Kategorie:Forth

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top