Зворотний зв'язок

ПАСКАЛЬ: МОВА ТА МЕТАМОВА

виводяться і <означення> <підмет>, і <підмет>.

Приклад 2. Розглянемо оператори присвоювання змінним, іменами яких можуть бути лише x, y, z, а вирази у правій частині можуть бути або сталими 1 і 2, або іменами x, y, z, або сумою чи різницею цих сталих і змінних. Головним тут, очевидно, є поняття <оператор присвоювання>:

<оператор присвоювання> ::= <ім'я> ':=' <вираз>

Вираз складається зі сталих і імен. Узагальнимо їх поняттям <первинне>, і запишемо БНФ виразів і первинних:

<вираз> ::= <первинне> | <первинне> '+' <первинне> |

<первинне> '-' <первинне>

<первинне> ::= <стала> | <ім'я>

БНФ сталих і імен очевидні:

<стала> ::= '1' | '2'

<ім'я> ::= 'x' | 'y' | 'z'Записана сукупність БНФ задає синтаксис операторів присвоювання, а також виразів, сталих і імен. Крім того, задано множини конкретних імен, сталих, виразів і операторів присвоювання.

Підіб'ємо підсумок. БНФ – це вираз у алфавіті, що складається з терміналів, нетерміналів і спеціальних метасимволів. БНФ мають цілком визначений синтаксис (нетермінал, потім знак '::=' і метавираз). Їхньою семантикою є задання структури і множин представників понять, позначених нетерміналами. Таким чином, ми маємо мову БНФ. Вона призначена для описання інших мов і називається метамовою.

Існують різні метамови; деякі з них задаються строго й точно засобами логіки і математики і тому називаються формальними. Мова БНФ, описана тут неформально, насправді є окремим випадком формальної метамови – мови формальних граматик.

Мова БНФ була створена спеціально для описання синтаксису виразів мов програмування. З цією метою її використовуємо й ми.

3. Розширені БНФ

Доповнимо мову БНФ кількома зручними конструкціями. Тут нам знадобиться ще одне поняття – еквівалентність БНФ. Дві сукупності БНФ називаються еквівалентними, якщо задають ту саму формальну мову.

Для запису еквівалентних БНФ у більш короткому і наочному вигляді алфавіт метасимволів розширюється символами "(", ")", "[", "]", "{", "}". Метавирази з такими символами називаються розширеними, а БНФ – розширеними БНФ, або скорочено РБНФ. Розглянемо побудову РБНФ.

Нехай букви X, Y, Z, … , T позначають довільні метавирази (можливо, порожні), N – нетермінал.

Заміною кількох правил вигляду

N ::= X Z Y



N ::= X T Y

у деякій сукупності БНФ на правило вигляду


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат