Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Spirit Change Log

Boost , ,

Spirit Change Log

1.8.7

  • Интегрированная кодовая база Spirit V1.8.x с Spirit V2. Spirit V1.8.x теперь называетсяSpirit Classic.Даже если структура каталогов изменилась (заголовкиSpirit Classicтеперь перемещены в каталог ‘$BOOST_ROOT/boost/spirit/home/classic’), мы создали пересылающие заголовки, позволяющие компилировать существующие приложения без каких-либо изменений. Однако эти пересылающие заголовки амортизируются, что приведет к соответствующим предупреждениям, генерируемым для каждого из заголовков. Ожидается, что пересылающие заголовки будут удалены в будущем.
    Рекомендуемый способ использования Spirit Classic теперь включает файлы заголовков из каталога «$BOOST_ROOT/boost/spirit/include». Все файлыSpirit Classicтеперь имеют приставку «classic_». Например, включение

      #include <boost/spirit/core/core.hpp>

    теперь должно быть написано как:

      #include <boost/spirit/include/classic_core.hpp>

    Чтобы избежать конфликтов пространства имен с новой библиотекой Spirit V2, мы переместилиSpirit Classicвувеличение пространства имен::spirit::classic. Это изменение будет автоматически деактивировано всякий раз, когда используются устаревшие файлы. Это обеспечивает полную обратную совместимость для существующих приложений.
    Для получения более подробной информации об этом изменении, пожалуйста, обратитесь к документации.

1.8.6

  • Исправлена целочисленная ошибка переполнения, предотвращающая неспособность анализировать определенные большие целые числа. Об этой ошибке сообщил и исправил Майкл Андерсен Нексё

1.8.5

  • По причинам производительности лист_node_d/token_node_d были изменены на неявные лексемы, которые создают узлы листа в одном кадре. Старый токен_node_d все еще доступен и называется reduced_node_d.
  • Теперь можно фениксировать::bind (версия 1) символы::add.

1.8.4

  • Fixed no_actions bug, где no_action применяется рекурсивно.
  • Исправлен парсер regex_p для Boost >= V1.33.0
  • Реализован обходной путь для проблем пространства имен VC++ с файловыми_iterators Spirit
  • Исправлена ошибка в политике соответствия деревьев, которая предотвращала использование gen_pt/ast_node_d,сообщает Яша Ветцель.
  • Создан позиционный_iterator с использованием строк на основе wchar_t.

1.8.3

  • Исправление конфигурации для Sun C++ Стивом Кламажем (см.эта ссылка).
  • Fixed multi_pass_iterator для 64 платформ, где sizeof(int) != sizeof(ptr_type). Исправленная ошибка, препятствующая использованию замыканий с грамматикой с несколькими точками входа,сообщает Дэвид Пьер
  • Исправленная ошибка, которая предотвращала встраивание грамматики с несколькими точками входа,сообщает Дэвид Пьер
  • Добавлено '0' к набору действительных ускользающих символов для escape_ch_p.
  • Исправлена ошибка switch_p при использовании с фениксом::actor в качестве условного выражения.
  • __LINE__ macro теперь расширяется в BOOST_SPIRIT_ASSERT_EXCEPTION
  • Исправлена ошибка в парсере пересечения, о которой сообщил Юсаку Сугай
  • Парсер символов использует нулевой символ внутри. Чеки были добавлены так, что:
    • tst.add утверждает, что строка содержит нулевой символ
    • tst.find не соответствует нулевым символам во входе
  • Fixed match_attr_traits.ipp позволяет пройти не-POD. Предыдущая версия, взятая в эллипсисе "...", не позволяет POD проходить.
  • Разрешить оценку в качестве условия для if_p parser.
  • Прикладные изменения в коде PT/AST, предложенные Стефаном Слапетой.
  • Исправлено несколько проблем с директивами древесных узлов AST (inner_node_d[], discard_first_node[], discard_last_node[] и infix_node_d[]).

1.8.2

