Bison 3.2

Вторник, 30 октября 2018 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

Bison — это генератор синтаксических анализаторов общего назначения, преобразующий аннотированную контексто-свободную граматику в детерминированный LR- или обобщённый LR (GLR)-анализатор, задействующий таблицы анализатора LALR (1). Bison также умеет генерировать таблицы IELR (1) и канонические LR (1). Овладев Bison, можно использовать его для разработки разнообразных языковых анализаторов — от применяющихся в простых настольных калькуляторах до сложных языков программирования. Bison обратно совместим с Yacc: все корректно составленные Yacc-грамматики должны работать с Bison без изменений.

В детерминистический C++-каркас, lalr1.cc, привнесены масштабные изменения. Если включена поддержка вариантов и компилятор поддерживает C++11 и выше — типы только для перемещения теперь можно использовать для семантических значений. Поддержка C++98 не объявлена устаревшей. Огромное спасибо Френку Хекенбаху за проторенный его реализацией каркаса на C++17 путь к этому выпуску.

Значимые изменения в этом выпуске:

Поддержка DJGPP, годами лишённого поддержки и тестирования, объявлена устаревшей. Если никто не гальванизирует этот труп — от него избавятся.
Также:

%printers должна использовать yyo вместо yyoutput для обозначения выходного потока.
Основаные на вариантах символы в C++ должны использовать emplace () вместо build ().
В анализаторах на C++ parser: operator () теперь является синонимом для parser: parse.


Документация:

Добавлен новый раздел «Простой пример на С++» — руководство по написанию анализаторов на С++.
В генерируемый код теперь добавляется комментарий, что пользователям не следует завязываться на недокументированные детали реализации, например, начинающиеся на YY_ макросы.


Новые возможности:

C++: поддержка семантики перемещения (lalr1.cc)
C++: неявное перемещение правых значений (lalr1.cc)
C++: неявное семантическое действие по умолчанию теперь всегда вызов.
C++: переименование location.hh.
C++: stack.hh и position.hh объявлены устаревшими.


Исправлены:

Проблемы с переносимостью на MinGW и VS2015.
Проблемы с переносимостью в тестовом наборе.
Проблемы с переносимостью и предупреждения с Flex.



>>> Домашняя страница

>>> Сжатые исходники: .tar.gz (подпись), .tar.xz (подпись)

>>> Зеркало

>>> Подробности

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 223
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003