Oxygene

Nyelvi elemek



Jelkészlet

Az Oxygene az Unicode jelkészletet használja, tehát az azonosítókban lehetnek speciális karakterek is (például: ü) azonban ezeknek a használata nem ajánlott. A nyelv nem kis-nagybetű érzékeny!

Speciális karakterek: + - * / = < > [ ] . , ( ) : ^ @ { } $ #

Speciális karakterpárok: <= >= := += -= *= /= (* *) //

Azonosítok

Az azonosítóknak betűvel kell kezdődnie, és utána bármennyi betű vagy szám állhat. Az aláhúzás jel _, illetve minden unicode karakter #127 felett kivéve #160 a betűkhöz tartozik. Fenntartott szavak nem lehetnek azonosítók. Ha mégis szükség van különleges karakterek használatára, akkor azonosítót «» karakter pár közé kell tenni, pl «@@azonosító». Ez a két karakter Alt+0171 , illetve Alt+0187 lenyomásával elérhető.

Fenntartott szavak

A fenntartott szavakat nem lehet azonosítóként alkalmazni, azonban ha & karaktert használunk a fenntartott szavak előtt akkor már lehet azonosítóként használni. Például:

var &Begin, &End: integer;

Fenntartott szavak:

and as assembly
begin break
case class const constructor continue
delegate div do downto
else end ensure event except exit
false finalizer finally for forward function
if implementation in inherited interface invariants is
locking loop
method mod module
namespace new nil not nullable
of old on operator or out
private procedure property protected public
raise record repeat require result
self set shl shr
then to true try type
unit until uses using
var
where while with
xor
yield

A nyelvben vannak olyan szavak is, amik csak bizonyos feltétel mellett számítanak fenntartott szónak. Például lehet az array szó azonosító azonban az "array of" kifejezésben az array szó már nem azonosítónak számít. Ilyen szavak a következők:

abstract add "array of" async
default do
each empty enum external
final finalize flags
global
has
implements implies index inline iterator
locked
matching
nested
override
params partial pinned
read readonly reintroduce remove
sealed "sequence of" static step
unsafe
virtual
where write

Az alábbi szó csak lekérdezésekben számít fenntartott szónak:

create

Literálok

Típus Formátum Példa
<Letter> 'a'...'z' | 'A'...'Z' | '_' 'm' 'M' '_'
<Literal> <Number> | <String> | <Char> 27 'abc' #27
<Number> <Integer> | <Float> 42 4.2
<Integer> { <Digit> } | '$' { <HexDigit> } 123 $FE
<Digit> '0'...'9' 5
<HexDigit> <Digit> | 'a'...'f' | 'A'...'F' 5 c C
<Float> { <Digit> '.' { <Digit> } e vagy E a kifejezés része lehet 123.45 10e15 1234.56e7
<String> { <Char> | <StringConstant> } #44 'abc'
<StringConstant> 0x34 | 0x39 { 0x0032...0x0038 | 0x0040...0xffff | 0x39 0x39 } 0x39 | 0x34 'abc' "abc"
<Char> '#' <Integer> #60

Megjegyzések

A nyelv néhy féle megjegyzést támogat:

(* megjegyzés *) { megjegyzés } // megjegyzés /// - xml comment megjegyzés