Az Idol nyelvre az Icon nyelv lexikai leírása érvényes.
Szövegkonstansokat idézőjelek közé kell zárni (pl. "Hello World!") s mind a 256 ASCII karakter előfordulhat benne.
Az üresstring pedig értelemszerűen a "". A string hossza tetszőleges lehet (amekkora belefér a memóriába).
Numerikus literálok: 0 .. 9 és A .. Z
Az egész számok megadhatóak radix formában is: (alap)r(szám). Az alap 2-36 között lehet. Például: 2r111 = 7, 36rCAT = 15941.
Valós számok tizedesponttal illetve exponenciális alakban is megadhatóak: 3.5, 27e2.
Az azonosítóknak betűvel (angol nagy- és kisbetűk) vagy aláhúzással kell kezdődniük, utána betű,
számjegy vagy aláhúzás állhat. Formálisan felírva:
letter | _ { letter | _ | digit }
A kis és nagybetűket a fordító megkülönbözteti! Az azonosítók hosszúsága tetszőleges lehet.
A változókat nem kell külön deklarálni, hivatkozáskor egy lokális változó
jön létre az alprogramon belül aminek élettartama az alprogramra korlátozódik.
Opciónálisan azonban megadhatjuk a változó hatáskörét (local, static, global).
Kommenteket a kettőskereszttel (#) szúrhatunk be a programunkba: a fordító a # utáni részt figyelmen kívül hagyja.
Ha többsoros kommentet szeretnénk, akkor minden sor elejére ki kell tennünk a kettőskeresztet.
A nyelv fenntartott szavai a következők (ezek nem használhatóak azonosítóként):
Az elhatároló jelek: space, tab, új sor.
Egy karakter: