Program pro analýzu bezkontextových gramatik

Abstract

Within this diploma thesis, there was created a program that can analyze certain properties of context-free grammars and also perform various operations on them. The relevant theory and in- formation on this topic are described in the theoretical part of the thesis. Next chapters are devoted to the particular design of this program and its implementation. Finally, the functionality of the program is demonstrated on several examples of context-free grammars. There exist a huge number of possible functions, properties and operations over grammars. This program can compute F IRST and F OLLOW sets, perform grammar reduction, removal of epsilon rules, removal of simple rules, conversion to Chomsky and Greibach normal forms and construct an equivalent non-deterministic pushdown automaton. The program can also detect LR(0) and LL(1) types of grammars, compute LR items, detect related conflicts and validate input strings. From the beginning, the program was designed so that it could be extended with new functionality in the future.

Description

Subject(s)

context-free grammar, syntax analysis, parser, LL(1), LR(0), pushdown automaton, Chomsky normal form, Greibach normal form, Python

Citation