XL (limbaj de programare)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 4 noiembrie 2015; verificările necesită 3 modificări .
XL
Clasa de limba multi-paradigma : imperativ
Aparut in 2000
Autor Christoph De Dinechin [d]
Eliberare 0,1 (2010)
Versiune de testare 27-2-2010
Tip sistem strict
A fost influențat Ada , C++
Licență GPLv2
Site-ul web xlr.sf.net
OS Sistem de operare asemănător Unix

XL  este baza limbajului extensibil eXtensible Language. Este un limbaj de programare conceput pentru a sprijini programarea conceptuală .

Descriere

XL oferă sintaxă și semantică extensibile programatic. Pluginurile compilatorului pot fi folosite pentru a adăuga funcții noi la o limbă. Setul de bază de plug-in-uri este implementat în conformitate cu limbaje imperative standard. Programatorii își pot scrie propriile pluginuri pentru a implementa sarcini specifice, cum ar fi lucrul cu alte sisteme numerice, care ulterior pot fi pur și simplu încorporate în limbaj.

Limba

XL definește trei niveluri de abstractizare:

XL nu are nici tipuri primitive, nici cuvinte rezervate. Toți operatorii și tipurile de date utilizate, cum ar fi numerele întregi sau operatorul de adăugare, sunt declarați în biblioteca standard (XL2). XL1 este portabil pentru a rula în diferite medii și platforme. Dar în XL2 nu mai există o astfel de garanție: dacă un anumit procesor nu acceptă multiplicarea în virgulă mobilă, atunci descrierea operatorului corespunzător din biblioteca standard poate fi omisă, iar utilizarea unei astfel de înmulțiri poate duce la un timp de compilare. eroare.

Un exemplu de program Hello World în XL arată astfel:

utilizați XL.TEXT_IO Scrieți „Bună lume”

O ortografie alternativă într-un stil mai potrivit pentru programele la scară largă ar fi:

import IO = XL.TEXT_IO IO.WriteLn „Bună lume”

Sintaxă

Sintaxa este definită la nivelul XL0. Pasul de compilare XL0 poate fi configurat folosind sintaxa fișierului descriptor, care definește modul în care este prezentat textul și atribuie prioritate operatorului. Fișierul de sintaxă de bază definește notații matematice comune, cum ar fi „+” pentru adunare, care sunt de obicei adoptate în ordinea operațiilor.

Arborele structural conține 7 tipuri de noduri: 4 noduri de tip frunză (întreg, real, text și simbol) și 3 noduri de tip intern (infix, prefix și bloc).

Cu un fișier de sintaxă standard, următorul este un XL0 valid, independent de orice semantică.

A = B + „bună ziua”

După procesare, va arăta astfel:

index("=", simbol ("A"), index("+", simbol ("B"), text ("Bună ziua")))

Link -uri