Metajazyk generující zdrojové kódy
Název práce v jazyce práce (slovenština): | Metajazyk generující zdrojové kódy |
---|---|
Název práce v češtině: | Metajazyk generující zdrojové kódy |
Název v anglickém jazyce: | Source Codes Generating Metalanguage |
Klíčová slova: | Návrh programovacieho jazyka, implementácia prekladača, návrhové vzory, šablóny |
Klíčová slova anglicky: | Programming language design, Implementation of a compiler, design pattern, templates |
Akademický rok vypsání: | 2019/2020 |
Typ práce: | bakalářská práce |
Jazyk práce: | slovenština |
Ústav: | Katedra softwaru a výuky informatiky (32-KSVI) |
Vedoucí / školitel: | RNDr. Martin Pergel, Ph.D. |
Řešitel: | skrytý![]() |
Datum přihlášení: | 30.07.2020 |
Datum zadání: | 30.07.2020 |
Datum potvrzení stud. oddělením: | 31.07.2020 |
Datum a čas obhajoby: | 14.09.2020 09:00 |
Datum odevzdání elektronické podoby: | 30.07.2020 |
Datum odevzdání tištěné podoby: | 31.07.2020 |
Datum proběhlé obhajoby: | 14.09.2020 |
Oponenti: | Mgr. Jakub Gemrot, Ph.D. |
Zásady pro vypracování |
Cílem práce je návrh a implementace překladače, který na základě pravidel navrženého metajazyka vygeneruje zdrojové kódy pro Javu a C#. Síla tohoto metajazyka bude (kromě základní funkcionality obvyklé v běžných programovacích jazycích) spočívat v generování návrhových vzorů (například Builder či Prototype) a šablon (API pro komunikaci po Internetu pro klienty a servery, rozšířený základ WinForms aplikací,...). Tento nástroj má za cíl usnadnit práci programátora, případně může posloužit pro výukové účely na kurzech návrhových vzorů a šablon. |
Seznam odborné literatury |
E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994
A. Troelsen: C# 6.0 and the .NET 4.6 Framework, Apress, 2015 R. Pecinovský: Java 9, Kompletní příručka jazyka, 2017 A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: Compilers: Principles, Techniques and Tools (2nd Edition), Addison Wesley, 2006 D. Watson: A Practical Approach to Compiler Construction (Undergraduate Topics in Computer Science), Springer, 2017 |
Předběžná náplň práce |
Novodobé programovanie ide ruka v ruke s objektovo-orientovanými programovacími jazykmi. Tieto jazyky nám toho ponúkajú veľa, či už sa jedná o zabudované prvky jazyka, alebo štandardizované knižnice pre daný programovací jazyk. Šikovný programátor vie vlastnosti daného programovacieho jazyka využiť na maximum. Medzi znalosti takého programátora patria aj návrhové vzory, dnes už neodmysliteľná časť programovania. V praxi, táto znalosť pomáha pri tvorbe prehľadného, jednoduchého a rozšíriteľného zdrojového kódu. Tieto vlastnosti sú
kľúčové pri tvorbe kvalitného softwaru. Cieľom tejto práce je čitateľovi priblížiť tieto vzory a ukázať mu, ako by mali byť implementované. Okrem iného, obsahuje aj zopár šablón, ktoré je dobré poznať |
Předběžná náplň práce v anglickém jazyce |
Modern programming goes hand-in-hand with object-oriented programming languages. These languages offer a lot of features, either built-in elements or standard libraries. Skillful programmer is able to maximize the effectivity of these features. One of the skills of such programmer is considered to be knowledge of the design patterns. In practice, they help with producing simple, clean and extendible source code. Such code leads to development of top-notch software. Goal of this thesis is to show some of the design patterns and, more importantly,
show how they are supposed to be implemented. Among other things, I will also mention few templates that I personally consider useful to know. |