Search
Write a publication
Pull to refresh

Язык описания грамматик. Подмножество языка Lada

Reading time2 min
Views639
Система Lada имеет собственные средства описания грамматики, поэтому в тексте использована именно эта нотация, краткое описание которой ниже.

1. Понятие определяется оператором Determination, за которым следует имя определяемого понятия и далее определяющая последовательность понятий в скобках.
2. Имя определяемого понятия может содержать не больше сорока букв, либо любые знаки, заключенные в именные скобки «"». Более подробно смотри правила именования (Раздел 1).
3. При необходимости определить сразу несколько понятий они заключаются в фигурные скобки (либо в круглые скобки через запятую) после оператора Determination. Раздел 2.1. Объекты, заключенные в скобки будем называть группой.
4. Последовательность знаков непосредственно участвующая в разборе выделяется текстовыми скобками ««» и «»».
5. Объекты или группы разделенные знаком «|» означают выполнение одного из этих объектов или групп. Операция «Или».
6. Последовательность определений в скобках (группа), и знаком «|» после открывающей скобки (без пробела) обозначает выбор одного варианта из этой последовательности. Группа «Или».
7. Знак «¬» перед понятием (или группой понятий) означает, что в разборе допустимо все что угодно кроме этого понятия (или группы понятий). Операция «Нет».
8. Последовательность определений в скобках (группа), и знаком «¬» после открывающей скобки (без пробела) обозначает не совпадение ни с одним вариантом из этой последовательности. Группа «Нет».
9. Надстрочное значение, после закрывающей скобки определяет максимальное количество допустимых повторений понятий объединенных группой, которую закрывает эта скобка.
10. Подстрочное значение после группы понятий указывает минимальное количество вхождений данного понятия в определение. Значение 0 допускает отсутствие группы понятий в разборе.

Примеры.

1. Determination Цифра {0| 1| 2| 3| 4| 5| 6| 7| 8| 9}
2. Determination Letter (| А, B, …, я)
3. Determination
{
Word {Letter}140
Название {«"» {¬ «"»}128 «"»}
}

Данные правила используются для программирования грамматик. Для применения в тексте оператор Determination будем опускать, и использовать знак «=» после определяемого понятия. И напомним еще раз, что наличие запятых разделяющих объекты необходимо только при группировании круглыми скобками. Объекты, разделенные инфиксной операцией «Или» считаются одним объектом и не нуждаются в разделении запятыми даже при использовании круглых скобок.

Пример.

Цифра = (| 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

В таком виде это похоже на формы Бэкуса-Наура и легче воспринимается.
Tags:
Hubs:
Total votes 14: ↑5 and ↓9-4
Comments10

Articles