Локализация ISO/IEC 14977: 1996(E) (Extended BNF)

    Доброго времени суток.

    Перевёл себе для работы Стандарт ISO/IEC 14977: 1996(E), описывающий Extended BNF.

    Возможно материал будет интересен и др. людям, поэтому выкладываю результат в сеть для свободного использования. Обозначенная google-группа, создана для корректировки текущей версии перевода, замечания/исправления приветствуются.

    С уважением, Андрей.

    Обозначенный метаязык удобен для описания различного рода грамматик, например для:

    — языков программирования
    — парсеров
    — интерпретаторов

    Например, в книге «Программирование. Практика использования C++» Беарне Стровструп показывает, как правильно писать грамматику и реализовывать её в коде на примере парсера математических выражений. Упомянутый парсер поддерживает использование следующих операторов: + — * / % ( ). Кроме того, в нём же реализована возможность создания и использования переменных, а так же функций. Причём предварительно автор книги показывает несколько попыток написания такого парсера, однако лишь вариант с использованием грамматики даёт правильное, надёжное решение.

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

    Подробнее
    Реклама
    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.