Original title:
Překladač z jazyka Scheme do C/C++
Translated title:
Compiler from Scheme to C/C++
Authors:
Novák, Jan ; Yaghob, Jakub (advisor) ; Bednárek, David (referee) Document type: Bachelor's theses
Year:
2015
Language:
cze Abstract:
[cze][eng] Jazyk Scheme je jednoduchý jazyk, který je vhodný na analýzu vlastností programovacích jazyků a na experimentování s optimalizacemi kódu. Tato práce používá při jeho implementaci mezikód zvaný continuation-passing-style, který se často používá při implementaci funkcionálních jazyků. Uvádíme zejména jeho souvislost s konvenčními implementacemi, v kterých se program řídí pomocí zásobníku. Dále popisujeme jednoduché metody globální statické analýzy u jazyka Scheme. Základem všech analýz je abstraktní interpretace, jejíž důležitou součástí je abstraktní garbage collector. Ten umožňuje optimalizace jako jsou globalizace proměnných, přejmenování proměnných nebo eliminace nepoužitých dosazení. Powered by TCPDF (www.tcpdf.org)Scheme is a simple language which is well suited for analyzing various constructs of programming languages and experiments with code optimization. To implement this language we use an intermediate code called continuation-passing-style, which is widely used in implementations of functional languages. We present its relation to conventional implementations which use stack to control the program. Then we describe simple methods of global static analysis of the language. Analyses are based on abstract interpretation which uses abstract garbage collector. It allows many optimizations such as variable globalization, variable renaming and elimination of unused assignments. Powered by TCPDF (www.tcpdf.org)
Keywords:
C; C++; compiler; library; Scheme; C; C++; knihovna; překladač; Scheme
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/81953