Thesis Details

Překlad podmnožiny jazyka PHP do C++

Bachelor's Thesis Student: Nechutný Stanislav Academic Year: 2015/2016 Supervisor: Křivka Zbyněk, Ing., Ph.D.
English title
Translation of PHP Language Subset into C++
Language
Czech
Abstract

My work is focused on design and execution of an automated translation for functions written in PHP into C++. Generated code may be compiled as a PHP extension and loaded the same way MySQL, PDO, GD or so. As a result these functions may be called from PHP as if they were the initial interpreted functions. Since there is no need for source code analysis, interpretation, nor staging by Garbage Collector general assumption would be a significant speed difference. Created tool executes source code transfer into abstract syntactic tree which is followed up by a static analysis of variable types and consequently generates C++ code. Final speed increase then depends on the particular code being translated and its practical use is slightly elaborate at the moment - owing to the implementation of PHP subset.

Keywords

PHP, C++, C++11, translation, module, extension, optimization, PHP-CPP, xdebug, data types, code analysation, PHC, HPHPc, HHVM, Test-driven development, code generating, tokens, expressions, precedence analysis, data type conversion, transformation

Department
Degree Programme
Information Technology
Files
Status
defended, grade C
Date
15 June 2016
Reviewer
Committee
Meduna Alexander, prof. RNDr., CSc. (DIFS FIT BUT), předseda
Burget Lukáš, doc. Ing., Ph.D. (DCGM FIT BUT), člen
Holík Lukáš, doc. Mgr., Ph.D. (DITS FIT BUT), člen
Jaroš Jiří, doc. Ing., Ph.D. (DCSY FIT BUT), člen
Křivka Zbyněk, Ing., Ph.D. (DIFS FIT BUT), člen
Citation
NECHUTNÝ, Stanislav. Překlad podmnožiny jazyka PHP do C++. Brno, 2016. Bachelor's Thesis. Brno University of Technology, Faculty of Information Technology. 2016-06-15. Supervised by Křivka Zbyněk. Available from: https://www.fit.vut.cz/study/thesis/18222/
BibTeX
@bachelorsthesis{FITBT18222,
    author = "Stanislav Nechutn\'{y}",
    type = "Bachelor's thesis",
    title = "P\v{r}eklad podmno\v{z}iny jazyka PHP do C++",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2016,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/18222/"
}
Back to top