Представлення оператора Паскаля While за допомогою КС-граматики

Специфіка формально лінгвістичного підходу до опису безлічі ланцюжків починає проявлятися при розгляді вужчих класів граматик. Загальноприйнятою класифікацією граматик і породжуваних ними мов є ієрархія Хомского, що містить чотири типи граматик. Однією з них є КС - граматика.

КС - мови є найбільш вивченими класом. Це пояснюється тим, що з одного боку КС-граматики виявилися дуже відповідним апаратом для опису будови природних мов і особливо мов програмування. З іншого боку, завдяки відносній простоті і змістовності структури КС-мов і наявності зручних засобів її опису дослідження їх представляє значний практичний інтерес.

Поява поняття КС-граматики практично співпала з розробкою мета мови Бекуса (чи нормальної форми Бекуса), яка була уперше використана при описі мови програмування АДГОЛ, - 60 і швидко став загальноприйнятим засобом формального опису мов програмування. Описом мови за допомогою нормальних форм Бекуса є сукупність так званих "металінгвістичних формул" - виразів виду Х::=Y1|Y2|.. |Yn, де Х - деякий текст ув'язнений в кутові дужки і званий металінгвістичною змінною, а Y1, .., Yn - послідовність металінгвістичних змінних і основних символів мови (букв, цифр, роздільників, неділимих слів типу "begin" і тому подібне). Знак ::= називається металінгвістичною зв'язкою і читається як "є" або "це". Знак |- це металінгвістична зв'язка "або". Металінгвістична змінна є ім'ям конструкції мови.

Металінгвістична формула в цілому - це опис різних синтаксичних варіантів побудови конструкцій Х, що стоїть в лівій частині, через інші конструкції і символи мови, вказані в правій частині. Перерахування варіантів представлення виробляється з використанням зв'язки "або".

Розглянемо як приклад для КС-граматики оператор Паскаля While.

У – умова

ЗМ – змінна

Д - дія

СС – службовий знак

Б – буква

Ц – цифра

БЦ – БЦ - ланцюг

Ч – число

ОП – оператор

КС – ключове слово

<КС1><УМ><КС2><Д>

<КС1> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru While

< КС2> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru Do

<У> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <ЗМ> <СС> <ЗМ>

<У> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <_ЗМ> <СС> <Ч>

<ЗМ> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Б>

<ЗМ> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Б> <БЦ>

<Б> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <А>

<Б> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <а>

<Б> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <B>

.

.

.

<Б> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Z>

<Б> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <z>

<БЦ> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Б> <БЦ>

<БЦ> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Ц> <БЦ>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <1>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <2>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <3>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <4>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <5>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <6>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <7>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <8>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <9>

<Ц> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <0>

<СС> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru << >

<СС> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru < >>

<СС> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru < = >

<СС> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <<= >

<СС> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <>= >

<Ч> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Ц>

<Ч> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <Ц> <Ч>

<Д> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <begin> <ОП> <end>

<ОП> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <ЗМ><ЗМ>

<ОП> Представлення оператора Паскаля While за допомогою КС-граматики - student2.ru <ЗМ><Ч>

Наши рекомендации