Tieto dva záhadne znejúce pojmy pochádzajú z programátorského stredoveku, a označujú postupy, ktorými sa zjednodušuje konštrukcia prekladačov na úkor "úkonov", ktoré musí urobiť programátor.
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.
no, tak si ma pekne zaskocil. Akokolvek patram po pameti, tieto dva terminy sa mi v nej nevyskytuju ... A to som si myslel, ze mam aspon ako-taky prehlad co sa tyka prekladacov. Dakujem.
Musíte byť prihlásený, aby ste mohli zasielať komentáre - prosím prihláste sa, alebo kliknite tu pre registráciu
Kecátko
Musíte byť prihlásený pre zasielanie komentárov na túto stránku - prosím prihláste sa alebo sa zaregistrujte tu
On November 21, 2023, Microsoft announced Azure RTOS will be transitioning to an open source model under the stewardship of the Eclipse Foundation. With Eclipse Foundation as the new home, Azure RTOS becomes Eclipse ThreadX, or "ThreadX" in its short form.
modm is an umbrella project for a handful of stand-alone projects and acts as a curated toolbox for creating custom C++ libraries for embedded targets. [URL adresa]
Stránky generuje redakčný systém e107, a údaje do neho nahadzujú EdizonTN a redaktori. Všetky zverejnené informácie si výhradne po dohode s administrátorom, dajte kam chcete.... Príspevky v diskusnom fóre a komentároch, vyjadrujú názory čitateľov. Redakcia serveru nenesie zodpovednosť za ich obsah. Vyhradzuje si však právo ich odstraňovať. (c) 2009-2022 Sledujte nás cez RSS, BlueSky, X, Facebook, MeWe, Mastodon, Telegram, Discord, reddit, Git-Hub alebo na YouTube . Verzia pre mobily