Техническое обслуживание (почти то же самое, что 1.8.1 плюс несколько исправлений здесь и там)

  • Добавлены специализации для str_p и ch_p, чтобы разрешить str_p('c') и ch_p("c"), таким образом фиксируя некоторые не-жучки.
  • Фиксированный баг, где matchявляется вариантом.
  • Добавить Jamfile/Jamrules из CVS в Spirit-1.8.1/
  • Добавлен бустер-строитель. варенье от бустера до спирта-1.8.1/
  • многопоточность шаблона в libs/spirit/test/Jamfile
  • Добавлено правило бустер-заголовок-включить (от spirit-header-включить), указывающее на минибуст в libs/spirit/test/Jamfile
  • Исправлено несоответствие if_p

1.6.2

Выпуск Spirit 1.6.2 - это только исправление ошибок, никаких новых функций не было введено.

  • wchar_t дружественная реализация graph_p
  • Модифицированный escape_char_parser::parse() для использования статического парсера вместо правила. Это сделает его более удобным для использования на деревьях. Он также должен быть немного более эффективным.
  • Лицензия Boost Software 1.0.
  • Ошибка 322 поиска имен в базовом классе специализация находит тип
  • Обсуждение Limit_d bug
  • [цифры] Обработка для aC++
  • Исправлена ошибка в switch_p parser.
  • Исправлена проблема EOI в multi_pass
  • Добавить Jamfile/Jamrules из CVS в Spirit-1.6.1/
  • Добавлен бустер-строитель. варенье от бустера до спирта-1.6.1/
  • многопоточность шаблона в libs/spirit/test/Jamfile
  • Добавлено правило бустер-заголовок-включить (от spirit-header-включить), указывающее на минибуст в libs/spirit/test/Jamfile

1.8.1 (Released with Boost 1.32.0)

Выпуск Spirit 1.8.1 - это только исправление ошибок, никаких новых функций не было введено.

  • Spirit теперь требует как минимум увеличения 1.32.0
  • Снята поддержка старой библиотеки итераторов и
  • Перешел на использование новой библиотеки MPL
  • Spirit был перемещен для использования лицензии Boost Software License 1.0.
  • Исправлено несколько парсеров для более корректной поддержки пост-скипов.
  • Обсуждение No_node_d.
  • Исправлена ошибка в shortest_d[].
  • Исправлена ошибка в limit_d[].
  • Фиксированный метакод прохождения парсера.
  • Исправлено несколько ошибок в switch_p.
  • Исправлены проблемы генерации AST, в частности, с парсерами, связанными с петлями.
  • Исправлено несколько ошибок в multi_pass итераторе.
    • Исправлена проблема, когда используемый базовый итератор возвращает значение_тип, а не ссылку от оператора отсчета.
    • Проблема исправления Iterator_traits
    • Исправлена проблема EOI
    • Исправлена ошибка, при использовании с std: цин
  • Найдена ошибка в грамматике.ipp при BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE определяется
  • Переписанный safe_bool для использования CRTP - теперь работает также на MWCW, исправлено несколько ошибок с реализацией.
  • Исправлена и расширена отладочная диагностика, напечатанная кодом дерева разбора.

1.8.0 (Released with Boost 1.31.0; Includes unreleased 1.7.1)

  • Исправлена задача wchar_t в парсере regex_p.
  • удаленный код и обходные пути для старых компиляторов (VC6/7 и Borland)
  • Изменили лицензию на новую лицензию.
  • Модифицированный escape_char_parser::parse() для использования статического парсера вместо правила. Это сделает его более удобным для использования на деревьях. Он также должен быть немного более эффективным.

