A Chrome programozási nyelv

Nyelvi elemek



Jelkészlet

A Chrome az Unicode jelkészletet használja, tehát az azonosítokban 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 _ a betűkhöz tartozik. Fenntartott szavak nem lehetnek azonosítók. Az azonosítok betűi az unicode jelkészletből lehetnek.

Fenntartott szavak

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

var &Begin, &End: integer;

Fentartott 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 fentartott szónak. Pédá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 fentartott 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 három féle megjegyzést támogat:

(* megjegyzés *) { megjegyzés } // megjegyzés