Original title:
Inkrementální překlad v interaktivních systémech
Authors:
Haluza, Pavel Document type: Doctoral theses
Year:
2012
Language:
cze Abstract:
[cze][eng] Disertační práce se zabývá možnostmi konstrukce inkrementálního překladače. Představuje možnosti konstrukce překladačů pro běžné programovací jazyky a také pro jazyky s proměnlivou množinou lexikálních jednotek. Na základě známých algoritmů pro konstrukci standardních překladačů je odvozen návrh metodiky konstrukce inkrementálního překladače. Část věnovaná inkrementálnímu překladu běžných programovacích jazyků je založena na publikované metodice konstrukce inkrementálního parseru, která je rozšířená o konstrukci sémantického analyzátoru, a tím i celého inkrementálního překladače. Metoda vychází ze syntaxí řízeného překladového schématu. Část věnovaná inkrementálnímu překladu programovacích jazyků s proměnlivou množinou lexikálních jednotek se zabývá konstrukcí inkrementálního překladače pro jednoho z typických zástupců, typografický systém TeX. Oproti frontálnímu překladu je nutné přizpůsobit sémantické akce inkrementálnímu prostředí a přinést další informace pro jejich vazby na základě vhodného umístění do pravidel gramatiky. Práce diskutuje problém s uchováváním informací o aktuálních kategoriích jednotlivých lexikálních jednotek při opakovaném překladu inkrementálním překladačem a nabízí možnost řešení. Práce dále popisuje možnosti aplikace navržené metodiky v prostředí webové aplikace, která je používána pro potřeby výuky předmětu Teorie programovacích jazyků na Provozně ekonomické fakultě Mendelovy univerzity v BrněDissertation thesis deals with possibilities of incremental compiler construction. It represents the compiler construction possibilities for languages with a fixed set of lexical units and for languages with a variable set of lexical units, too. The methodology design for the incremental compiler construction is based on the known algorithms for standard compiler construction and derived for both groups of languages. The part focused on incremental compiling of common programming languages is based on a published methodology of incremental parser construction. The method uses syntax-directed translation scheme. The part focused on incremental compiling of languages with a variable set of lexical units is engaged in incremental compiler construction for on of the typical representantives, typographic system TeX. Unline the frontal compilation it is necessary to adapt the semantic actions to the incremental environment and bring additional information for their links to the appropriate location in the grammar rules. The thesis discusses the problem of the storage of information about current lexical units categories during the repeated compilation and it offers solutions. The thesis also describes the application of proposed methodology in the web application that is used for teaching the course Theory of programming languages at the Faculty of Business and Economics, Mendel University in Brno.
Keywords:
formální jazyk; inkrementální překlad; interpret; kompilátor; lexikální analýza; překladač; rekurzivní sestup; syntaktická analýza; sémantická analýza; sémantický strom