Vytvoření nového programovacího jazyka a jeho transpilátoru

Loading...
Thumbnail Image

Date

Authors

Soukup, Martin

Mark

D

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

Abstract

Tato práce řeší způsob jakým je možné využít transpilaci mezi programovacími jazyky za pomoci navržení vlastního programovacího jazyka. Cílem je poukázat na rozdíly mezi kompilací programovacích jazyků a transpilaci mezi nimi. Cílem je pochopit základní principy jazyků jako je syntaxe, sémantika a generování kódu. Navržený transpilátor poté transformuje zdrojový kód v navrženém jazyce do jiných známých programovacích jazyků. Tím je následně umožněna následná integrace s existujícími nástroji a ekosystémy v jiných jazycích ( například v jazyce Python, PHP nebo C++). Práce obsahuje navržení lexikální analýzy, syntaktické analýzy, vytvoření Abstraktního syntaktického stromu a generování kódu do cílového jazyka za pomoci konstrukcí užívaných v kompilátorech a teorie formálních jazyků. Tímto procesem práce zvýrazňuje rozdíly mezi kompilací a transpilací, výhody i nevýhody transpilace v určitých případech a jakým způsobem se může navrhnout překlad mezi zdrojovými kódy a cílovými implementacemi.
This thesis explores the possibility of using the tranpilation between programming languages with help of creating a new programming language. The goal is to show differences between compiling programming languages and transpiling between the. Understanding the basic principals of transpilation like syntax, semantics and code generation, Created transpiler then transforms the source code to the target code written in the different known programming language. Obtaining the ability for integration with existing ecosystems and tools in a different programming language ( for example: Python, PHP or C++). Thesis contains creating Lexical analysis, Syntax analysis, Abstract Syntax tree and code generation to the target code, leveraging the constructs of compilers and theory of formal languages. Through this process thesis highlights the differences between compiling and transpiling the language, it’s challenges and trade-offs in a certain cases and how can translation between source code and target implementation be achieved.

Description

Citation

SOUKUP, M. Vytvoření nového programovacího jazyka a jeho transpilátoru [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

Informační technologie

Comittee

prof. RNDr. Alexandr Meduna, CSc. (předseda) Ing. Martin Hrubý, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Marcela Zachariášová, Ph.D. (člen)

Date of acceptance

2025-06-20

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 D.

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO