Thesis Details

Pokročilé generování syntaktických analyzátorů

Bachelor's Thesis Student: Havranek Daniel Academic Year: 2021/2022 Supervisor: Křivka Zbyněk, Ing., Ph.D.
English title
Advanced Parser Generators
Language
Czech
Abstract

This bachelor thesis deals with parser generation by tools that use advanced parsing techniques. These techniques are compared from both theoretical and practical point of view. The GNU Bison tool, which uses the LALR(1) method and Generalized LR method, and the ANTLR tool, which uses the more modern ALL(*) method, are examined in detail. To compare the effectiveness of these tools, a parser for a fictional programming language is implemented using them to demonstrate the strengths and weaknesses of each approach. As the results, GNU Bison is much more powerful, but the ANTLR outweighs it in terms of implementation friendliness and functionality. The results of this thesis can help deciding which approach or tool to choose when implementing a parser.

Keywords

Parsing, lexical analysis, compiler, parser generator, grammar, GNU Bison, ANTLR

Department
Degree Programme
Information Technology
Files
Status
defended, grade C
Date
17 June 2022
Reviewer
Committee
Kolář Dušan, doc. Dr. Ing. (DIFS FIT BUT), předseda
Burgetová Ivana, Ing., Ph.D. (DIFS FIT BUT), člen
Fučík Otto, doc. Dr. Ing. (DCSY FIT BUT), člen
Grézl František, Ing., Ph.D. (DCGM FIT BUT), člen
Hrubý Martin, Ing., Ph.D. (DITS FIT BUT), člen
Citation
HAVRANEK, Daniel. Pokročilé generování syntaktických analyzátorů. Brno, 2022. Bachelor's Thesis. Brno University of Technology, Faculty of Information Technology. 2022-06-17. Supervised by Křivka Zbyněk. Available from: https://www.fit.vut.cz/study/thesis/21723/
BibTeX
@bachelorsthesis{FITBT21723,
    author = "Daniel Havranek",
    type = "Bachelor's thesis",
    title = "Pokro\v{c}il\'{e} generov\'{a}n\'{i} syntaktick\'{y}ch analyz\'{a}tor\r{u}",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2022,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/21723/"
}
Back to top