A Nemerle programozási nyelv

Nyelvi elemek



Tokenek

A Nemerle nyelv lexikális elemek (token) és üres karakterek (blank) sorozatából épül fel. Az üres karakterek nincsenek figyelembevéve a nyelv értelmezésekor, elválasztó szerepet töltenek be.

A tokenek osztályai:

Üres karakterek

Szóközök, tabulátorok, lapvége és sorvége karakterek, valamint a kommentek összességét nevezzük üres(blank) karaktereknek. A C#-hoz hasonlóan a Nemerlében is két fajta komment létezik: "hagyományos" és egysoros, a hagyományos komment /* -gal kezdődik és */ -rel zárul, az egysoros //-rel kezdődik, és sor vége karakterrel zárul.

Preprocesszor direktívák

A Nemerle preprocesszor díráktívái megegyeznek a C# preprocessor direktíváival.

Azonosítók

A szabályos azonosítók alfanumerikus karaktereket, aláhúzásokat és aposztrófokat tartalmazhatnak, de nem kezdődhetnek számmal. A @ karakter megszünteti az utána következő karakterlánc lexikai és szintaktikai értelmét, ezáltal megengedi a kulcsszavak azonosítóként való használatát.

Az aláhúzással kezdődő azonosítókkal jelölt lokális változók esetén a fordító nem szól, ha az adott változót nem használjuk.

A következő karaktereket szimbolikus azonosítóknak nevezzük: =, <, >, @, ^, |, &, +, -, *, /, $, %, !, ?, ~, ., :, #. A szimbolikus azonosítókat a fordító infix operátorokként kezeli.

Kulcsszavak

A következő szavak kulcsszavak a nyelvben, és semmilyen körülmények között nem használhatók azonosítóként (kivéve, ha @ jellel levédjük őket): _, abstract, and, array, as, base, catch, class, def, delegate, do, else, enum, event, extern, false, finally, for, foreach, fun, if, implements, in, interface, internal, lock, macro, match, module, mutable, namespace, new, null, out, override, params, private, protected, public, ref, sealed, static, struct, syntax, this, throw, true, try, type, typeof, unless, using, variant, virtual, void, when, where, while, assert, ignore. A következő infix azonosítók szintén foglalt kulcsszavak: =, $, ?, |, ->, =>, <[, ]>, &&, ||.

Literálok

Literálok típusai: