Thesis (Selection of subject)Thesis (Selection of subject)(version: 390)
Thesis details
   Login via CAS
Moderní generátor lexikálních scannerů
Thesis title in Czech: Moderní generátor lexikálních scannerů
Thesis title in English: Modern lexical scanner generator
Academic year of topic announcement: 2006/2007
Thesis type: diploma thesis
Thesis language:
Department: Department of Software Engineering (32-KSI)
Supervisor: RNDr. Jakub Yaghob, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 14.11.2006
Date of assignment: 14.11.2006
Guidelines
Jednou z částí překladače je lexikální analýza. Pro reálné programovací jazyky je však vytvoření lexikální analýzy příliš složité. Proto se v praxi používají generátory lexikálních scannerů.
Jedním z nejpoužívanějších generátorů lexikálních scannerů je Flex. Bohužel je velmi zastaralý a neodpovídá současným požadavkům kladeným na současné programovací jazyky i pracovní prostředí.
První částí práce je analýza technik používaných v lexikální analýze. Druhým cílem práce je implementace generátoru lexikálních scannerů v jazyce C++ s důrazem na přenositelnost mezi operačními systémy a překladači. Vstupní soubory mohou být v Unicode, vygenerovaný lexikální scanner musí být schopen zpracovávat vstupní soubory v Unicode. Generátor musí umožňovat generování cílového kódu pro různé programovací jazyky.
References
Projekt Flex: http://flex.sourceforge.net/
J.S. Vitter, W.-Ch. Chen: Design and Analysis of Coalesced Hashing, Oxford University Press, New York, 1987
Pokorný, J., Žemlička, M.: Základy implementace souborů a databází. Skripta UK, Vydavatelství Karolinum, 2003. 2. uprav. vydání
J.E. Hopcroft, J.D. Ullman: Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979
Unicode: http://www.unicode.org/
Preliminary scope of work in English
One of the parts of a compiler is a lexical analysis. Creating manually a lexical analysis is a difficult task for real programming languages. Therefore generators of lexical scanners are used in a praxis.
One of the most used generators of lexical scanners is Flex. Unfortunately, it is outdated and it does not fit to requirements laid on contemporary programming languages and working environment.
The first goal is an analysis of techniques used in a lexical analysis. The second goal is an implementation of a generator of lexical scanners. The implementation will be written in the C++ language with emphasis on portability among operating systems and compilers. Input files can be in the Unicode, generated lexical scanner must be able to accept input files in the Unicode. Moreover, the generator must be able to generate target code for different programming languages.
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html