1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chatopera-pegjs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 11:50 18d5736

Основные изменения

  • Реализовано извлечение значения (value plucking): например, при вводе grammar = "-" @$[a-z]i* "-" для -PEGjs- возвращается PEGjs.

  • Улучшена поддержка JavaScript:

    • Генерация парсеров в ES5.
    • Исходный код PEG.js и скрипты в репозитории написаны на ES2015 для Node 8+.
    • Версия для браузера в ES5, созданная с использованием Rollup и Babel.
    • Прекращена поддержка версий Node 0.x, 4, 6 и не LTS (например, 7, 9 и т. д.).
    • Прекращена поддержка IE версий 8, 9 и 10.
  • Обновлена документация:

    • Извлечена в отдельные файлы Markdown в папке docs.
    • Улучшено объяснение сообщений об ошибках.
    • Добавлена документация по нечувствительности к регистру в грамматике.
    • Добавлена документация о возврате назад в грамматике.
    • Уточнены детали среды выполнения действий (#531).
    • Добавлено понятное объяснение сбалансированных скобок (#533).
    • Обновлена документация по JavaScript API.
    • Добавлен гид по плагинам.
    • Добавлена документация об использовании трассировщика.
    • Добавлен гид по CLI.
  • Переписан инструмент командной строки:

    • Добавили 2 псевдонима для --extra-options-file: -c и --config.
    • Параметры могут принимать значения через оператор присваивания (например, pegjs -c=config.js).
    • Все аргументы после -- передаются в options["--"].
    • Для некоторых параметров CLI добавлены псевдонимы; проверьте их с помощью pegjs -h.
    • В список допустимых форматов модулей добавлен «bare».
  • Обновили помощников, доступных для сгенерированных парсеров:

    • Возобновлён offset(), который был удалён в предыдущем выпуске (#528).
    • Добавлен range(), возвращает [начальный сдвиг, текущий сдвиг].
    • location() также возвращает свойство filename, если оно было передано сгенерированному парсеру в качестве параметра (#421).
    • Помощники можно отключить с помощью нового параметра features (например, { text: false } удалит помощника text()).
  • Парсер возвращает экземпляр нового класса Grammar вместо простого объекта JavaScript.

  • Добавлен класс ASTVisitor (#451).

  • Весь код генерации перемещён из прохода generateBytecode в проход generateJs (#459).

  • Используйте файлы .js с параметром --extra-options-file (псевдонимы -c и --config) в CLI.

  • Добавлен API сеанса (peg.compiler.Session), что должно упростить расширение PEG.js с помощью плагинов.

  • Реализованы эмиттеры предупреждений и ошибок: session.warn, session.error и session.fatal (#327, #430, #431).

Незначительные изменения

  • Опустить версию PEG.js в имени файла версии для браузера.

  • Добавить поддержку генерации парсера как модуля ES с использованием "format": "es".

  • Добавить связанные файлы объявлений TypeScript:

    • для API PEG.js: pegjs/typings/api.d.ts.
    • для модулей PEG.js: pegjs/typings/modules.d.ts.
    • для сгенерированных парсеров: pegjs/typings/generated-parser.d.ts.
  • Обновить генератор байт-кода; сгенерированные парсеры выглядят немного лучше:

    • оптимизировать тихие сбои (#399).
    • оптимизировать избыточные проверки на сбой (#400).
    • удалить ненужный код операции (#509).
  • Добавить ASTVisitor.on.{property,children}; это помощники для создания посетителей для использования с новым классом ASTVisitor.

  • Слияние.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/chatopera-pegjs.git
git@api.gitlife.ru:oschina-mirror/chatopera-pegjs.git
oschina-mirror
chatopera-pegjs
chatopera-pegjs
master