Az Euclid programozási nyelv

Nyelvi elemek

Egy Euclid program modultípusdeklarációk sorozatából áll. Ezeket megelőzheti egy include utasítás, aminek segítségével további Euclid programokat fűzhetünk a programunkhoz. Az include lista elemeit pontosvesszővel választjuk el, ha nincs megadva from lista, akkor a file összes deklarációja bekerül, egyébként csak a felsoroltak. Ha a különböző file-ok ugyanolyan nevű típusokat tartalmaznak, akkor az hibát eredményez. Egyes implementációban a szöveges beszúráson kívül több fordítási egység külön fordítása és összeszerkesztése is megengedett.
Az Euclid szintaxisát módosított BNF-ben írták le, ebből az idevonatkozó rész:
(A teljes leírás megtalálható: B.W.Lampson, J.J.Horning, R.L.London, J.G.Mitchell, G.L.Popek, "Report on the Programming Language Euclid", SIGPLAN Notices, Vol. 12, Num. 2, Febr. 1977), Appendix A. Collected Syntax.

Az Euclid program unitokból épül fel, melyeket pontosvessző választ el. A fordító automatikusan berakja a pontosvesszőt, ha bizonyos szimbólumok valamelyikére végződik egy sor, illetve ha egy sor bizonyos szimbólumokkal kezdődik, akkor azt új unitnak tekinti.

Az azonosítók konstansokat, változókat, típusokat és rutinokat jelölhetnek. A hozzárendelésnek egyértelműnek kell lennie minden láthatósági körben. A decimális számok jelölése a megszokott, az oktális illetve hexadecimális számokat a számjegyek után írt #8 illetve #16 jelzik.
Pl.:

1 100 717#8 0CAD1#16 123#16


A sztringkonstansok aposztrófok közé írt karaktersorozatok. A karakterkódok illetve a speciális karakterek jelölésére a $ szimbólum használatos. A $ddd az adott decimális kódú karaktert helyettesíti, a $S, $T, $N, $$, $' rendre a szóköz, a tabulátor, az újsor, a $ jel illetve az ' karaktert jelentik. Egy karakterkonstanst a $a jelöl, ahol az 'a' egy karakter.
Pl.: