Překladač podmnožiny jazyka Python
but.committee | prof. RNDr. Alexandr Meduna, CSc. (předseda) prof. Ing. Tomáš Hruška, CSc. (místopředseda) Ing. Michal Bidlo, Ph.D. (člen) prof. Ing. Jan Holub, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) doc. Ing. František Zbořil, Ph.D. (člen) | cs |
but.defence | Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C Otázky u obhajoby: Můžete definovat konkrétní typ a generický typ ? Sekce 4.1.3 se zabývá čtením indexu třídy. Je možné přistupovat k indexu n-tice (angl. n-tuple) pomocí proměnné, nebo je vždy nezbytné indexovat konstantním výrazem? Jaké úpravy by vyžadovala podpora překladu modulů? | cs |
but.jazyk | čeština (Czech) | |
but.program | Informační technologie | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Kolář, Dušan | cs |
dc.contributor.author | Falhar, Radek | cs |
dc.contributor.referee | Křivka, Zbyněk | cs |
dc.date.accessioned | 2020-06-23T08:18:41Z | |
dc.date.available | 2020-06-23T08:18:41Z | |
dc.date.created | 2014 | cs |
dc.description.abstract | Python je dynamicky typovaný, interpretovaný programovací jazyk. Díky dynamickému typovému systému je tedy obtížné jej zkompilovat do statického zdrojového kódu. Tedy kódu, kde je přesně dáno, jaké typy existují a jaká je jejich struktůra. Existuje několik způsobů jak tohoto dosáhnout a jedním z primárních je typová inference. Tento přístup se snaží určit struktura typů ze zdrojového kódu. V případě jazyka Python je však tento přístup obtížný, protože výsledný typový systém je velice komplexní a jazyk samotný není k typové inferenci navržen. V této práci jsem se zaměřil na identifikaci podmnožiny tohoto jazyka, aby byla možná typová inference při zachování co nejpřirozenějšího použití jazyka. Následně jsem implementoval překladač, který tuto podmnožinu přeloží do staticky typovaného jazyka, který pak lze přeložit do nativního kódu. | cs |
dc.description.abstract | Python is dynamically typed interpreted programming language. Thanks to its dynamic type system, it is difficult to compile it into statically typed source code. The kind of source code, where it is exactly specified what types exist and what their structure is. Multiple approaches exist how to achieve this and one of the primary ones is type inference. This approach is attempting to infer the type structure from the source code. In case of Python language, this approach is difficult, because resulting type system is quite complex and language itself is not designed for type inference. In this work, I have focused on identifying subset of this language, so that type inference is possible while keeping the natural way the language is used. Then I implemented a compiler, which will compile this subset into statically typed language, which can be translated into native code. | en |
dc.description.mark | C | cs |
dc.identifier.citation | FALHAR, R. Překladač podmnožiny jazyka Python [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2014. | cs |
dc.identifier.other | 78948 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/53268 | |
dc.language.iso | cs | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | Python | cs |
dc.subject | překladač | cs |
dc.subject | typová inference | cs |
dc.subject | C++ | cs |
dc.subject | Hindley-Millner | cs |
dc.subject | Python | en |
dc.subject | compiler | en |
dc.subject | type inferrence | en |
dc.subject | C++ | en |
dc.subject | Hindley-Millner | en |
dc.title | Překladač podmnožiny jazyka Python | cs |
dc.title.alternative | A Compiler of Language Python Subset | en |
dc.type | Text | cs |
dc.type.driver | masterThesis | en |
dc.type.evskp | diplomová práce | cs |
dcterms.dateAccepted | 2014-06-24 | cs |
dcterms.modified | 2020-05-09-23:43:18 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 78948 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2021.11.12 09:07:20 | en |
sync.item.modts | 2021.11.12 08:30:53 | en |
thesis.discipline | Informační systémy | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav informačních systémů | cs |
thesis.level | Inženýrský | cs |
thesis.name | Ing. | cs |