Как стать автором
Обновить

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

Время на прочтение1 мин
Количество просмотров3K
Доброго времени суток.

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

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

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

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

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

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

Грамотно построенная грамматика позволяет написать правильный, компактный код, решающий подобного рода задачи. Поскольку тема синтаксического анализа интересна для меня — я выполнил перевод указанного выше стандарта.
Теги:
Хабы:
+6
Комментарии0

Публикации