Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Форм_грамм1.doc
Скачиваний:
3
Добавлен:
11.11.2018
Размер:
78.85 Кб
Скачать

§ 1.5. Формальные языки

Формальные языки являются математическими объектами, в определенном смысле аналогичными естественным языкам. Сохраним для формальных языков такие термины, как грамматика и предложение. Символьную конструкцию, построенную по правилам грам­матики (формального языка), будем называть предложением (этого формального языка). Формальные языки, в конечном счете, нужны нам как надежные средства представления информации, допускаю­щие автоматически ю ее перерабочк;, без участия человека, понимаю­ще) о смысл иредло/кеиий. Тцкая переработка информации возможна то,'1Ы'.о путем переработки символьных конструкций. яп/1яюи'|!.\ся

предложениями. Следовательно, смысл предложение позначно определяться структурой этих предложений предложений, запасенных в системе и привлекаемы переработки. В конечном счете, смысл должен опрел мой. Отсюда происходит термин формальный язык.

1.5.1. Понятие и свойства формального языка. В формального языка, примем ряд предосторожностей. \ условимся четко различать формальный язык, определ” производится, и тот язык, который при этом применяе1 ство. Определяемый язык будем называть языком-язык, уже нам известный, с помощью которого произ! деление языка-объекта, назовем метаязыком.

Вторая предосторожность будет заключаться в то1\' вила образования предложении формального языка н( смысла частей, из которых предложения строятся. В языках это свойство грамматики часто отсутствует. Н предложения 1) “Я увидел белые высокие каменные д увидел белые, желтые, красные дома” имеют разну (обратите внимание на запятые), и это различие завис прилагательных (однородные ли свойства они выражг

Последнее требование, если мы обеспечим его выл зволит строить предложения языка независимо от их с;

конструкций, являющихся предложениями, обычно нг мальным языком, а класс предложений, рассматривав соответствующим им “смыслом”, - формальным языком семантикой. (При условии, конечно, что между форме ний и их “смыслом” существует однозначное соответст,

В принципе, при построении формальных языков м< наться самыми различными мегаязыками. Но для того вить себя от необходимости всевозможных проверок, ц применять метаязыки, соответсгвующие некоторым уж схемам. Ниже приведены две такие схемы, известные по;

формальных грамматик, соответственно дедуктивно и порождающих формальный язык. Каждый раз, когда дл класса конструкций построена одна из таких граммати что этот класс конструкции является формальным язьи

1.5.2. Дедуктивные порождающие грамматики. Та тика задана, если указаны класс (Л, В, 2) конструкч могут быть предложениями языка объекта, алфавит , ваемых нетерминальных букв, в котором выделена некс а, и конечный перечень Р так называемых синтаксиче При этом алфавиты букв Л и N должны быть непересе каждое синтаксическое правило является назвать операции первого ранга (одноместной), исходными да' ^ультагами которой являюгся конструкции класса (Л

жащсе буквы и связи, не указанные в названных выше алфавитах и называемые собственными буквами и связями грамматики.

1Нак, дедуктивная порождающая грамматикаэю совокуп­ность

^-((Л,В,2),Л^ Р,сс),

где а. — буква в /V.

1!<-.\одным элементом для порождения предложения формального языка является буква ”. Процесс порождения называется выводом г сое гонт из следующих многократно выполняемых действий:

1) Если преобразуемая конструкция принадлежит классу (Л, В, I,), то она является предложением определяемого формального языка и процесс окончен; в противном случае переходим к следую­щему пункту.

2) Выбираем из перечня Р любое синтаксическое правило, ко­торое применимо к преобразуемой конструкции; выполняем над пре­образуемой конструкцией указанную в правиле операцию; получен­ный результат считаем преобразуемой конструкцией: переходим к п. 1

Процесс вывода либо заканчивается при выполнении п. 1, либо Никсон не заканчивается, либо обрывается в процессе выполнения п. 2. Искомый результат получается только в первом случае.

Если воспользоваться терминологией теории множеств, то можно сказать, что дедуктивно порождаемый формальный язык это мно-жесгао конструкций класса (Л, В, 2), выводимых из начального символа а.

Ва/кным частным случаем дедуктивных грамматик являегся слу­чаи, ь котором допустимы лишь конструкции, являющиеся словами. При этом

Г) -(Л, Л\ Р, а),

где а - буква в ,М.

Предложения языка, порождаемою такой грамматикой, явля­ются словами в А.

В еще более частном случае в качестве синтаксических правил до!1у1 каются только операции частного вида, называемые подста­новками или продукциями; каждое правило при этом записывается б виде

/•',—-?.,

где /', и ^^ являются словами в Л и N. Выполнение таких правил зак^очаегся в том, что любой фрагмент преобразуемого слова, од! паковый с р,, замеияеюя фрагментом ^,. Дедукшпиыс I рамма-тим! описанного вида извесгны в теории формальных я я.жои как грамматики продукций

Наиболее известным частным случаем I рамма' является так называемая контекстно свободно (КС-грамматика). В КС-грамматике все подстановк] содержат лишь однобуквенные слова, образованные ных символов.

