Přívětivý translátor v Javě
Kind Transducer in Java
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/14837Identifiers
Study Information System: 45992
Collections
- Kvalifikační práce [11216]
Author
Advisor
Referee
Bednárek, David
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
26. 5. 2008
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Good
Práce představuje implementaci rozšiřitelného translátoru, založeného na přívětivých gramatikách. Aplikace podporuje rozšíření syntaxe jazyka za běhu, tedy přidání syntaktického pravidla nebo nového terminálu na základě informací získaných z analyzovaného textu. Tato vlastnost má praktická využití například v případě, že zpracovávaný dokument může obsahovat i nové konstrukce (jak se tomu někdy stává u XML). Použití přívětivých gramatik umožňuje použít v zápise pravidel jednoduchou levou rekurzi, což umožňuje pohodlnější práci s některými konstrukcemi, jako jsou například aritmetické výrazy, které se při klasickém přístupu pomocí LL(k) gramatik formulují méně srozumitelně.
The work brings an implementation of an extensible parser, based on kind grammars. The application supports run-time syntax extensions, such as adding a new syntactic rule or a new terminal symbol, based on information from the parsed text. This feature has practical applications for example in parsing a document which can contain new constructions (like what sometimes happens in case of XML). Kind grammars allow using simple left recursion in syntactic rules, which makes it easier to work with certain constructions such as arithmetic expressions, that are formulated less comprehensibly when using traditional approach with LL(k) grammars.