|
Překladač jazyka C pro mikroprocesor AVR32
Nagy, Michal ; Husár, Adam (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato bakalářská práce se zabývá tvorbou backendu architektury AVR32 pro překladač LLVM. Jádro práce tvoří seznamování se způsobem popisu architektur v LLVM a vlastní implementace backendu AVR32. Dále uvádím několik problémů, na které jsem během implementace narazil, a diskutuji jejich možná řešení. Výsledkem práce je funkční backend s několika omezeními zmíněnými v závěru práce.
|
|
Detekce kompletnosti instrukční sady pro generování univerzálního překladače jazyka C
Nagy, Michal ; Dolíhal, Luděk (oponent) ; Hruška, Tomáš (vedoucí práce)
Práce se zabývá problematikou detekce kompletnosti popisu instrukční sady mikroprocesoru pro překladač LLVM, neboli schopností překladače vygenerovat cílový program pro každý validní zdrojový program v příslušném vyšším programovacím jazyce. Na základech teorie regulárních stromových gramatik a několika vědeckých prací, které se touto problematikou též zabývají, je navržen a implementován formální prostředek pro ověření inkluze dvou gramatik. Dále je navržen způsob automatické extrakce obou gramatik z popisu instrukční sady, v důsledku čehož je tento prostředek možné použít pro ověření kompletnosti výběru instrukcí. V kombinaci s ověřením kompletnosti tzv. procesu legalizace překladače LLVM, který výběr instrukcí předchází, by mělo být proveditelné ověření kompletnosti většiny části překladače závislých na popisu cílové architektury.
|
|
Překladač jazyka C pro mikroprocesor AVR32
Nagy, Michal ; Husár, Adam (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato bakalářská práce se zabývá tvorbou backendu architektury AVR32 pro překladač LLVM. Jádro práce tvoří seznamování se způsobem popisu architektur v LLVM a vlastní implementace backendu AVR32. Dále uvádím několik problémů, na které jsem během implementace narazil, a diskutuji jejich možná řešení. Výsledkem práce je funkční backend s několika omezeními zmíněnými v závěru práce.
|
|
Detekce kompletnosti instrukční sady pro generování univerzálního překladače jazyka C
Nagy, Michal ; Dolíhal, Luděk (oponent) ; Hruška, Tomáš (vedoucí práce)
Práce se zabývá problematikou detekce kompletnosti popisu instrukční sady mikroprocesoru pro překladač LLVM, neboli schopností překladače vygenerovat cílový program pro každý validní zdrojový program v příslušném vyšším programovacím jazyce. Na základech teorie regulárních stromových gramatik a několika vědeckých prací, které se touto problematikou též zabývají, je navržen a implementován formální prostředek pro ověření inkluze dvou gramatik. Dále je navržen způsob automatické extrakce obou gramatik z popisu instrukční sady, v důsledku čehož je tento prostředek možné použít pro ověření kompletnosti výběru instrukcí. V kombinaci s ověřením kompletnosti tzv. procesu legalizace překladače LLVM, který výběr instrukcí předchází, by mělo být proveditelné ověření kompletnosti většiny části překladače závislých na popisu cílové architektury.
|