Az ELASTIC programozási nyelv

Lexikális elemek

A nyelv szintaxisát a C/C++ nyelv inspirálta.

Kommentek

C szintaxisú komment:

 
        /*
        ...
        ... Komment...
        ...
        */

illetve C++ szintaxisú komment:

 
        //Komment...

írására van lehetőség.

Fenntartott szavak

 
  break        catch           class           continue        do              else
  extends      for             from            function        goto            if
  import       in              local           method          package         private
  public       return          static          super           throw           try
  while

 

Azonosítók

Egy azonosító a következő karakterek nem üres sorozatából áll: az angol ábécé betűi, aláhúzásjel és számok, azzal a megkötéssel, hogy az első karakter nem számjegy. Érvényes azonosító pl.:

 
        _
        a1
        egy_azonosító

Literálok

Null érték

 
        @nil

A @nil egy speciális érték. Amikor egy változó létrejön, akkor az értéke nem definiálatlan, hanem az interpreter azonnal a @nil értéket rendeli hozzá. Ha egy objektum értéke @nil, akkor az objektumra való hivatkozás futás közbeni hibához vezet.

Egészek

 
        12345      // tizes 
        0x3039     // tizenhatos 
        030071     // és nyolcas számrendszerben felírt számok

Lebegőpontosak

 
        123.45     
        123.            
        1.2345e2        
        1.2345e+2

Mind a négy felsorolt lebegőpontos számmegadási forma elfogadott a nyelvben.

Logikaiak

 
        @true   //logikai igaz
        @false  //logikai hamis

Ha egy értéket logikai kifejezésben használunk, akkor az érték @true-vá konvertálódik, kivéve a @false, a @nil és az egész 0 értékeket, amelyek @false ként viselkednek.

Karakterek

Az ASCII karakterkészlet megengedett.
Speciális karakterek:

 
  '\\'         \   - Backslash            (ASCII 92)
  '\n'         LF  - Linefeed             (ASCII 10)
  '\t'         HT  - Tab                  (ASCII 9)
  '\b'         BS  - Backspace            (ASCII 8)
  '\r'         CR  - Carriage Return      (ASCII 13)
  '\f'         FF  - Feed Forward         (ASCII 12)
  '\v'         VT  - Vertical Tab         (ASCII 11)
  '\a'         BEL - Bell                 (ASCII 7)
  '\?'         ?   - Question mark "?"    (ASCII 63)
  '\''         '   - Single Quote "'"     (ASCII 39)
  '\0'         NUL - NUL                  (ASCII 0)

Stringek

Az ASCII karakterkészlet megengedett.

 
        "Ez egy string literál"
        "Ez egy \"idézőjelet\" tartalmazó string"

A backslash karakter az escape karakter.

Szimbólumok

 
        #szimbólum
        #ez_egy_másik_szimbólum
        'ez_is_egy_szimbólum

Részletesen lásd a típusok között.

Tömbliterálok

 
        #[1, 2, 3, 4.0, 'a', "egy string", #szimbólum]
        #[1, 3, 5, #['a', 'b', 'c'], 3 + 4, 42]

Asszociatív tömb literálok

 
        %["key 1", "value 1", "key 2", "value 2"]
        %["key 1", 1,
               "key 2", 2,
               #key3,   3]
        %[1,           5,
               "abc",       6.6,
               3.4,         "ok",
               #[1, 2, 3],  "cool"]