XL | |
---|---|
Nyelvóra | többparadigma : kötelező |
Megjelent | 2000 |
Szerző | Christoph De Dinechin [d] |
Kiadás | 0,1 (2010) |
Teszt verzió | 2010-02-27 |
Típusrendszer | szigorú |
Befolyásolva | Ada , C++ |
Engedély | GPLv2 |
Weboldal | xlr.sf.net |
OS | Unix-szerű operációs rendszer |
Az XL a bővíthető nyelv alapja a kiterjeszthető nyelv. Ez egy programozási nyelv, amelyet a fogalmi programozás támogatására terveztek .
Az XL programozottan bővíthető szintaxist és szemantikát biztosít. A fordítóbővítmények segítségével új funkciókat lehet hozzáadni egy nyelvhez. A beépülő modulok alapkészlete a szabványos kötelező nyelvek szerint kerül megvalósításra. A programozók saját beépülő moduljaikat írhatnak konkrét feladatok végrehajtására, például más számrendszerekkel való együttműködésre, amelyeket később egyszerűen beépíthetnek a nyelvbe.
Az XL az absztrakció három szintjét határozza meg:
Az XL-nek nincsenek sem primitív típusai, sem fenntartott szavak. Minden használt operátor és adattípus, mint például az egész számok vagy az összeadás operátor, a szabványos könyvtárban (XL2) deklarálva van. Az XL1 hordozható, hogy különböző környezeteken és platformokon futhasson. De az XL2-ben már nincs ilyen garancia: ha egy adott processzor nem támogatja a lebegőpontos szorzást, akkor a megfelelő operátor leírása a szabványos könyvtárban kimaradhat, és az ilyen szorzás használata fordítási időt eredményezhet. hiba.
Egy példa Hello World program XL-ben így néz ki:
használja az XL.TEXT_IO-t Írd meg "Hello World"Egy alternatív írásmód a széles körben méretezhető programok számára megfelelő stílusban a következő:
import IO = XL.TEXT_IO IO.WriteLn "Hello World"A szintaxis XL0 szinten van meghatározva. Az XL0 fordítási lépés a leíró fájl szintaxisával konfigurálható, amely meghatározza a szöveg megjelenítési módját és az operátor elsőbbségét rendeli hozzá. Az alapszintaktikai fájl általános matematikai jelöléseket határoz meg, például "+" az összeadáshoz, amelyeket általában a műveletek sorrendjében alkalmaznak.
A szerkezeti fa 7 típusú csomópontot tartalmaz: 4 levél típusú csomópontot (egész, valós, szöveg és szimbólum) és 3 belső típusú csomópontot (infix, előtag és blokk).
Szabványos szintaktikai fájl esetén a következő egy érvényes XL0, amely független minden szemantikától.
A = B + "helló"A feldolgozás után így fog kinézni:
index("=", szimbólum ("A"), index("+", szimbólum("B"), szöveg("Helló")))