Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
114
Добавлен:
02.05.2014
Размер:
393.73 Кб
Скачать

1.Строки.Префиксы, суффиксы, подстроки. Языки.

Строка – это конечная последовательность символов а1, а2,…,аn, каж-й из кот-х принадлежит некоторому конечному алф-ту Σ, при этом символы в строке могут повторяться.

Пустой строкой наз-т ε-строку ее длина-ноль, т.е.без единого символа.(не=пробелу). |x|=m-длина строки, т.е.строка содержит m символов.

Пусть Σ-некот-й алф-т, обозначим Σ* мн-во опред-х над этим алф-м строк. Для Σ={0,1}; Σ*= {ε,0,1,01,11,10,101,…} видно, что н-во Σ* - предс-т собой бесконечное счетное мн-во элем-в, ε-строка всегда  Σ*

Пусть сущ-т строка х Σ* и |x|=m

Пусть сущ-т строка y Σ* и |y|=n, тогда объединение строк ху им.длину |xy|=m+n – конкатенация.

Если х= а1, а2,…,аm; у= b1, b2,…,bn то |xy|= а1а2…аmb1b2...bn

Если некоторая срока z м.б.представлена как объединение строк х и у: z=ху, то строку х наз-т префиксом строки z, а строку у-суффиксом. Если строка z т.ч.ее м/о представить как объединение 3х строк z=xwy, то строка w н-ся подстрокой строки z.

//z=аcab

префиксы: ε,a,ac,aca,acab

суффиксы: ε,b,ab,cab,acab

подстроки: ε,a,b,c,ac,ca,ab,aca,cab,acab

Разв-е теории и ср-в искус.интелекта позволяет надеяться на то, что взаимод-е чел-ка и ком-ра в недалеком будущем буд/т осуществляться на языке, близком к естественному. Но в наст.время, прог-ты в основном описывают задачи на формальных языках, на языках высокого уровня и иногда на ассемблере. Прог-мы, написанные на алгоритмических языках становятся доступными ком-ру, т/о после их трансляции, т.е.преобразования команд выс.ур/ня в машинные инструкции. Теория построения трансляторов базируется на теории формальнх языков, особенно в части синтакс. и семантического разбора. (семантика – смысл, синтаксис – грамматика).

Формальным языком L над алф-ом Σ н-ся произвольное подмн-во мн-ва Σ*.

Если L1 и L2 это 2а формальных языка, то их объединение есть нов.форм.язык, т.ч.L= L1L2{xy| хL1,уL2 }

// L1={0,01} и L2={ε,0,10}значит L= L1L2={0,01,00,010,010,0110}

L0= ε, L1=L, L2=L*L -объединение форм.языка L с самим собой:

Замыкание Клини форм.языка L н-ся .Тогда, тогдаL*=L+U{ε}, анологично, можно записать замыкание Клини для мн-ва строк.

2. Форма Бэкуса-Наура. Дерево вывода. Синтакс-е и семан-е деревья.

Правила, определяющие мн-ва текстов образ-т сиснтаксис языка, а описание мн-ва смыслов и соответствий м/у текстами и смыслами – семантику языка. Если в ест.языке допуск-ся некорректности в синтаксисе и м.б.понятен смысл предложения, то в формальных языках предложение в первую очередь должно быть правильным синтаксически.

Ф-ла Бэкуса-Наура(БНФ) исп-ся для описания синтаксиса языков прогр-ия, она использует след-щие 4 символа:

  1. ::= присвоить; 2) < - открыть; 3) > - закрыть; 4) | - или

//The man drives a car.

<простое предложение>::=<подфраза сущ-го><глагол><подфраза сущ-го>;

<подфраза сущ-го>::=<артикль><имя сущ-ое>;

<имя сущ-ое>::= man,

<имя сущ-ое>::=car,

<артикль>::=the,

<артикль>::=a,

<глагол>::=drives

Связи, задаваемые ф-лой Б-Н м.б.представлены и графически в виде дерева-вывода:

м/о построить мн-во простых предложений, удовлетворяющих дан.структуре и синтаксически правильных, но не все они буд.им.смысл.( The car drives a man).

Разбор арифмет-го выражения.

<выражение>::=<терм>|<выражение>+<терм>|<выражение>-<терм>;

<терм>::= <множитель>|<терм>*<множ-ль>|<терм>/<множ-ль>;

<множ-ль>::=<а|b|c|(<выраж-е>).

E→T|E+T|E-T;

T→F|T*F|T/F;

F→a|b|c|(E).

Дерево вывода:

Семантическое дерево

Соседние файлы в папке Шпоры по теории автоматов