Vizualizace změny kódu
Code changes visualisation
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/173818Identifiers
Study Information System: 241973
Collections
- Kvalifikační práce [12065]
Author
Advisor
Referee
Kliber, Filip
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in General Computer Science
Department
Department of Theoretical Computer Science and Mathematical Logic
Date of defense
17. 6. 2022
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Keywords (Czech)
gramatiky|programovací jazyky|stromová strukturaKeywords (English)
grammars|programming languages|tree structureCílem této práce je navrhnout a implementovat program, který na základně dvou po- dobných verzí zdrojového kódu napsaného v JavaScriptu vygeneruje animaci ve formátu GIF, zobrazující postupný přepis první verze do druhé. Dále je cílem navrhnout tento program tak, aby byl rozšířitelný o další jazyky. K dosažení tohoto cíle je definována zjednodušená reprezentace zdrojového kódu, která je nezávislá na jazyce, a pro každou uvažovanou úpravu v rámci této reprezentace je defi- novaná cenová funkce. Na základě této cenové funkce je vyhledána nejlevnější posloupnost přepisů, podle které je konečná animace vygenerována. 1
The goal of this thesis is to design and implement a program, which, given two similar versions of source code written in JavaScript, generates a GIF animation showing a step- by-step process of rewriting the first version into the other. Another goal is to design the program in a way, so that the list of supported languages can be extended. To achieve this goal, a simple, language-independent representation of source code is defined and for every considered transformation within this simplified representation, a cost function is defined. Based on this cost function, the cheapest sequence of transfor- mations is found, which is then used to generate the final animation. 1
