Metajazyk generující zdrojové kódy
Thesis title in thesis language (Slovak): | Metajazyk generující zdrojové kódy |
---|---|
Thesis title in Czech: | Metajazyk generující zdrojové kódy |
Thesis title in English: | Source Codes Generating Metalanguage |
Key words: | Návrh programovacieho jazyka, implementácia prekladača, návrhové vzory, šablóny |
English key words: | Programming language design, Implementation of a compiler, design pattern, templates |
Academic year of topic announcement: | 2019/2020 |
Thesis type: | Bachelor's thesis |
Thesis language: | slovenština |
Department: | Department of Software and Computer Science Education (32-KSVI) |
Supervisor: | RNDr. Martin Pergel, Ph.D. |
Author: | hidden - assigned and confirmed by the Study Dept. |
Date of registration: | 30.07.2020 |
Date of assignment: | 30.07.2020 |
Confirmed by Study dept. on: | 31.07.2020 |
Date and time of defence: | 14.09.2020 09:00 |
Date of electronic submission: | 30.07.2020 |
Date of submission of printed version: | 31.07.2020 |
Date of proceeded defence: | 14.09.2020 |
Opponents: | Mgr. Jakub Gemrot, Ph.D. |
Guidelines |
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. |
References |
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 |
Preliminary scope of work |
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ť |
Preliminary scope of work in English |
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. |