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

Мова та метамова

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

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

можна замінити на правило

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

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

N ::= X Z Y

N ::= X Y

на правило N ::= X [ Z ] Y також утворюється еквівалентна БНФ. Наприклад, замість правил

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

можна вжити правило

<вираз> ::= <первинне> [ ('+'| '-') <первинне> ]

або замість правил

<оператори-розгалуження> ::=

if <умова> then <оператор> else <оператор> |

if <умова> then <оператор>

– правило

<оператори-розгалуження> ::=

if <умова> then <оператор> [ else <оператор> ]

Іноді буває зручно позбутися якогось поняття, замінивши його нетермінал відповідним метавиразом, наприклад, замість нетермінала <первинне> з прикладу 10.2 записати метавиразом <стала> | <ім'я> або навіть '1' | '2' | 'x' | 'y' | 'z'. Таким чином, сукупність БНФ із прикладу 10.2 еквівалентна сукупності

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

<ім'я> ':=' ('1' | '2' | <ім'я>) [ ('+'| '-') ('1' | '2' | <ім'я>) ]

<ім'я> ::= 'x' | 'y' | 'z'

Зміст метасимволів "{", "}" означимо за допомогою такого прикладу.

Приклад 3. Ім'я, або ідентифікатор, у мовах програмування – це послідовність букв і цифр, що починається з букви. Нехай буквами є лише A, B, C, цифрами – 0 і 1. Ідентифікаторами в цьому алфавіті є, наприклад, A, B1, BC, C1CAAB0 тощо. Означимо сукупність БНФ, що задає їх синтаксис.


Реферати!

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







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

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

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