XL (programovací jazyk)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 4. listopadu 2015; kontroly vyžadují 3 úpravy .
XL
Jazyková třída multi-paradigma : imperativ
Objevil se v 2000
Autor Christoph De Dinechin [d]
Uvolnění 0,1 (2010)
Testovací verze 27. 2. 2010
Typový systém přísný
Byl ovlivněn Ada , C++
Licence GPLv2
webová stránka xlr.sf.net
OS Operační systém podobný Unixu

XL  je základem rozšiřitelného jazyka eXtensible Language. Je to programovací jazyk navržený pro podporu koncepčního programování .

Popis

XL poskytuje programově rozšiřitelnou syntaxi a sémantiku. K přidání nových funkcí do jazyka lze použít pluginy kompilátoru. Základní sada zásuvných modulů je implementována podle standardních imperativních jazyků. Programátoři mohou napsat své vlastní pluginy pro implementaci specifických úkolů, jako je práce s jinými číselnými systémy, které lze později jednoduše zabudovat do jazyka.

Jazyk

XL definuje tři úrovně abstrakce:

XL nemá ani primitivní typy , ani vyhrazená slova. Všechny použité operátory a datové typy, jako jsou celá čísla nebo operátor sčítání, jsou deklarovány ve standardní knihovně (XL2). XL1 je přenosný pro běh v různých prostředích a platformách. Ale v XL2 již taková záruka neexistuje: pokud konkrétní procesor nepodporuje násobení s plovoucí desetinnou čárkou, pak může být popis odpovídajícího operátoru ve standardní knihovně přeskočen a použití takového násobení může mít za následek dobu kompilace chyba.

Příklad programu Hello World v XL vypadá takto:

použijte XL.TEXT_IO Napište "Ahoj světe"

Alternativní pravopis ve stylu vhodnějším pro široce škálovatelné programy by byl:

import IO = XL.TEXT_IO IO.WriteLn "Ahoj světe"

Syntaxe

Syntaxe je definována na úrovni XL0. Krok kompilace XL0 lze nakonfigurovat pomocí syntaxe souboru deskriptoru, která definuje způsob prezentace textu a přiřazuje prioritu operátoru. Soubor základní syntaxe definuje běžné matematické zápisy, jako je „+“ pro sčítání, které se obvykle používají v pořadí operací.

Strukturální strom obsahuje 7 typů uzlů: 4 uzly typu list (celé, reálné, text a symbol) a 3 uzly interního typu (infix, prefix a blok).

U standardního souboru syntaxe je následující platný XL0 nezávislý na jakékoli sémantice.

A = B + "ahoj"

Po zpracování to bude vypadat takto:

index("=", symbol ("A"), index("+", symbol ("B"), text ("Ahoj")))

Odkazy