Progress in Programming Language Semantics Frameworks /
Představa masové produkce počítačového software bez použití vysokoúrovňových programovacích jazyků je obtížná. Tyto jazyky odstiňují softwarové inženýry od detailů přítomných v moderních počítačových architekturách: instrukční sady, keše, provádění instrukcí mimo pořadí, a tak dále. Ale když se abst...
Uloženo v:
| Hlavní autor: | |
|---|---|
| Další autoři: | |
| Typ dokumentu: | VŠ práce nebo rukopis |
| Jazyk: | Angličtina |
| Vydáno: |
2025
|
| Témata: | |
| On-line přístup: | https://is.muni.cz/th/bw4ql/ |
| Shrnutí: | Představa masové produkce počítačového software bez použití vysokoúrovňových programovacích jazyků je obtížná. Tyto jazyky odstiňují softwarové inženýry od detailů přítomných v moderních počítačových architekturách: instrukční sady, keše, provádění instrukcí mimo pořadí, a tak dále. Ale když se abstrahujeme od těchto detailů, co zbyde z programovacího jazyka? Když tyto "zbytky" - sémantiku daného programovacího jazyka - přesně popíšeme, důležité otázky začnou dávat smysl: otázky typu "Je tento překladač korektní?" či "Může můj program selhat?". Můžeme však jít ještě dále: s jednotným konceptem "sémantiky" sdílené mezi jazyky, vývoj programovacích jazyků se zjednodušší a zautomatizuje. Například je možné napsat interpreter nebo deduktivní verifikátor takovým způsobem, že tento je parametrický v sémantice cílového programovacího jazyka, a následně získat interpreter nebo verifikátor pro libovolný jazyk popsaný uvnitř takovéhoto frameworku téměř zadarmo. Tato práce představuje tři přísp One can hardly imagine large-scale production of computer software without the use of high-level programming languages. These shield software engineers from the overwhelming amount of detail present in modern computer architectures: instruction sets, caches, out-of-order execution, and so on. But when these details are abstracted, what does remain of a programming language? When the remains - a programming language’s semantics - are precisely captured, important questions such as “Is this compiler correct?” or “Can my program go wrong?” become meaningful. Furthermore, with a common notion of language semantics shared between languages, the development of programming language tools becomes easier and more automated. For example, it is possible to write an interpreter or a deductive verifier such that it is parametric in the semantics of the target language, and then obtain the interpreter or verifier almost for free for any language expressed within the framework. This thesis presents |
|---|---|
| Popis jednotky: | Vedoucí práce: Jan Obdržálek |
| Fyzický popis: | 159 stran : ilustrace |