Original title:
Strukturování kódu v zadní části zpětného překladače
Translated title:
Code Structuring in Decompiler Back-End
Authors:
Hrbek, David ; Matula, Peter (referee) ; Zemek, Petr (advisor) Document type: Bachelor's theses
Year:
2014
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cílem této práce bylo navrhnout a implementovat algoritmus pro strukturování kódu v zadní části zpětného překladače projektu Lissom. Zabývá se problémem eliminace nepřímých skoků (branch/goto) z nízkoúrovňového kódu s využitím vysokoúrovňových konstrukcí, jako jsou podmíněné příkazy (if, switch) a cykly (for, while). Práce obsahuje teoretický úvod do problematiky zpětného překladu, informace o zpětném překladači projektu Lissom, návrh algoritmu pro strukturování kódu, popis jeho implementace, popis sady testovacích úloh a shrnutí výsledků.
The goal of this thesis was to design and implement an algorithm for code structuring in Lissom decompiler's back-end. This algorithm eliminates indirect jumps (branch/goto) from low-level code with a use of high-level constructs, such as conditional statements (if, switch) and loops (for, while). This thesis contains an introduction into the topic of decompilation, some information about the Lissom project's decompiler, a proposal of the structuring algorithm, details of its implementation, testsuite description and results summary.
Keywords:
BIR; code structuring; decompilation; decompiler's back-end; Lissom project's decompiler; LLVM IR; BIR; LLVM IR; strukturování kódu; zadní část zpětného překladače; zpětný překlad; zpětný překladač projektu Lissom
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/53054