Redukční automaty a syntaktické chyby
Reducing Automata and Syntactic Errors
rigorózní práce (UZNÁNO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/58317Identifikátory
SIS: 130736
Kolekce
- Kvalifikační práce [11211]
Autor
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Teoretická informatika
Katedra / ústav / klinika
Katedra teoretické informatiky a matematické logiky
Datum obhajoby
11. 2. 2013
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Uznáno
Klíčová slova (česky)
redukční automaty, robustní redukční analýza, lokalizace syntaktických chybKlíčová slova (anglicky)
reducing automata, robust analysis by reduction, localization of syntactic errorsTato práce se zabývá redukčními automaty, jejich normalizacemi a využitím pro (robustní) redukční analýzu a lokalizaci syntaktických chyb pro jazyky ze třídy DCFL. Redukční automat navazuje na restartovací automat, od kterého se odlišuje explicitním určením redukovaných symbolů (to umožňuje přesné určení místa chyby) a přesunem výhledového okna do stavu řídící jednotky (ten ho přibližuje zařízením studovaným klasickou teorií automatů a formálních jazyků). Pro redukční automat pak lze snadněji než pro automat restartovací přebírat pojmy a postupy klasické teorie, jako je např. prefixová korektnost nebo minimalizace množiny stavů. Pro libovolný neprázdný jazyk ze třídy DCFL zadaný monotónním redukčním automatem, navíc ještě prefixově korektním a stavově minimálním, navrhujeme metodu robustní redukční analýzy, která zaručuje lokalizaci formálně definovaných typů skutečných (nezavlečených) chyb, bezchybných podslov a míst redukčních konfliktů (podslov s nejednoznačnou syntaktickou strukturou redukovatelných v různých slovech různými způsoby). Navrhovanou metodu implementujeme novým typem zařízení (postprefixovým robustním analyzátorem) a stručně ukazujeme, jak jí implementovat deterministickým zásobníkovým převodníkem pracujícím v lineárním čase vzhledem k délce slova.
This thesis deals with reducing automata, their normalization, and their application for a (robust) reduction analysis and localization of syntactic errors for deterministic context-free languages (DCFL). A reducing automaton is similar to a restarting automaton with two subtle differences: an explicit marking of reduced symbols (which makes it possible to determine a position of an error accurately), and moving a lookahead window inside a control unit (which brings reducing automata closer to devices of classical automata and formal language theory). In case of reducing automata, it is easier to adopt and reuse notions and approaches developed within classical theory, e.g., prefix correctness or automata minimization. For any nonempty deterministic context-free language specified by a monotone reducing automaton, both prefix correct and minimal, we propose a method of robust analysis by reduction which ensures localization of formally defined types of (real) errors, correct subwords, and subwords causing reduction conflicts (i.e., subwords with ambiguous syntactic structure that can be reduced in different words in different ways). We implement the proposed method by a new type of device (called postprefix robust analyzer) and we briefly show how to implement this method by a deterministic pushdown...