Hermes programozási nyelv

Biztonságosság

Biztonságosság

A biztonságosság olyan nyelvben, mint a Hermes rendkívüli fontosságú. Hosszú élettartamú program rendszerek, melyek olyan modulokból épülnek fel amiket több felhasználó készített, amelyek dinamikusan betölthetnek tetszőleges, korábban még nem tesztelt programokat képesek kell, hogy legyenek a jó programok futtatására még akkor is ha néhány hibás program is elindul.

Ennek egyik eszköze a más nyelvekből már ismert kivételkezelés. A gyakorlatban kivételek definiálatlan változók elérése közben vagy nem megfelelő típusú adatok elérésekor váltódnak ki. Ez utóbbi kikerülhető megfelelő típus ellenőrzéssel. Fennmaradó biztonsági problémák az átnevezés és a megosztás amelyek egyike sem létezik Hermesben így ezekkel nem kell törödni.

Hermesben minden változó rendelkezik típussal ami a hatáskörén belül rögzített és amely közvetlenül a deklarációból kerül megállapításra. Minden művelet osztály szabályokkal bír amelyek korlátozzák az operandusok típus osztályait. például a + integer és real típusokkal használható. Minden műveletnek van típus következtetési szabálya ami meghatározza egy operandus típusát egy másik típus függvényében, például, ha S Charstring amelyet ordered table of Char -ként definiáltunk akkor insert C into S esetén C-nek Char típusúnak kell lennie. A változók deklarált típusa és a kifejezések következtetett típusának meg kell kell határozniuk egy egyéni típust minden kifejezés számára és konzisztensnek kell lennie a típus szabályokkal.

Hermesben a definiálatlan értékek problémájának megoldására a típusállapot ellenőrzés szolgál,- az adatfolyam analízis általánosítása. Hermes compilerek típusállapot ellenőrzéssel követik nyomon azt, hogy