1.7.1 (Unreleased; becomes 1.8.0)

  • Добавлен полный набор заранее определенных актеров.
  • Перемещает rule_alias и stored_rule из ядра/нетерминала в динамический.
    Сделано как_parser общедоступным API в meta/as_parser.hpp
  • Отдельное ядро. Мета в собственный модуль
  • Модуль Refactored Utility
    Перенес некоторые файлы в утилиту. Парсеры
  • утилиты
    • парсеры
      • chset, regex, escape_char
        confix, list, distinct
        functor_parser
  • Поддержка
    • scoped_lock
      flush_multi_pass
  • Актеры
  • Сохраненные правила
  • Добавлены динамические парсеры switch_p и select_p.
  • Поддержка нескольких сканеров для правил.
  • Параметры шаблона Scanner, Context и Tag могут быть указаны в любом порядке. Если параметр шаблона отсутствует, он будет предполагать по умолчанию. См. test/rule_tests.cpp.
  • Введена возможность указать из грамматики более одного правила начала.
  • Добавлена реализация итератора file_iterator на основе нового Boost iterator_adaptors (представлена Томасом Виттом).

[Переход на новый итератор_адапторы должен быть завершен сейчас.]

  • Добавлена реализация итератора фиксированной_size_queue на основе новых итераторов Boost.
  • wchar_t дружественная реализация graph_p
  • сделал копировального конструктора и оператора парсера_error_base общедоступным, чтобы очистить предупреждение VC7.1 C4673. Добавлена копи-конструктор и оператор назначения к parser_error для ясности намерения.

1.7.0

  • Назначение (струна) семантического действия теперь работает в VC6
  • Парсеры не должны быть конструируемыми по умолчанию
  • Упрощенная агрегация бинарных и унарных парсеров (более дружественный компилятор)
  • epsilon обходные пути для VC++
  • Атрибут матча теперь использует boost.optional
  • Подзаконные акты теперь могут иметь закрытие
  • Широкая 64-битная совместимость
  • dynamic_parser_tag, переиздание правил. set_id(id);
  • многочисленные улучшения примитивов и обходные пути для проблемных компиляторов
  • надлежащее дополнение (~) однопарсерных примитивов и наборов
  • Интуитивная обработка lexeme_d
  • Широкий_phrase_scanner_t печатать
  • Динамические улучшения парсера (лучше поддержка большего количества компиляторов)
  • полное перезаписывание файла_iterator (с помощью boost.iterator_adapters). Поддерживает карты памяти везде, где это возможно
  • многоканальные обновления (совместимость с большим количеством компиляторов (например, VC7) и более)
  • Улучшение position_iterator
  • Улучшенная поддержка феникса для большего количества компиляторов
  • Phoenix new_(...)
  • Обсуждение Lazy_p Parser
  • utility.distinct parser (недокументированный)
  • Улучшение работы операторов
  • confix_p оптимизация и улучшения
  • многочисленные Улучшение интеграции

Bug fixes (1.7.0 and 1.6.0)

  • Исправлено. Использование MSVC++6 (SP5), вызов действия назначения со значением строки на парсерах с помощью файлового_iterator не будет работать.
  • Фиксированный: использование назначения семантического действия в грамматике с помощью адаптера multi_pass iterator, применяемого к std::istream_iterator, привело к отказу компиляции под msvc 7.0.
  • Исправлено: Существует ошибка в "range_run::set (rangeconst&r)"функции в "boost\spirit\utility\impl\chset\range_run.ipp".
  • Исправлено: обработка ошибки отслеживания белого пространства (ast_parse/pt_parse)
  • Исправлено: comment_p и конец ошибки данных
  • Исправлено:Больше всего космических жуков:
  • Исправлено:
    chset<>::operator~(range<>) bug
    operator&(chset<>, range<>) bug
    operator&(range<>, chset<>) bug
  • Исправлено:impl::detach_clear bug
  • Исправлено:ошибка типа закрытия несоответствия
  • Исправлено:access_node_d[]иaccess_match_d[]Итераторы
  • Исправлена ошибка, касающаяся безопасности потока закрытий Phoenix/Spirit.
  • Добавлены недостающие файлы в miniboost

Авторское право и копия; 1998-2005 Джоэл де Гусман, Хартмут Кайзер
На использование, модификацию и распространение распространяется лицензия Boost Software License, версия 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресу http://www.boost.org/LICENSE_1_0.txt)

 

Статья Spirit Change Log раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:55:07/0.011548042297363/1