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

6. Формальные языки и грамматики.

Цепочки символов и операции над ними.

Ц.с. – это произвольная последовательность символов,записанных один за другим.

Для цс важен состав, кол-во символов и порядок. Цс α и β равны α=β или совпадают,если они имеют один и тот же состав символов,одно и то же их кол-во,одинак-ый порядок следованиясимволов в цепочке.Кол-во символов в цепочке наз длиной.

Цс обладают след св-ми:

1)Конкатенация – объединение или сложение 2-х цепочек αβ

α=“BA”

β=“CL” => αβ=“BACL”

Операция конкатенации не обл св-вом коммут-ти αβ≠βα. Обл св-м ассоциат-ти (αβ)γ=α(βγ)

2)обращение цепочки – запись символов цепочки в обр порядке αR, α=“ВАСЯ” => αR=“ЯСАВ” Для данной операции справедливо (αβ)RRβR

3)итерация – повторение цепочки n раз

4)пустая цепочка символов – это цепочка, не сод-щая ни одного символа – λ для пустой цепочки справедливо: 1) |λ|=0; 2) для любого α: λα=αλ=α; 3)λR=λ; 4) для любого n≥0:λn=λ; 5)для любого α: α0

7. Понятие языка

Язык – это заданный набор символов и правил,уст-х способы комб-ции этих симв-в м/у собой для записи осмысленных текстов.

Алфавит – счетное множ-во допустимых символов языка – V.

Цепочка сисмволов α явл цепочкой над алфавитом α(V), если в неё входят только символы принадлежащие мн-ву символов V.

V+ - мн-во всех цепочек над алф-м V без λ

V* - мн-во всех цепочек над алф-м с λ

V*=V+U{λ}

Язык L над алф-м V – L(V) это некоторое счетное подмн-во цепочек конечной длины из мн-ва всех цепочек над алф V.

Цепочку символов,принадлеж-ую заданному языку,наз предложением.

Язык можно задать 3 способами:1)перечисление всех допустимых цепочек; 2)указ-ие способа порождения предложений языка(грамматика); 3)опр-ие метода распознавания языка(распознаватель,автомат)

Лексика – сов-ть слов(слов запас)

Синтаксис – набор правил,определяющий допустимые конструкции языка(опр-ет форму языка)

Семантика – раздел языка,опр-щий значение предложений языка(опр-ет сод-ие языка)

Часто формальные языки лишены смысла.

Для задания языка прогр-ия необх решить след задачи:1)опр-ть допустимое мн-во символов языка;2)опр-ть мн-во правильных программ языка;3)задать смысл для каждой прав-ой программы

Определение грамматики языка.

Грамматика – это описание способа построения предложений некоторого языка.

Правило или продукция – это упор-ая пара цепочек симв-в (α,β), в пр-лах важен порядок цепочек (α→β α порождает β). Язык заданной грамматикой G=L(G). Грамматика опр-ся черверкой: G(VT,VN,P,S),где VT-мн-во терм симв-в, VN-мн-во нетерм симв-в, P-мн-во правил, S-целевой символ грамматики.

Рекурсия выр-ся в том,что 1 из нетермин символов опр-ся сам через себя. Рекурсия м.б. явной и не явной.

8. Запись грамматики в форме Бэкуса-Наура.

Данная форма записи предполагает:

1)α→β1, α→β2, …, α→βn

α→β1| β2|… |βn

2)все нетерм символы закл-ся в угл. скобках <A>

9. Запись правил грамматики с использованием метасимволов.

1.() – из всех перечисл-х внутри них цепочек в данном месте пр-ла гр-ки может стоять только одна

2.[] – указ-я в них цепочка может встр-ся в данном месте,а может и не встр-ся

3.{} – указ-я в них цепочка симв-в в данном месте правила гр-ки может не встр,встр 1 раз или много раз

4. , - исп-ся для того,чтобы разд-ть цепочку симв-в внутри ()

5. “ ” исп в тех случаях,когда 1 из метасимволов нужно вкл в цепочку обычным образом.