Claire

Nyelvi elemek

Fordítás, futtatás

A fordításhoz le kell tölteni a CLAIRE honlapjáról a legfrissebb verzióját a programnak. Ez jelenleg a 3.2-es. (http://www.claire-language.com/). A telepítés a következőképpen zajlik (Redhat 8.0):

Létrehozunk egy claire3.2 könyvtárat, s abba kicsomagoljuk a tömörített csomagot.

host~>unzip -Ua -d konyvtarszerkezet/claire3.2 filename.zip

Ezután a CLAIRE3_HOME környezeti változót beállítjuk erre a könyvtárra:

host~>CLAIRE3_HOME=konyvtarszerkezet/claire3.2 host~>export CLAIRE3_HOME

Ezután lefuttatjuk a makefile-t, s már készen is állunk programok futtatására:

make -f Makefile.unix

A telepítés után létrehozunk egy egyszerű szövegeditor segítségével egy Claire programot, ami most a release.cl. Ennek a futtatása:

host~>./sclaire claire> load("release") eval[1] true claire> main() eval[2] claire release 3.2.0 claire> q host~>

Azonosítók

Minden azonosító egy névtérhez kell tartozzon. Ha ez nincs megadva, akkor a környezet dönti el, hogy hova tartozik. Ilyenkor minősítetlen azonosítónak hívjuk. Ha megadjuk a névteret, azaz a névtérrel minősítjük az azonosítót, akkor minősített azonosítóról beszélhetünk, amellyel megkülönböztethetjük az azonos nevű azonosítókat. A mínősített azonosító szintaxisa: névtér/azonosító.

Alap karaktereknek hívunk bármilyen karaktert, kivéve a [, ], {, }, (, ), szóköz, EOL (fájl vége), ;, ", ', /, @ és a : karaktereket, amelyek speciális szerepet játszanak a nyelvben. Az azonosító a Claire-ben ezeknek az alap karaktereknek egy nem üres szekvenciája, de az első karakter nem lehet numerikus.

A nem mínősített azonosítókat használjuk változóknak.

A Claire-ben egy minősítetlen azonosító hossza maximum 50 karakter lehet.

A Claire-ben reprezentált azonosítókat szimbólumoknak hívjuk. Minden azonosító egy szimbólum által van reprezentálva. Egy szimbólumot a következőképpen definiáljuk: megadjuk a névteret, a nevét, és a státuszát. A státusz kétféle lehet: private vagy export. Ha nem adjuk meg, akkor export lesz alapból. Ha egy azonosító státusza private, akkor csak a leszármazott modulból vagy a saját modulból lesz elérhető. Ha a státusz export, akkor el lehet érni más modulokból is, feltéve, ha a modul létrehozásakor beállítottuk az elérési jogokat.

Vannak foglalt szavak a nyelvben, amelyeket nem használhatunk változóként. Ezeket most nem soroljuk fel.

Literálok

A karaktereket ' jelek között kell megadni. A karakter egy 8 bites integernek az ASCII reprezentációja. Az ASCII értéke egy 'x' karakternek elérhető direkten is #/x formában. A fálj vége karakter a globális EOF változóban van tárolva.

A sztring karaktereknek a szekvenciája " jelek között. Bármilyen karakter megjeleníthető, de a " jelet a \" formában lehet csak leírni. Az üres sztring a "" sztring. Az új sort leírhatjuk az új sor karakterrel, de a \n speciális vezérlőkarakterrel is.

A Claire-ben a számok egészek vagy valósak lehetnek. Az egész és valós számoknak csak a decimális reprezentációja használható. A szintaxisa az egész számoknak:

<egész szám> ::= <-> <pozitív szám> | <pozitív szám> <pozitív szám> ::= <'0'..'9'> | <'0'..'9'><pozitív szám>

A valós számok szintaxisa:

<valós szám> ::= <egész szám>.<pozitív szám> | <egész szám>(.<pozitív szám>)e(+|-)<pozitív szám>

A Claire 3.2-ben az egész számok 30 biten, a valós számok 64 biten tárolódnak.

A Claire-ben van logikai literál. Ennek szintaxisa:

<boolean> ::= false | true

Kommentek

Megjegyzést a // karakterek illetve a ; karakter után írhatunk. Ezek egysoros megjegyzések, azaz csak a sor végéig tartanak. Lehetőség van többsoros komment írására, a C nyelvből (is) ismert /* többsoros komment */ formában is.