Translating Ruby to PHP
Překladač Ruby do PHP
diplomová práce (OBHÁJENO)
![Náhled dokumentu](/bitstream/handle/20.500.11956/17215/thumbnail.png?sequence=7&isAllowed=y)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/17215Identifikátory
SIS: 46340
Kolekce
- Kvalifikační práce [11266]
Autor
Vedoucí práce
Oponent práce
Hnětynka, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
24. 9. 2008
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Cíem práce je návrh a implementace překladače podmnožiny jazyka Ruby do PHP. Důraz je přitom kladen na korektní překlad dynamických a funkcionálních prvků jazyka a kompatibilitu s originální implementací jazyka Ruby. Práce začíná představením jazyka Ruby a přehledem jeho existujících implementací se zdůraznění jejich zajímavých vlastností. Těžiště práce spočívá v analýze vlastností jednotlivých jazykových elementů jazyka Ruby a popisu jejich překladu do PHP. Přiložen je podrobný přehled implementovaných konstrukcí a součástí standardní knihovny jazyka. Výsledkem práce je prakticky použitelný překladač, který může být dále rozšiřován a po případné implementaci zbývajících prvků jazyka Ruby nasazen v produkčním prostředí.
The goal of the work is to design and implement a compiler translating a signi cant subset of the Ruby language into PHP, with emphasis on the correct translation of dynamic and functional language elements and compatibility with the original Ruby language implementation. The work begins with an introduction of the Ruby language and an overview of its existing implementations, highlighting their interesting properties. The work then focuses on analysis of the individual language elements' properties and a description of their translation to PHP. Detailed overview of the implemented constructs and standard library elements is attached. The result of the work is practically usable compiler that can be further extended and used in the production environment after implementing remaining Ruby language elements.