Аннотация:
Синтаксический анализ является важным шагом анализа кода. Для работы с неоднозначными грамматиками используются обобщенные алгоритмы синтаксического анализа: Generalized LR (GLR) и Generalized LL (GLL). Для работы со встроенными языками — поддержки их в IDE (Integrated Development Environment), анализа в целях реинжиниринга или поиска уязвимостей (SQL-инъекций) — используется абстрактный синтаксический анализ, основанный на классическом табличном анализе. Ранее был предложен алгоритм обобщенного нисходяшего анализа без использования предиктивных таблиц анализа. В данной статье описан подход к созданию табличного GLL-анализатора на основе предложенного алгоритма, который в дальнейшем будет использоваться для получения абстрактного анализатора. Также в статье описан алгоритм обобщенного нисходящего анализа, модификации, которым он подвергся, и результаты сравнения с алгоритмом обобщенного восходящего анализа, который был реализован ранее.