Контекстно-свободная грамматика
Определение 8. Грамматика
G = (VN, VT, P, S)
является грамматикой типа 2 или контекстно-свободной грамматикой, если каждое её правило имеет вид
A P,
где AVN,
Вместо термина “контекстно-свободная грамматика” часто используют аббревиатуру cfg (context-free grammar) или сокращение КС-грамматика.
Замечание 2. Правило вида A позволяет заменить A на независимо от контекста, в котором появляется A.
Грамматика, приведенная в примере 1, является не только грамматикой типа 0, грамматикой типа 1, но и контекстно-свободной (по Хомскому типа 2).
Пример 2. Рассмотрим контекстно-свободную грамматику
G = (VN, VT, P, S), где
VN = {S, A, B}, VT={a, b},
P ={<S> a<B>,
<S> b<A>,
<A> a,
<A> a<S>,
<A> b<A><A>,
<B> b,
<B> b<S>,
<B> a<B>b<B>}.
Регулярная грамматика
Определение 9. Грамматика
G = (VN, VT, P, S)
является грамматикой типа 3 или регулярной грамматикой (rg — regular grammar), если каждое её правило имеет вид
A aB или A a,
где aVT; A, BVN.
Замечание 3. Языки, порождаемые грамматиками типа 3, являются в точности теми множествами, которые распознаются (допускаются) конечным автоматом. Поэтому такой класс грамматик и языков часто называют конечно-автоматными или просто автоматными.
Пример 3. G — регулярная грамматика
G = (VN, VT, P, S), где VN ={S, A, B}, VT={0, 1},
P = { 1) <S > 0<A>,
2) <S > 1<B>,
3) <S> 0,
4) <A> 0<A>,
5) <A> 0<S>,
6) <A> 1<B>,
7) <B> 1<B>,
8) <B> 1,
9) <B> 0}.
Классы языков
Очевидно, что
каждая грамматика типа 3 является грамматикой типа 2;
каждая грамматика типа 2 является грамматикой типа 1;
каждая грамматика типа 1 является грамматикой типа 0.
Каждому классу грамматик соответствует класс языков. Языку приписывается тип грамматики, которой он порождается.
Например,
контекстно-свободные грамматики (cfg) порождают контекстно-свободные языки (cfl),
контекстно-зависимые грамматики (csg) порождают контекстно-зависимые языки (csl).
В соответствии с текущей практикой язык типа 3 или регулярный язык часто называют регулярным множеством (rs — regular set).
Язык типа 0 называют рекурсивно перечислимым множеством (res — recursively enumerable set).
Языки типа 0 соответствуют языкам, которые интуитивно могут быть перечислимы конечно описываемыми процедурами.
Очевидно, что L3 L2 L1 L0 - вложение этих классов языков строгое.
Пустое предложение
Грамматики определены так, что пустое предложение () не находится ни в контекстно-свободном (cfl), ни в контекстно-зависимом (csl) языках, ни в регулярном множестве (rs).
Расширим данные ранее определения csg, cfg и rg, допустив порождение пустого предложения посредством правила вида S, где S — начальный символ, при условии, что S не появляется в правой части никакого правила. В этом случае ясно, что правило S может использоваться только в качестве первого и единственного шага вывода.
Деревья вывода в контекстно-свободных грамматиках
Рассмотрим теперь наглядный метод описания любого вывода в контекстно-свободной грамматике.
Определение 8. Пусть
G = (VN, VT, P, S) — cfg.
Дерево есть дерево вывода в грамматике G, если оно удовлетворяет следующим четырем условиям:
1) каждый узел имеет метку — символ из алфавита V;
2) метка корня — S;
3) если узел имеет по крайней мере одного потомка, то его метка должна быть нетерминалом;
4) если узлы n1, n2, ... , nk — прямые потомки узла n, перечисленные слева направо, с метками A1, A2, ... , Ak соответственно, а метка узла n есть A, то A A1A2 ... AkP.
Пример 6. Рассмотрим КС-грамматику
G = ({S, A}, {a, b}, P, S),
где
P = {1) <S> a<A><S>,
2) <S> a,
3) <A> <S>b<A>,
4) <A> ba,
5) <A> <S><S>
}.
Лингвистический процессор
Перевод
Определение 1.
Гомоморфное отображение, реализуемое ЛП.
Пример
: САМОЛЕТ ЛЕТИТ В ВОЗДУХЕ.
: ( )
Алгоритм перевод
Лингвистический процессор
Определение 2.
ЛП = < Те, Гр, Сл, F, WFF >
Будем называть структуру, отображающую текст Те в текст WFF и обратно, на основе правил грамматик Гр и F и словаря Сл, посредством процедур лексического, морфологического, синтаксического и семантического анализов.
Словарь
Определение 3.
Словарем будем называть таблицу, каждая строка которой содержит:
№ п/п |
Основа слова Le |
грамматические характеристики слова |
семантические атрибуты слова |
характеристики терма |
терм Lв
|
1 |
САМОЛЕТ |
СУЩЕСТВИТ. |
О |
О |
САМОЛЕТ |
2 |
ВОЗДУХ |
СУЩЕСТВИТ. |
О |
О |
ВОЗДУХ |
3 |
ЛЕТИТ |
ГЛАГОЛ |
ВЗАИМОДЕЙСТВИЕ |
|
ЛЕТИТ |
Основные этапы перевода
Определение лексического значения слов, составляющих входное предложение. Лексический анализ проводится по словарю основ, путем отбрасывания окончания слова.
Определение морфологической информации – проводится путем сравнения отброшенного окончания с таблицей падежных окончаний.
Входная грамматика
Определение 4.
Входной грамматикой называется четверка
Gin = (VN, VT, P, S ).
В качестве входной грамматики Гр языка Le выберем КС-грамматику.
Определение 5.
Процесс нахождения синтаксической структуры предложения называется синтаксическим анализом.
Синтаксический анализ выполняется на основе МП-автоматов.
Определение 6.
Регулярной последовательностью символов называется упорядоченное множество символов с заданными семантическими атрибутами слов Le.
Пример
Слово |
САМОЛЕТ |
ЛЕТИТ |
ВОЗДУХ |
Атрибут |
О |
Р11 |
О |
Определение 7.
Атрибутной грамматикой называется шестерка
G = (VN, VT, P, S , At, μ),
где VN, VT — алфавиты (словари) нетерминалов и терминалов соответственно, причём
VN Ç VT = Æ;
P — конечное множество правил, каждое из которых имеет вид
,
где aÎ V*VNV*, bÎ V*, V = VN È VT — объединённый алфавит (словарь) грамматики; S — начальный нетерминал; At – конечное множество атрибутов; μ - отображение из
Свойства синтаксических анализаторов
Эффективность трансляции – время, необходимое для обработки входной цепочки;
Простота определения того, что входная цепочка принадлежит данной грамматике;
Прямо по определению грамматики механически строить эффективный анализатор.
Указанным свойствам удовлетворяет LR-грамматика.
В частности, ее разновидность SLR(1).
LR – грамматика
Определение 8.
КС – грамматика является LR – грамматикой, если для любых цепочек и любых символов выполняются следующие условия:
если
и если
и = ,
то = , = , = .
Здесь выражение определяет цепочку первых литер из цепочки .
Определение 9.
Выводимой цепочкой в грамматике Ге называется цепочка
Пример
САМОЛЕТ O ЛЕТИТ P11 ВОЗДУХ O
Отображение μ реализуется процедурами семантического анализа предложения, которые используют атрибуты членов предложения и формируют формулы внутреннего языка Lв. Атрибутами являются: род, число, падеж, сорт, признак словосочетания, признак математического выражения. Терминалами являются: части речи, ключевые слова, математические знаки. Нетерминалы – члены предложения.
Пример
μ : САМОЛЕТ O ЛЕТИТ P11 ВОЗДУХ O −> P11(САМОЛЕТO, ВОЗДУХO)
SLR(1) – грамматика языка системы <<Доуэль>>
<Предложение> :: = <Гр_подлежащего> <Гр_сказуемого> <Предлог> <Гр_дополнения> <M> |
Параметр - <Гр_подлежащего> |
ДАЙ ОБЛИК <Гр_дополнения>|
. . .
<Гр_подлежащего> :: = <ОпределениеИ> <Подлежащее> <Подлежащее_1> ;
<Подлежащее> :: = СуществительноеИ <Слов_1>;
<Подлежащее_1> :: = <Знак_пункт> <Гр_подлежащего> | ε;
Всего - 42 правила.