Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2021-03-18 | 103 |
5.00
из
|
Заказать работу |
|
|
1. Праволинейной (выровненной вправо) грамматикой называется грамматика G, если каждое правило из Р имеет вид
A ® xB или A ® x
где A, B – нетерминалы, x – цепочка, состоящая из терминалов
Например, грамматика G2 = ({ 0,1 }, { S }, S, P)
где P: S ® 0S;
S ® 1S;
S ® e,
определяет язык {0, 1}.
2. Контекстно-свободной (бесконтекстной) грамматикой (КС-грамматикой) называется грамматика G, если каждое правило из Р имеет вид:
A ® a
где A Î N, a Î (T È N)*, то есть является цепочкой, состоящей из множества терминалов и нетерминалов и может быть пустой.
Например, грамматика G3 = ({E, T, F}, {a, +, *, (,)}, P, E)
где P: E ® T
E ® E + T
T ® F
T ® T * F
F ® (E)
F ® a.
порождает простейшие арифметические выражения.
Согласно определению, каждая праволинейная грамматика является контекстно- свободной.
НетерминалА контекстно-свободной грамматикиG = (T, N, S, P) для некоторых a и b, если a = ε, называется леворекурсивным, а если b = ε, называется праворекурсивным.
Грамматика G называется леворекурсивной (соответственно праворекурсивной), если в G имеется хотя бы один леворекурсивный (соответственно праворекурсивный) нетерминал.
Грамматика, в которой рекурсивны все нетерминалы (возможно, кроме, начального символа) называется рекурсивной.
3. Контекстно-зависимой (неукорачивающей) грамматикой (КЗ-грамматикой) называется грамматика G, если каждое правило из P имеет вид:
a ® b
где | a | £ | b |, то есть вновь порождаемые цепочки не могут быть короче, чем исходные, а также пустыми (другие ограничения отсутствуют).
Например, грамматика G = ({ a, b, c }, { B, C, S }, S, P)
где P: S ® aSBC;
S ® abc;
CB ® BC;
bB ® bb;
bC ® bc;
cC ® с c,
порождает язык { a n b n c n }, n ≥ 1 (n >0).
По определению КЗ-грамматика не допускает правил А ® e, где e – пустая цепочка, т. е. КС-грамматика с пустыми цепочками в правой части правил не является контекстно-зависимой.
|
Запрещение в контекстно-зависимой грамматике использования правил вида A →ε сделано для того, чтобы алгоритм, определяющий принадлежность цепочки языку, не зацикливается.
Наличие пустых цепочек ведет к грамматике без ограничений.
4. Грамматикой свободного (общего) вида(без ограничений) называется грамматика G, если в ней отсутствуют выше упомянутые ограничения.
Если язык L порождается грамматикой типа G, то L называется языком типа G.
Например, L(G) – КС-язык типа G.
Наиболее широкое применение при разработке трансляторов нашли КС-грамматики и порождаемые ими КС-языки.
Эта классификация называется включающей, т. е. все контекстно-свободные грамматики являются контекстно-зависимыми, а все контекстно-зависимые грамматики являются грамматиками общего вида и т. д.
Существуют языки, принадлежащие к типу i, но не к типу i + 1: например, язык грамматики Gi является контекстно-зависимым, но не контекстно-свободным, т. е. не существует контекстно-свободной грамматики, порождающий этот язык.
5. Способы записи синтаксиса языка
Существуют различные способы записи синтаксических правил, что в основном определяется условными обозначениями и ограничениями на структуру правил, принятых в используемых метаязыках.
Метаязыки используются для задания грамматики языков программирования со времен Алгола 60. Еще раньше они начали использоваться при описании небольших языков в статьях, посвященных формальным грамматикам.
5.1. Метаязык Хомского.
Метаязык Хомского вышел из математической логики; имеет следующую систему обозначений:
· символ ® отделяет левую часть правила от правой; обозначает порождает или это есть;
· нетерминалы обозначаются буквой А с индексом, указывающим на его номер;
· терминалы – это символы, используемые в описываемом языке;
· каждое правило определяет порождение одной новой цепочки;
|
· один и тот же нетерминал может встречаться в нескольких правилах слева.
Описание идентификатора на метаязыке Хомского.
1. A1 ® A | 2. A1 ® B … | 26. A1 ® Z |
27. A1 ® a | 28. A1 ® b … | 52. A1 ® z |
53. A2 ® 0 | 54. A2 ® 1 … | 62. A2 ® 9 |
63. A3 ® A1 | 64. A3 ® A3A1 | 65. A3 ® A3A2 |
Описание идентификатора на метаязыке Хомского показывает громоздкость метаязыка, поэтому его можно эффективно использовать только для описания небольших абстрактных языков.
5.2. Метаязык Хомского-Щутценберже.
Более компактное описание возможно с применением метаязыка Хомского-Щутценберже, использующего следующие обозначения метасимволов:
· символ = отделяет левую часть правила от правой (вместо символа ®);
· нетерминалы обозначаются буквой А с индексом, указывающим на его номер;
· терминалы – это символы, используемые в описываемом языке;
· каждое правило определяет порождение нескольких альтернативных цепочек, отделяемых друг от друга символом +, что позволяет использовать в левой части только разные нетерминалы.
Введение возможности альтернативного перечисления позволило сократить описание языков.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!