Тип работы:
Предмет:
Язык работы:


Поддержка расширенных контекстно-свободных грамматик в алгоритме синтаксического анализа Generalised LL

Работа №125342

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы37
Год сдачи2017
Стоимость4550 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
17
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Расширенные контекстно-свободные грамматики 7
2.2. Стек, структурированный в виде графа 9
2.3. Сжатое представление леса разбора 9
2.4. Алгоритм Generalised LL 11
2.5. Анализ метагеномных сборок 12
2.6. Проект YaccConstructor 14
3. Представление ECFG 15
4. Лес разбора для ECFG 17
5. Алгоритм построения леса разбора для ECFG 20
6. Синтаксический анализ регулярных множеств 23
7. Реализация 25
8. Эксперименты 26
Заключение 30
Список литературы 31
Приложение. Псевдокод Generalized LL алгоритма 35

Общеупотребимый способ описания синтаксиса языков программи­рования — расширенные контекстно-свободные грамматики. Примером могут служить спецификации языков C, C + +, Java и т.д. С одной сто­роны, эта форма проста для понимания людей, с другой, достаточно формальна и допускает автоматизированное создание синтаксических анализаторов.
Существуют различные инструменты, такие как ANTLR [1], Bison [5], позволяющие для грамматики языка создать синтаксический анализатор для текстов, созданных на этом языке. Проблема заключается в том, что эти инструменты сначала преобразуют грамматику к форме Бэкуса-Наура и только затем строят синтаксический анализатор.
Существуют работы, описывающие синтаксический анализ с помощью расширенных контекстно-свободных грамматик (Extended Context-Free Grammar, ECFG) [6], [14], но практические средства, основанные на данных работах, не были созданы. Кроме того, подходы, описанные в данных исследованиях, поддерживают лишь подклассы контекстно-свободных языков.
Алгоритмы обобщённого синтаксического анализа, например Gen­eralised LL [22], способны использовать контекстно-свободные грам­матики, описывающие произвольные контекстно-свободные языки. Но они так же не допускают использования ECFG без предварительного преобразования к форме Бэкуса-Наура.
Одно из возможных применений обобщённого синтаксического ана­лиза — поиск генов и иных последовательностей в биологическом ма­териале. Из материала извлекаются геномы содержащихся в нём ор­ганизмов — последовательности над алфавитом {A; C; G T}. Но для того чтобы снизить расходы на хранение этих последовательностей, по ним строится конечный автомат. В геноме существуют различные по­следовательности, позволяющие классифицировать организм, которые имеют некоторые общие свойства, которые можно описать контекстно-свободной грамматикой [18], поэтому для их поиска можно применять синтаксический анализ. Синтаксический анализ конечных автоматов называют синтаксическим анализом регулярных множеств. Одной из целей данной работы является применение полученного GLL алгоритма в синтаксическом анализе регулярных множеств, в частности — метагеномных сборок.
На кафедре Системного Программирования СПбГУ, в рамках исследовательского проекта YaccConstructor [32], разрабатывается подход для поиска структур, заданных с помощью контекстно-свободной грамматики в метагеномных сборках, основанный на алгоритме Generalised LL. Предполагается, что синтаксический анализ для расширенных контекстно-свободных грамматик без преобразований даст значительный прирост производительности существующего подхода.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы была разработана и реализована модификация алгоритма GLL, работающая с расширенными контекстно-свободными грамматиками. Показано, что полученный алгоритм повышает производительность поиска структур, заданных с помощью контекстно-свободной грамматики в метагеномных сборках. Более детально, были получены следующие результаты.
• В качестве подходящего представления ECFG выбраны рекурсив­ные конечные автоматы.
• Спроектирована структура данных для представления леса раз­бора для ECFG на основе сжатого леса разбора (SPPF).
• Разработан алгоритм на основе Generalised LL, строящий лес раз­бора для ECFG.
• Алгоритм реализован в рамках проекта YaccConstructor. Исход­ный код доступен в репозитории YaccConstructor [31], автор рабо­тал под учётной записью “gorohovart”.
• Проведено экспериментальное сравнение реализованного алгорит­ма с существующим в проекте YaccConstructor, показавшее двух­кратный прирост на использованных данных.
• Результаты работы успешно представлены на международной конференции “Tools and Methods of Program Analysis” (Москва, 2017г.) в докладе “Extended Context-Free Grammars Parsing with Generalized LL”.


[1] ANTLR Project website. — http://www.antlr.org/.
[2] Afroozeh Ali, Izmaylova Anastasia. Faster, Practical GLL Parsing // International Conference on Compiler Construction / Springer. — 2015. —P. 89-108.
[3] Aho Alfred V, Hopcroft John E. The design and analysis of computer algorithms.—Pearson Education India, 1974.
[4] Alblas Henk, Schaap-Kruseman Joos. An attributed ELL (1)-parser generator // International Workshop on Compiler Construction / Springer. — 1990. — P. 208-209.
[5] Bison Project website. — https://www.gnu.org/software/bison/.
[6] Breveglieri Luca, Crespi Reghizzi Stefano, Morzenti Angelo. Shift- Reduce Parsers for Transition Networks // Language and Au­tomata Theory and Applications: 8th International Conference, LATA 2014, Madrid, Spain, March 10-14, 2014. Proceedings / Ed. by Adrian-Horia Dediu, Carlos Martin-Vide, Jose-Luis Sierra-Rodriguez, Bianca Truthe. — Cham : Springer International Publishing, 2014. — P. 222-235. —ISBN: 978-3-319-04921-2. — Access mode: http://dx. doi.org/10.1007/978-3-319-04921-2_18.
[7] Breveglieri Luca, Reghizzi Stefano Crespi, Morzenti Angelo. Shift- reduce parsers for transition networks // International Conference on Language and Automata Theory and Applications / Springer. — 2014. —P. 222-235.
[8] Bruggemann-Klein Anne, Wood Derick. On predictive parsing and ex­tended context-free grammars // International Conference on Imple­mentation and Application of Automata / Springer. — 2002. — P. 239-247.
[9] Bruggemann-Klein Anne, Wood Derick. The parsing of extended context-free grammars. — 2002.
[10] Heckmann Reinhold. An efficient ELL (1)-parser generator // Acta Informatica. — 1986.—Vol. 23, no. 2.—P. 127-148.
[11] Heilbrunner Stephan. On the definition of ELR (k) and ELL (k) gram­mars // Acta Informatica. — 1979. — Vol. 11, no. 2. — P. 169-176.
[12] Hemerik Kees. Towards a Taxonomy for ECFG and RRPG Parsing // International Conference on Language and Automata Theory and Ap­plications / Springer. — 2009.—P. 410-421.
[13] An n log n algorithm for minimizing states in a finite automaton : Rep. / DTIC Document ; Executor: John Hopcroft : 1971.
[14] Lee Gyung-Ok, Kim Do-Hyung. Characterization of extended LR (k) grammars // Information processing letters. — 1997. — Vol. 64, no. 2. —P. 75-82.
[15] Morimoto Shin-ichi, Sassa Masataka. Yet another generation of LALR parsers for regular right part grammars // Acta informatica. — 2001. — Vol. 37, no. 9. —P. 671-697.
...


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