Грамматика считывается из файла grammar.txt затем приводится в удобную форму и используя алгоритм построения таблицы LL(k) с использованием множеств first, follow получаем правила детерминированных переходов, которые записываются в файл ParseTable.txt, если грамматики нет, но есть этот файл с таблицей, то её можно считать методом readParseTable().
Используя метод get_examples(self, n=None, testing=False, allTerminals=True) генерируются файлы с примерами
Одно слово можно проверить вызвав метод checkWord(self, word, tree=True)
Все слова из файла с помощью test_examples(self, tree=False)
параметр tree при включении отображает (выводит в консоль) уровни при обходе дерева недетерминированных переходов в ширину
в main как угодно настраиваем параметры тестов
запускаем и при запуске вводится k