CA - Visual Objects

Nyelvi elemek

Jelkészlet

A nyelv bármilyen UNICODE karaktert elfogad, más kérdés, hogy a terminálban mi fog megjelenni. A kulcsszavakat kis- és nagybetűkkel egyaránt írhatjuk.

Azonosítók

Az azonosítóknak alfabetikus karakterrel vagy aláhúzással kell kezdődniük, egyébként betűket, számokat és aláhúzásjelet tartalmazhatnak. A betűkbe olyan UNICODE karakterek is beleértendőek, mint például a magyar ó betű, de ilyeneket konvencionálisan nem szoktunk használni. A változók nem case sensitive -ek, azaz akár nagybetűkkel is hivatkozhatunk rájuk.

local iAlmaDióMogyoró := 2 as int // bár érvényes, de kerüljük a nem angol betűket // local 2Alma // fordítási hiba ? IALMADIÓMOGYORÓ // nem case sensitive

Literálok

A szám típusú literálok írására az általánosnak mondható jelölés használatos CA-VO -ban is, azaz decimális számok 0-9 -ig számjegyeket, opcionálisan tizedespontot tartalmaznak. A hexadecimális és bináris számok jelölésésre a 0x<hexaszám> illetve 0b<binszám> alak használható. Lebegőpontos számokat meg lehet adni normálalakban is, ennek formája <decszám>e<kitevö>, ahol a kitevő előjeles egész, tizedespontot nem tartalmazhat. Hosszú egészeket (32 bit) a L utótaggal jelölünk.

Az alap típusok melett van beépített dátum típus is, az év, hónap, nap részeket a . karakterrel lehet elválasztani. Különféle műveletek végezhetők dátumokkal, például eltelt idő kiszámítása. Az évszázadot nem kötelező megadni, alapértelmezésben 19.

String literál megadható " vagy ' között is (de keverve nem). Az escape karaktert még nem sikerült megtalálnom.

local i := 1987.12.22 as date local j := 83.03.10 as date local k := 0xffffff as int local l := 0XFFFFFFFFL as longint // a számok irása sem case sensitive local m := 0.0001 as float local n := 2.0e-2 as real local o := 0b00010010 as byte ? "eltelt napok szama:", (i - j)

A fordító egy utasítássor végének a sorvége karakert tekinti (szekvenciapont?), ezért ha egy utasítást új sorban akarunk folytatni, akkor a sor végére ; (folytatássor) karaktert kell tenni.

local i i := 2 + 3 + 4; + 5 + 6 + 7 ? i

A folytatássor string literál belsejében nem használható, a konkatenációs operátort kell használni.

local i i := "Ez egy nagyon nagyon nagyon " +; "nagyon nagyon hossssssssszzzuuuuuuuu szoveg" ? i

Kommentek

CA-VO -ban a fordítási egységnek nagyjából a modul felel meg, de a modul még kisebb részekből áll, amiket elemnek hív. Például egy függvénydefiníció ilyen elem. A megjegyzések jelölésésre többféle módszer is létezik, ezek az elemen belül bárhol elhelyezhetőek. Az egész modulra vonatkozó ismertető szöveget a TEXTBLOCK elemmel adhatjuk meg. A kommentek fajtáit mutatja be az alábbi példa.

textblock ebben a modulban található a program belépési pontja * ide huzni fog az editor egy szép vonalat, ezzel szeparálja az elemeket * a modul elemeit nem egyszerre szerkesztjük, hanem csak azokat amiket kiválasztottunk function Start(p) local i && itt deklaráltunk egy változót; a láthatóságot meg kell adni i := 2 // deklarációkor is lehetne értéket adni neki ? i // kiirjuk i értékét * ez a fajta komment külön sorban kell álljon i := 3 && blablablah /* Ez a többsoros komment. Mint látható egysoros kommentre 3 féle lehetőség is van, bár létezik még egy negyedik is, a NOTE, de az valamiért nem müködött. */ _Accept("") return nil