Написание парсера - При необходимости руководства и исследовательские работы - PullRequest
3 голосов
/ 28 октября 2008

Мои знания о реализации парсера немного устарели.

Я понятия не имею о текущем состоянии исследований в этой области, и мне могут понадобиться ссылки на последние достижения и их влияние на производительность.

Также приветствуются общие ресурсы по написанию парсера (учебные пособия, руководства и т. Д.), Так как многое из того, что я изучил в колледже, я уже забыл:)

У меня есть книга Дракона, но это все.

И есть ли у кого-нибудь информация о генераторах синтаксических анализаторов, таких как ANTLR, и их производительности? (т.е. сравнение с другими генераторами)

edit Моя основная цель - RDF / OWL / SKOS в нотации N3.

Ответы [ 4 ]

7 голосов
/ 28 октября 2008

Упоминание книги о драконах и antlr означает, что вы ответили на свой вопрос.

Если вы ищете другие генераторы синтаксического анализатора, вы также можете проверить boost :: spirit (http://spirit.sourceforge.net/).

В зависимости от того, чего вы пытаетесь достичь, вы также можете рассмотреть DSL, который вы можете либо проанализировать самостоятельно, либо написать на языке сценариев, таком как boo, ruby, python и т. Д. *

0 голосов
/ 17 июня 2009

Если вы хотите создавать собственные анализаторы для сложных языков, рассмотрите наш инструментарий реинжиниринга программного обеспечения DMS. Смотри http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html

Это обеспечивает очень сильную технологию синтаксического анализа, облегчая определение вашего языка. (особенно по сравнению с большинством генераторов парсеров).

Могут помочь обычные генераторы парсеров с разбором, но они обеспечивают нулевую помощь в трудной части процесс, который происходит после того, как вы можете разобрать код. DMS предоставляет огромное количество машин для поддержки анализа и преобразования код, как только вы его проанализировали.

0 голосов
/ 28 октября 2008

Возможно, вы также захотите взглянуть на SableCC , еще один генератор синтаксического анализатора, "который генерирует полнофункциональные объектно-ориентированные фреймворки для построения компиляторов".

Это некоторая документация по базовому использованию здесь и здесь . Поскольку вы спрашивали об исследовательских работах, доступна основная кандидатская диссертация SableCC (1998), в которой объясняется немного больше о преимуществах SableCC.

Хотя текущая стабильная версия - 3.2, ветка разработки v4 полностью переписана и должна реализовывать функции, новые для генераторов синтаксического анализатора.

0 голосов
/ 28 октября 2008

Хм ... ваш запрос немного не конкретен. Хотя в этой общей области есть много недавних разработок, все они довольно специализированы (естественно, с тех пор, как эта область уже созрела). Оригинальные подходы к синтаксическому анализу не изменились. Возможно, вы захотите ознакомиться с изменениями в инструментах создания синтаксического анализатора ( Antlr , Gold Parser , если назвать только несколько).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...