A ScriptKernel programozási nyelv

Nyelvi elemek

Jelkészlet

A nyelv jelkészlete szinte teljesen azonos a C jelkészletével: az angol ábécé kis- és nagybetűit, az aláhúzásjelet, operátorokat (<, >, <=, >=, ==, !=, stb), az egyéb megszokott szintaktikai elemeket használhatjuk. Néhány új kulcsszó és operátor is bevezetésre került a C-hez képest. Új operátorok: &&&, &&>, |||, ||>. (Az első kettő és az utolsó kettő ekvivalens.
Az értékadás nem operátor. Értékadás jelei: =, := (az egyenlő, és a kettőspont-egyenlő).

Azonosítók

A ScriptKernel-beli változók nevei, csakúgy, mint a C-beli változók nevei, betűkből, számokból, aláhúzás karakterekből állnak. Az első karakter nem lehet szám, továbbá a nevek case-sensitive-ek, azaz a kis- és nagybetűk különbözőek. A C nyelv konvenciója, hogy a változóneveket kisbetűkkel, az állandók neveit pedig csupa nagybetűkkel írjuk. A nyelv fenntartott szavai nem lehetnek változónevek.

Literálok

A szöveges literálok leírási formája azonos a C szöveges literáljainak a leírási formájával. Továbbá a fordítási idejű szöveges literálok konkatenációja is használható. A szöveges literálok típusa minden esetben string típusú. A karakter literálok megegyeznek a C-ben megszokottal, kivéve, hogy a karakter literál típusa csak char, és nem konverálódik automatikusan egésszé. A numerikus literálok a C-ben megszokott módon definiálhatók, azzal a különbséggel, hogy minden literálnak meghatározott típusa van.

6
Ennek a típusa i32, és más nem lehet. Ha más típusú 6-ost szeretnénk, akkor szuffixeket kell írni.
Szuffixekkel:
6 // i32
6u // u32
6l // i64
6ul // u64
6.f // f32
6. // f64
Nem csak decimális formában írhatók le a literálok. Például a 31 különböző, ekvivalens alakjai:
31 // decimális
0b11111 // bináris
0o37 // oktális
0x1F // hexadecimális

Megjegyzések

Egysoros megjegyzések a // jeltől a sorvégéig, többsoros megjegyzések a /* jeltől a */ jelig. A többsoros megjegyzések nem ágyazhatók egymásba.

Kulcsszavak


Megjegyzések:
  1. Előre lefoglalt kulcsszavak, jelenleg nincsenek használva.
  2. A "raise" és a "near" között akárhány fehét szóköz lehet.
  3. Ezek string típusú értékek lesznek fordítási időben, és ezekre is érvények a fordítási idejű string konkatenáció.
  4. Alternatív név, a felsorolásban előtte álló kulcsszó (típus) álneve. Használata ekvivalens az előtte állóval.