wek-endovka: Viete, čo je sigil a stropping?
5. časť wekových weekendových zamyslení
wek, 13.08.2010-00:00


V dnešnej dobe sa už nikto nezamýšľa nad tým, či sa prekladač vie vysporiadať s lexikálnou a následnou syntaktickou analýzou zdrojového textu vo vyššom programovacom jazyku. Zvykli sme si, že programovacie jazyky sú "konštruované" s ohľadom na pohodlie programátora (z čoho sa akosi ticho predpokladá, že vyplynie aj jeho vyššia efektivita). No a prekladač si jednoducho musí poradiť,

Nie vždy to však bolo tak. Keď mali počítače obmedzené zdroje, aj prekladače museli byť jednoduchšie, a tak sa tomu prispôsobovali aj jazyky.

Lexikálna analýza je rozoznávanie kľúčových slov, symbolov operátorov a mien objektov (premenných, funkcií), obvykle na základe rozoznávanie súvislých reťazcov navzájom oddelených "whitespace" a ne-alfanumerickými znakmi. Táto analýza sa dá výrazným spôsobom zjednodušiť pomerne jednoduchým trikom: stačí explicitne typograficky vyznačiť kľúčové slová, napríklad ich zapísať tučným písmom alebo podčiarknutím. Tento trik sa nazýva stropping. Stropping bol najviac využívaný v rôznych podobách v jazyku ALGOL.

Takéto typografické vyznačenie zvyšuje čitateľnosť zdrojového textu nielen pre prekladač, ale aj pre programátora. Na druhej strane však naráža na technické obmedzenia a najmä vzájomnú nekompatibilitu vstupno-výstupných zariadení (v tom čase obvykle elektrických písacích strojov či ďalekopisov). Preto sa stropping často realizoval napríklad aj použitím veľkých písmen pre kľúčové slová (a malých pre mená objektov), uzavretím kľúčového slova do apostrofov či iných zvláštnych znakov, alebo jednoducho len použitím špeciálneho znaku (napr. ' alebo %) ako prefixu - čo je blízky príbuzný sigila, o ktorom budeme hovoriť v nasledujúcej časti dnešného článku.

Sigil je špeciálny znak použitý ako prefix alebo suffix, ktorým sa spresňuje význam mena objektu (obvykle premennej). Týmto sa obchádza potreba mechanizmu na deklaráciu typu premenných, a prekladač má tým priamo v mieste použitia premennej predpísaný spôsob, ako k premennej pristupovať. Toto tiež výrazne zjednodušuje konštrukciu prekladačov.

Najznámejší príklad použitia sigila je z jazyku BASIC, kde v takmer všetkých dialektoch sa používa suffix $ na vyznačenie reťazcovej premennej (v niektorých dialektoch sa používajú aj iné sigily napr. na odlíšenie celočíselných premenných, keďže defaultný typ je obvykle číslo s pohyblivou rádovej čiarkou). Sigily sa s obľubou používajú v skriptovacích (interpretovaných) jazykoch, napr Perl, PHP apod.

<- 4. časť

6. časť -->



tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.71 )