В настоящее время из дедуктивно порождаемы сивио изучаются лишь контекстно свободные (КС-я:

мыс КС-грамматиками.

1.5.3. Индуктивные порождающие грамматики. нают грамматики естественных языков. Такая гра если заданы класс (Л, В, 2) конструкций, которые ложениями языка объекта, набор С конструкций э' зываемых морфемами, вспомогательный алфавит Л щийся с Л, одна из букв которого р выделена, и пе^ сических правил. Часть вспомогательных букв ) венными именами морфем, другая часть, в том числе (собирательными) именами символьных конструкг в процессе построения предложений языка, третья ' опальными знаками. Синтаксические правила им<

Г --.V0 л; л р

либо вид

Л', =/д (л:;, л:2, . . ./,

гдед-1, Хг, . . ., х^ - групповые имена, а х°, - индиви Итак, индуктивная порождающая грамматика носчь

((Л,/?,

л^р, Г'),

|де Р - буква в N.

Процесс построения предложения языка-объеь индуктивной порождающей грамматики пазывае' предложения из морфем. Заключается он в следую

1) Выбирают некоторое количество формул, в которых стоят индивидуальные имена морфем. Сч” части этих формул являются групповыми нмена]у щих символьных конструкций (морфем). Переходя-

2) Из перечня Р выбирают любую формулу которой все стоящие в правой части групповые 1 чили некоторые значения. Выполняют операцию, чает правая часть формулы над (какими-либо) зна ных групповых имен. Полученную символьную к чаюг (еще одним) значением группового имени, с част формулы. Переходят к п. 3

3) Если лспая часть последней выполненной ( р, то перейти к п. 2 В противном случае получен

является предложением языка-объекта. Процесс можно либо за­кончить, либо, если буква р встречается в правых частях формул, продолжщь, перейдя к п. 2.

3 а .м е ч а и и е. Групповые имена, стоящие на разных местах в правой части записи общего вида (==[(х, у, . . ., г), между собой независимы. Даже если они между собой одинаковы, при выполне­нии п. 2 процесса построения им можно приписывать неодинаковые значения.

Пользуясь терминологией теории множеств, можно сказать, что индуктивно порождаемый формальный язык это множество тех символьных конструкций р (т. е. носящих групповое имя р), ко­торые построены с помощью синтаксических правил грамматики из ее морфем.

Множество морфем иногда называют базой грамматики пли ее словарным (рондом.

Важный частный случай индуктивной порождающей грамматики получится, если в качестве морфем взять слова и в качестве опе­раций, называемых в синтаксических правилах,— операции, ре­зультатами которых являются слова. При этом грамматика пред­ставит собой следующую совокупность:

/-(Л,С..У,Р,р),

где |3 — буква в N.

В этой записи алфавиты В и 2 опущены; они подразумеваются. Такая грамматика определяет язык, предложениями которого яв­ляются слова. Своеобразная форма такой грамматики описана в п. 1.5.4.

1.5.4. Универсальные метаформулы. Нотация Бекуса. Если в формулах перечня синтаксических правил индуктивной грамматики последнего вида в правые части вместо индивидуальных имея мор­фем подставить сами морфемы (а это возможно, так как морфемы являются словами), то будет получена так называемая система уни­версальных метаформул.

Система универсальных метаформул, если указагь метасимвол, выделенный в индуктивной грамматике, содержит всю информацию, которую содержит сама грамматика.

На практике обычно знак равенства, разделяющий каждую ме-гаформулу на две части, заменяют знаком : : ==, который читается “по определению есть”; это связано с тем, что сам знак == часто яв­ляется одной из букв языка объекта. Кроме того, для уменьшения числа метаформул применяют следующий прием. Метаформу.чы, имеющие одинаковые левые части, объединяют в новые формулы, в которых левая часть присутствует один раз, а правые части 'лпл--дпияемых метафсрм^л перечислены в правой част и р.идпсиы тм.чолами <'!”, которые читаются как <'или/>.

Наиболее известным и часто применяемым слу ных метаформул являегся так называемая нота придем к ней, если ограничимся только операциями

8,(Р)=Р, 5,(?1, Р^-^Р,Р„ .... 5,(Р„

где Р, р(— слова, а результат соединения слов о( метасимволов, обозначающих соединяемые слова.

Как видно из этого определения, результаты нения слов можно получать из функциональных ванием функциональных знаков, скобок и запяты в метаформулах отбросить функциональные знаь пятые.

В полученных после этого формулах имена мо| ся в данном случае словами, следует заменить са;

Наконец, если в качестве метасимволов при.\ тественного языка, заключенные в угловые скоб получена запись формальной грамматики в виде

Нотация Бекуса применима только к очень уз] ков. фразы, заключенные в угловые скобки,— ;

вспомогательные буквы, а не какие-либо “поняти;

символами и обращаться нужно, как с буквами:

применения они должны быть целыми и неизменн! фразы в составе вспомогательной буквы — это при запоминание роли, которую играет метасимвол

Пример 1.28. Опишем десятичную позиционную си

форма чьныи язык, пользуясь для этого нотацией Бекуса:

<нен\левая цифра> ::=--1 I 2 ] 3 I 4 I 5 1 6 1 7 1 8 I 9

<циф; а> ::=0 |<ненулевая цифра>

<сгрока цифр> : :=<ненулевая цифра> | <строка цпфр>

<ис-|С;- чис.ю> ::= <цифра> 1 .(строка иифр>

М;-'д\но было бы ограничиться только двумя формулам.

<И(.фра> ::=0 |1|2|3|4|5|6!7|819

<Ю-т-е число> ::=<цифра> 1 <иелое число><цифра>

Но в таком случае появлялись бы записи чисел с незнач;

Напр1!'-ер. вместе с числом 125 было бы возможным и число

Заметим, что никаких данных о смысле получг нотация Бекуса дать не может.

О формальных языках, наделенных семантике