Frontend překladače pro podmnožinu programovacího jazyka C++
Compiler frontend for a subset of C++ programming language
Type of document
bakalářská prácebachelor thesis
Author
Daniel Král
Supervisor
Pecka Tomáš
Opponent
Plachý Štěpán
Field of study
Teoretická informatikaStudy program
Informatika, platnost do 2024Institutions assigning rank
katedra teoretické informatikyRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Překladače pro programovací jazyky jsou nezbytnou součástí vývoje moderního software. Tato práce se zabývá návrhem přední části překladače pro (skoro) podmnožinu jazyka C++ nazvanou C+-. Nejprve je specifikován rozsah C+-. Poté je popsáno využití ANTLR4 pro lexikální a syntaktickou analýzu a vytvoření abstraktního syntaktického stromu. Následuje sémantická analýza a generování mezikódu LLVM IR pomocí LLVM C++ API. Implementace překladače je otestována sadou ukázkových kódů. Compilers for programming languages are an essential part of modern software development. This thesis deals with the design of the frontend of a compiler for an (almost) subset of C++ called C+-. First, the scope of C+- is specified. Then the use of ANTLR4 for lexical and syntactic analysis and the creation of an abstract syntactic tree is described. This is followed by semantic analysis and generation of the LLVM IR intermediate code using LLVM C++ API. The implementation of the compiler is tested with a set of sample codes.
Collections
- Bakalářské práce - 18101 [348]