Контекстно-свободная грамматика
Определение 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 правила.
