GCC a LLVM - Porovnání implementací zadních částí překladačů
GCC and LLVM - Compiler backends implementation comparison
Typ dokumentu
diplomová prácemaster thesis
Autor
Löbl Pavel
Vedoucí práce
Polách Radomír
Oponent práce
Šimeček Ivan
Studijní obor
Systémové programováníStudijní program
InformatikaInstituce přidělující hodnost
katedra teoretické informatikyPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato diplomová práce se zabývá problematikou překladu programovacích jazyků do strojového kódu. Zaměřuje se na zadní část překladače a vysvětluje základní pojmy a principy fungování generátoru strojového kódu. Dále podrobněji rozebíra implementace generátorů kódu v překladačích GCC a LLVM. Zejména zkoumá způsob, jakým je dosaženo podpory více cílových architektur v jednom kompilátoru. V praktické části byly projekty GCC a LLVM rozšířeny o generátor kódu pro jednoduchou registrovou architekturu s redukovanou instrukční sadou. This thesis deals with translation of high-level programming languages into machine code. It focuses mainly on back-end part of the compiler. It explains basic concepts and principles of machine code generator. Further it analyzes in greater detail implementation of code generators in the GCC and LLVM. Particularly examining aspects which enable support of multiple target architectures in a single compiler. In practical part of this thesis GCC and LLVM projects were extended to support code generation for a simple register architecture with a reduced instruction set.
Kolekce
- Diplomové práce - 18101 [216]