Generátor kódu s vyměnitelnou cílovou architekturou
A retargetable code-generator
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/7118Identifikátory
SIS: 44758
Kolekce
- Kvalifikační práce [11239]
Autor
Vedoucí práce
Oponent práce
Král, Jaroslav
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
11. 9. 2006
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Velmi dobře
Práce se zabývá návrhem backendu pro kompilátor jazyka C++ s podporou generování kódu pro více cílových architektur. Backend je rozdělen na dvě části: systém popisu cílové architektury a generátor kódu. Popis cílové architektury je založen na jazyku XML. Ze vstupního XML souboru jsou pomocí XSL šablon vygenerovány C++ třídy reprezentující charakteristiky a vlastnosti architektury (instrukce, podporované datové typy, registry, atd). Tyto třídy používá generátor kódu jako zdroj informaí o cílové architektuře. Generátor kódu je na architektuře nezávislý. Hlavní fáze jsou: výběr instrukcí, plánování instrukcí, alokace registrů, generování spillkódu. Výstupem je asemblerový zdrojový kód.
This work is focusing on a retargetable backend design for a C++ compiler. The backend is composed of two parts: a target architecture description and a code-generator. The architecture description is based on the XML language. A source XML le is an input for XSL templates that generate C++ classes with the architecture's characteristics such as instructions, supported data types, registers, etc. These classes are used by the code generator as a source of information about the target architecture. The code-generator is architecture-independent. The main phases are: instruction selection, instruction scheduling, register allocation, spill-code generation. The generated output is an assembly source code.