XL | |
---|---|
Kieliluokka | moniparadigma : pakollinen |
Esiintyi | 2000 |
Tekijä | Christoph De Dinechin [d] |
Vapauta | 0,1 (2010) |
Testiversio | 27.2.2010 |
Tyyppijärjestelmä | tiukka |
Vaikutettu | Ada , C++ |
Lisenssi | GPLv2 |
Verkkosivusto | xlr.sf.net |
OS | Unix-tyyppinen käyttöjärjestelmä |
XL on laajennettavan kielen eXtensible Language perusta. Se on ohjelmointikieli, joka on suunniteltu tukemaan käsitteellistä ohjelmointia .
XL tarjoaa ohjelmallisesti laajennettavan syntaksin ja semantiikan. Kääntäjälaajennuksia voidaan käyttää uusien ominaisuuksien lisäämiseen kieleen. Laajennusten perussarja toteutetaan vakiokielten mukaan. Ohjelmoijat voivat kirjoittaa omia lisäosia toteuttaakseen tiettyjä tehtäviä, kuten työskennellä muiden numerojärjestelmien kanssa, jotka voidaan myöhemmin yksinkertaisesti rakentaa kieleen.
XL määrittelee kolme abstraktiotasoa:
XL:ssä ei ole primitiivisiä tyyppejä eikä varattuja sanoja. Kaikki käytetyt operaattorit ja tietotyypit, kuten kokonaisluvut tai summausoperaattori, on ilmoitettu vakiokirjastossa (XL2). XL1 on kannettava käytettäväksi eri ympäristöissä ja alustoilla. Mutta XL2:ssa tällaista takuuta ei enää ole: jos tietty prosessori ei tue liukulukukertoa, vastaavan operaattorin kuvaus standardikirjastossa voidaan ohittaa ja tällaisen kertolasku voi johtaa käännösaikaan. virhe.
Esimerkki Hello World -ohjelmasta XL-muodossa näyttää tältä:
käytä XL.TEXT_IO Kirjoita "Hei maailma"Vaihtoehtoinen kirjoitustapa laajasti skaalautuville ohjelmille sopivalla tyylillä olisi:
tuonti IO = XL.TEXT_IO IO.WriteLn "Hei maailma"Syntaksi määritellään XL0-tasolla. XL0-käännösvaihe voidaan konfiguroida käyttämällä kuvaajatiedoston syntaksia, joka määrittelee tekstin esitystavan ja antaa operaattorin tärkeysjärjestyksen. Perussyntaksitiedosto määrittelee yleiset matemaattiset merkinnät, kuten "+" lisäämistä varten, jotka yleensä otetaan käyttöön operaatiojärjestyksessä.
Rakennepuu sisältää 7 tyyppistä solmua: 4 lehtityyppistä solmua (kokonaisluku, todellinen, teksti ja symboli) ja 3 sisäistä tyyppisolmua (infix, etuliite ja lohko).
Tavallisessa syntaksitiedostossa seuraava on kelvollinen XL0, joka on riippumaton semantiikasta.
A = B + "hei"Käsittelyn jälkeen se näyttää tältä:
index("=", symboli ("A"), index("+", symboli("B"), teksti("Hei")))