Пользователь
0,0
рейтинг
18 июля 2013 в 22:27

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

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

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

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

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

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

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

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

Грамотно построенная грамматика позволяет написать правильный, компактный код, решающий подобного рода задачи. Поскольку тема синтаксического анализа интересна для меня — я выполнил перевод указанного выше стандарта.
Андрей Бушман @Hwd
карма
8,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (0)

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