Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8_Vsi_razom.doc
Скачиваний:
4
Добавлен:
10.09.2019
Размер:
347.65 Кб
Скачать

7. Польський запис, тетради.

Альтернативою до індексної форми запису є інфіксна форма запису:

  • префіксна;

  • постфіксна.

Префіксна – операнди записуються після операції.

Постфіксна – операнди записуються перед операцією.

5 + 3 * 8

Префіксна 5, 3, 8, *, +

5, 24, +

29

Префіксна:

5, 3, 8, *, + => 8, 8,* => 8 * 8 = 64

(5 + 3) * (4 - 2) / 8

5, 3, +, 4, 2, -, *, 8, /

Крім польської форми запису використовують такі форми представлення програм як дерева і тетроди.

Тетради – 4-ка, яка скл. З коду операції приймача і 2 операндів.

Якщо необх. 1 оп. То тетрода наз. виродженою.

Част. Вх.. виразу

Опер. Код.

Приймач

Операнд 1

Операнд 2

a + b →T1

+

T1

a

b

T1 * C → T2

*

T2

T1

C

i:= T2

:=

i

T2

-

  1. +; T1; a; b;

  2. *; T2; T1; c;

  3. :=; I; T2.

Алгоритм обчислення польської форми запису:

  1. Переглядаємо послідовність символів вхідного ланцюга.

  2. Якщо наступний символ є операнд(ідентифікатор чи константа) то читаємо далі.

  3. Якщо наступний символ є операція, то якщо бінарна, то з вх.. ланцюга беремо 2 операнди, що перед операцією, виконуємо цю операцію і результат записуємо назад в цю послідовність замість цих елементів. Так ідемо далі доки не виконаємо останню операцію.

8. Формальне визначення мови, операції над мовами.

Фраза – кінцева послідовність слів мови.

Якщо існує механізм побудови фраз і механізм визначення їх коректності і механізм їх розпізнавання, то можна говорити про існування деякої теорії розглянутої мови.

Мова L – множина ланцюгів скінченної довжини в алфавіті ∑(сігма).

Мову можна задати:

  • шляхом повного перерахування;

  • скласти скінченний опис мови.

Один з найефективніших описів є граматика.

Операції над мовами:

Нехай є множина L = {A, B, …, Z, a, …, z}

D = {0, 1, …,9}.

1. Множина L являє собою алфавіт з великих і малих букв, а D – алфавіт, що скл. З арабських цифр.

2. Всі ці символи можна розглянути як символи з довжиною 1.

  1. L U D – об’єднання.

  2. LD – множина, що скл. З 2-х символьних слів 1-буква 2-цифра: A0, Z5,…

  3. Ln , де n – число – множина всіх слів довж. n, які скл. з символів множини L.

Li = Li-1 L

L0 = ε

L1 = L0 L = εL = L

  1. L* - множина всіх букв + ε

L(LUD)* (визнач. ідентифікатора)

D+

9. Граматики

1 Граматика- це математична система яка визначає мову(математичний опис мови).

Классификация грамматик

Согласно Хомскому, формальные грамматики делятся на четыре типа. Для отнесения грамматики к тому или иному типу необходимо соответствие всех её правил (продукций) некоторым схемам.

Тип 0 — неограниченные

К типу 0 по классификации Хомского относятся неограниченные грамматики (также известные как грамматики с фразовой структурой). Это — все без исключения формальные грамматики. Для грамматики G(VT,VN,P,S), V=VT∪VN все правила имеют вид:

α→β, где α — любая цепочка, содержащая хотя бы один нетерминальный символ, а β — любая цепочка символов из алфавита.

Практического применения в силу своей сложности такие грамматики не имеют.

Тип 1 — контекстно-зависимые

К этому типу относятся контекстно-зависимые (КЗ) грамматики и неукорачивающие грамматики. Для грамматики G(VT,VN,P,S), V=VT∪VN все правила имеют вид:

αAβ→αγβ, где α, β∈V*, γ∈V+, A∈VN. Такие грамматики относят к контекстно-зависимым.

α→β, где α, β∈V+, |α|≤|β|. Такие грамматики относят к неукорачивающим.

Эти классы грамматик эквивалентны. Могут использоваться при анализе текстов на естественных языках, однако при построении компиляторов практически не используются в силу своей сложности. Для контекстно-зависимых грамматик доказано утверждение: по некоторому алгоритму за конечное число шагов можно установить, принадлежит цепочка терминальных символов данному языку или нет.

Тип 2 — контекстно-свободные

К этому типу относятся контекстно-свободные (КС) грамматики. Для грамматики G(VT,VN,P,S), V=VT∪VN все правила имеют вид:

A→β, где β∈V+ (для неукорачивающих КС-грамматик, β∈V* для укорачивающих), A∈VN. То есть грамматика допускает появление в левой части правила только нетерминального символа.

КС-грамматики широко применяются для описания синтаксиса компьютерных языков (см. грамматический анализ).

Тип 3 — регулярные

К третьему типу относятся регулярные грамматики (автоматные) — самые простые из формальных грамматик. Они являются контекстно-свободными, но с ограниченными возможностями.

Все регулярные грамматики могут быть разделены на два эквивалентных класса, которые для грамматики вида III будут иметь правила следующего вида:

A→Bγ или A→γ, где γ∈VT*, A, B∈VN (для леволинейных грамматик).

A→γB; или A→γ, где γ∈VT*, A, B∈VN (для праволинейных грамматик).

Регулярные грамматики применяются для описания простейших конструкций: идентификаторов, строк, констант, а также языков ассемблера, командных процессоров и др.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]