Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Pascal with Truffle
Název práce v češtině: Pascal nad Trufflem
Název v anglickém jazyce: Pascal with Truffle
Klíčová slova: Pascal, Truffle, JIT překladač
Klíčová slova anglicky: Pascal, Truffle, JIT compiler
Akademický rok vypsání: 2016/2017
Typ práce: bakalářská práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: Mgr. Vojtěch Horký, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 27.10.2016
Datum zadání: 03.11.2016
Datum potvrzení stud. oddělením: 29.11.2016
Datum a čas obhajoby: 06.09.2017 00:00
Datum odevzdání elektronické podoby:21.07.2017
Datum odevzdání tištěné podoby:21.07.2017
Datum proběhlé obhajoby: 06.09.2017
Oponenti: RNDr. David Bednárek, Ph.D.
 
 
 
Zásady pro vypracování
The goal of the thesis is to design and implement an interpreter of the Pascal programming language using the Truffle framework (a library for writing interpreters on top of Graal/Java VM).

The interpreter will support the original language specification (as designed by Niklaus Wirth) as well as some extensions provided by the well-known Turbo Pascal compiler. Among the supported extensions of Turbo Pascal will be (long) strings, additional integer types, units (modules) and a selected subset of the standard units (base libraries). Where possible, the functionality would mimic the original behavior closely (e.g. basic file operations from the DOS module) with a reasonable fallback. Unsupported features (e.g. inline assembler) must be reported to the user without actually starting the interpretation.

The goal of the thesis is to create a functional environment for Pascal that is open to extensions and integration. It must be possible to add new system units to the environment as well as add new language constructs without breaking compatibility with existing programs. The interpreter must be easily integrated into bigger programs where it can serve e.g. as a scripting engine.

The interpreter is expected to work as a command-line utility (any binding to OS must use Java-provided API). Although the goal of the thesis is not to create a performance-optimized interpreter, the performance aspect can not be omitted and at least a comparison with other compilers must be present in the thesis.
Seznam odborné literatury
[1] Niklaus Wirth: The Programming Language Pascal (Revised Report), 1973.
[2] Borland International Inc.: TURBO Pascal 7 Reference Manual, 1992
[3] Truffle: https://github.com/graalvm/truffle, 2016
[4] Alfred V. Aho et al.: Compilers: Principles, Techniques, and Tools, 2006
 
Univerzita Karlova | Informační systém UK