Az OX programozási nyelv

Absztrakt adattípusok

Láthatósági szabályok

A kifejezések blokkja elején deklarált változók láthatósága és elérhetősége a blokkhoz kötődik. Az ilyen változókat automatikusnak hívják. A kifejezés blokkokon kívült deklarált változókat statikusnak hívjuk, és ezek globális láthatósággal és élettartammal rendelkeznek.

Megjegyzés: Ox-ban a numerikus típusok és string esetén - jobbról balra történő - érték másolásával történik. Automatikus változók értékül adhatóak nagyobb láthatósággal rendelkező változóknak.

Módosítók

A static kulcsszó ugyan láthatóságot biztosít egy változó számára az egész fájlban, és létezni is fog az ilyen változó a program futása során végig, de nem lesz látható más fájlokból.

Osztályoknál a static kulcsszónak más a jelentése.

Az extern módosítószó azt tudatja a fordítóprogrammal, hogy az adott objektum felhasználható más fájlokban is.

Egy változó nem lehet egyszerre extern és static.

Az extern definíciókat header fájlokban érdemes tárolni.

Az extern, a static és a const módosítók egy listára alkalmazva a lista minden elemére érvényes lesz.

Egy const objektumot mindenképpen inicializálni kell (hacsak nem extern), de a továbbiakban már nem változtatható az értéke.

Példák:

decl a, b; // int típusúak 0 értékkel enum { AAP, NOOT, MIES, WIM }; // felsorolási típus: 0,1,2,3 const decl ia = NOOT, ib = NOOT + WIM; // int típus const decl ma = < NOOT, AAP; 0, 1 >; // mátrix típus const decl aa = {"tinker", "tailor"}; // tömb típus array decl id = ia * (WIM - 1) * MIES + ib; // int típus decl da = ia + 0.; // double típus decl mb = <0:3; 4:7; 8:11>; // mátrix típus decl ab = { ma, ma}; // tömb típus extern decl elsewhere; // másik fájlban definiált objektum decl mc[3][3] = 1.5; // 3 x 3-as mátrix 1.5 értékekkel decl md[2][1]; // 3 x 1-es mátrix zérókkal enum { ZUS = id }; // hiba: id nem konstans decl ih = id; // hiba: id nem konstans decl ia; // hiba: ia már definiált