|
Метаязык Хомского-Щутценберже.Date: 2015-10-07; view: 589. Описание идентификатора на метаязыке Хомского Метаязык Хомского. Способы записи синтаксиса языка Существуют различные способы записи синтаксических правил, что в основном определяется условными обозначениями и ограничениями на структуру правил, принятых в используемых метаязыках. Метаязыки используются для задания грамматики языков программирования, начиная с языка Алгол 60; еще раньше они начали использоваться при описании небольших языков в статьях, посвященных формальным грамматикам. Метаязык Хомского вышел из математической логики; имеет следующую систему обозначений: · символ ® отделяет левую часть правила от правой; обозначает: порождает или это есть; · нетерминалы обозначаются буквой А с индексом, указывающим на его номер; · терминалы – это символы, используемые в описываемом языке; · каждое правило определяет порождение одной новой цепочки; · один и тот же нетерминал может встречаться в нескольких правилах слева.
Описание идентификатора на метаязыке Хомского показывает громоздкость метаязыка, поэтому его можно эффективно использовать только для описания небольших абстрактных языков. Более компактное описание возможно с применением метаязыка Хомского-Щутценберже, использующего следующие обозначения метасимволов: · символ = отделяет левую часть правила от правой (вместо символа ®); · нетерминалы обозначаются буквой А с индексом, указывающим на его номер; · терминалы – это символы, используемые в описываемом языке; · каждое правило определяет порождение нескольких альтернативных цепочек, отделяемых друг от друга символом +, что позволяет использовать в левой части только разные нетерминалы. Введение возможности альтернативного перечисления позволило сократить описание языков.
|