XL (programmeringssprog)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 4. november 2015; checks kræver 3 redigeringer .
XL
Sprog klasse multi-paradigme : imperativ
Dukkede op i 2000
Forfatter Christoph De Dinechin [d]
Frigøre 0,1 (2010)
Test version 27-2010
Type system streng
Blev påvirket Ada , C++
Licens GPLv2
Internet side xlr.sf.net
OS Unix-lignende operativsystem

XL  er grundlaget for det udvidelige sprog eXtensible Language. Det er et programmeringssprog designet til at understøtte konceptuel programmering .

Beskrivelse

XL giver syntaks og semantik, der kan udvides via programmering. Compiler plugins kan bruges til at tilføje nye funktioner til et sprog. Det grundlæggende sæt af plug-ins er implementeret i henhold til standard imperative sprog. Programmører kan skrive deres egne plugins for at implementere specifikke opgaver, såsom at arbejde med andre talsystemer, som senere blot kan indbygges i sproget.

Sprog

XL definerer tre abstraktionsniveauer:

XL har hverken primitive typer eller reserverede ord. Alle anvendte operatorer og datatyper, såsom heltal eller additionsoperatoren, er deklareret i standardbiblioteket (XL2). XL1 er bærbar til at køre på tværs af forskellige miljøer og platforme. Men i XL2 er der ingen sådan garanti længere: Hvis en bestemt processor ikke understøtter multiplikation med flydende komma, kan beskrivelsen af ​​den tilsvarende operator i standardbiblioteket springes over, og brugen af ​​en sådan multiplikation kan resultere i en kompileringstid fejl.

Et eksempel på Hello World -program i XL ser sådan ud:

brug XL.TEXT_IO Skriv "Hej verden"

En alternativ stavemåde i en stil, der er mere egnet til bredt skalerbare programmer, ville være:

import IO = XL.TEXT_IO IO.WriteLn "Hej verden"

Syntaks

Syntaksen er defineret på XL0-niveau. XL0 kompileringstrinnet kan konfigureres ved hjælp af deskriptorfilsyntaks, som definerer, hvordan tekst præsenteres og tildeler operatørprioritet. Grundsyntaksfilen definerer almindelige matematiske notationer, såsom "+" for addition, som normalt bruges i rækkefølge efter operationer.

Det strukturelle træ indeholder 7 typer noder: 4 bladtype noder (heltal, reelt, tekst og symbol) og 3 interne type noder (infiks, præfiks og blok).

Med en standardsyntaksfil er følgende en gyldig XL0 uafhængig af enhver semantik.

A = B + "hej"

Efter behandling vil det se sådan ud:

indeks("=", symbol("A"), index("+", symbol("B"), text("Hej")))

Links