LALR (1) или GLR в Windows - альтернативы Bison ++ / Flex ++, которые актуальны? - PullRequest
8 голосов
/ 14 марта 2010

ОБНОВЛЕНИЕ: Этот вопрос устарел, но оставлен в ознакомительных целях.

Оригинальный вопрос

Я использую одну и ту же версию bison ++ (1.21-8) и flex ++ (2.3.8-7) с 2002 года.

В настоящее время я не ищу альтернативу LALR (1) или GLR, просто ищу самые актуальные варианты. Кто-нибудь знает о более поздних портах этих, чем оригинал, которые не зависят от Cygwin?

Что другие люди используют в средах Windows для разработки компилятора C ++ (кроме ANTLR или Boost.spirit)? Коммерческие варианты в порядке, если у вас есть личный опыт. Мне также нужно компилировать в Linux.

ОБНОВЛЕНИЕ: Этот старый вопрос задавался, когда я не знал о политиках в отношении рекомендаций по инструментам (не уверен, существовала ли политика в 2010 году, но независимо от того ...

С тех пор я обновился до Bison 3.0, который имеет возможности GLR и начал экспериментировать с этим.

В конце концов я решил, что любое переписывание моего синтаксического анализатора будет рекурсивным спуском, для улучшения отчетов об ошибках и обеспечения более легкого использования в инструментах помимо компилятора, поэтому сейчас я закончу справочную версию в Bison. Сейчас я не вижу смысла в переходе на другой инструмент PG.

Ответы [ 2 ]

2 голосов
/ 14 марта 2010

Вы можете попробовать Эльзу (теперь это часть проекта Oink). Но сейчас он почти мертв. Единственная привлекательная особенность этого заключается в том, что поверх него написан полный и надежный синтаксический анализатор C и C ++.

LLVM содержит достаточно современную структуру синтаксического анализа. Также есть синтаксический анализатор C ++ (см. Проект clang).

Доступны некоторые реализации Packrat для C ++, что-то вроде самого модного в синтаксическом анализе.

1 голос
/ 14 марта 2010

Мне очень нравится ANTLR. Boost Spirit немного "там" для серьезных производственных приложений.

...