Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции что есть.docx
Скачиваний:
9
Добавлен:
24.09.2019
Размер:
193.53 Кб
Скачать

Контекстно-свободная грамматика

Определение 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 или регулярной грамматикой (rgregular 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 соответствуют языкам, которые интуитивно могут быть перечислимы конечно описываемыми процедурами.

Очевидно, что L3L2L1L0 - вложение этих классов языков строгое.

Пустое предложение

Грамматики определены так, что пустое предложение () не находится ни в контекстно-свободном (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 правила.