Változók
A változók nevének a következő feltételeknek kell megfelelniük:
- Az első karakternek alfabetikus karakternek kell lennie.
- Nem tartalmazhat space-t, illetve szimbólumokat (kivéve: _).
- Bármilyen hosszú lehet a változó neve.
- Ez alól csak a foglalt szavak kivételek.
- Nem "case sensitive" a TOOL, azaz nem tesz különbséget nagy- és kisbetűk között.
A változót nem szükséges deklaráláskor inicializálni. Ez késöbb is megtehető, de legkésöbb
a változó első használata előtt meg kell történnie. Az inicializálatlan változó értéke NIL.
Kötött szavak
TOOL által foglalt szavak:
and, attribute, begin, case, changed, class, constant, continue, copy, cursor, do, else, elseif,
end, enum, event, exception, exit, false, for, forward, from, handler, has, if, in, includes,
inherits, input, is, loop, method, new, nil, not, of, or, output, post, postregister, preregister,
private, property, public, raise, register, return, service, sql, start, struct, super, task, then
to, transaction, true, typedef, union, virtual, when, where, while
SQL által foglalt szavak:
all, any, as, asc, between, by, close, connect, current, default, delete, desc, distinct,
escape, execute, exists, extend, extent, fetch, fragment, from, grant, group, having, immediate,
insert, into, like, minus, null, on, open, order, procedure, raise, revoke, select, session, set,
some, unique, update, values, where
Kifejezések
A kifejezések mindig jobbról balra, illetve a zárójelek által meghatározott sorrendben
értékelődnek ki. A kifejezések infix formátumúak. Operátor túlterhelés nem lehetséges a Forté-ban.
A kifejezések összehasonlítására a következő operátorok állnak rendelkezésre:
=, , !=, , =. (Az összehasonlító műveleteknek létezik objektum szintű változata is.)
Logikai operátorok: not, and, or
Numerikus oparátorok: +, -, *, /, -(unáris), +(unáris), %(maradékos osztás), &(bitenkénti és),
| (bitenkénti vagy), ^ (bitenkénti kizáró vagy), ~ (unáris bitenkénti negálás)
Ezek precedencia-sorrendje:
Precedencia szint |
Operátor:
|
1 |
[], ->
|
2 |
* (pointer), & (address of)
|
3 |
- (unáris), +(unáris)
|
4 |
*, /, %
|
5 |
+, -
|
6 |
, =, =, , !=
|
7 |
& (bitenkénti és)
|
8 |
^ (bitenkénti kizáró vagy)
|
9 |
| (bitenkénti vagy)
|
10 |
not
|
11 |
and
|
12 |
or
|
Láthatóság:
A változó láthatósága arra a blokkra és alblokkjaira terjed ki, ahol deklarálásra került (és
nem arra a blokkra, ahol inicializálásra került). Amennyiben a változó egy metódus elején lett
deklarálva, abban az esetben a láthatóság a metódus végéig érvényes. Az osztály attributumainak
és metódusainak láthatósága lehet privát és publikus is. Privát attributumok esetén értékadás
csak a publikus és osztályon belüli metódusok segitségével történhet.
Literálok
Az egész típusú literálok alakja a következő: [+|-]számjegyek (számjegyek=0-9). Használható még
a hexadecimális számrendszer is, amelynek szintaxisa a következő: 0xszámjegyek (számjegyek = 0-9,
A-F, a-f). A lebegőpontos számok alakja a következő: [+|-]számjegyek.számjegyek[e|E[+|-]egész]
A string-ek esetében a többsoros literálok megengedettek. Vezérlő karaktereket is használhatunk.
Ezek a következőek:
Speciális karakterek: |
Beírásuk módja:
|
' |
\'
|
\ |
\\
|
új sor |
\n
|
kocsi vissza |
\r
|
tab |
\t
|
csengő |
\a
|
törlés |
\b
|
lapdobás |
\f
|
függőleges tab |
\v
|
oktális szám |
\000, ahol 0=0-7
|
hexadecimális szám |
\xhh, ahol 0=0-9,A-F,a-f
|
Commentezés
Egysoros commentezésre a már C-ből és Ada-ból is jól ismert // illetve -- is használható.
Hatásköre a sor végéig terjed ki.
Példa:
// Ez egy egysoros comment.
-- Ez is egy egysoros comment.
Több sor vagy tömb commentezésére pedig a /* */ használható. Pl.:
Példa:
/* Ez egy többsoros
comment rész. */
Dokumentációs megjegyzéseket nem támogat a nyelv.