Page 8 - 4761
P. 8

Описати формальну граматику мови можна задавши множину правил, за якими із
                  символів  алфавіту  будуються  такі  послідовності  символів,  що  належать  даній  мові  і
                  називаються правильними словами.
                         Ці правила дозволяють замінити символи або рядки символів другими символами
                  чи  рядками.  Наприклад,  є  початкове  слово  add  ,  яке  можна  замінити  на  А+В,  а  А  і  В
                  любими  невід’ємними  цілими  числами    <10.  Користуючись  цим  правилом  А  можна
                  замінити на 3 і В на 2, отримавши 3+2. Якщо А буде 5 , а В замінити на  6, то 5+6.
                          При  введенні  додаткового  правила  про  заміну  А  на  А+В,  отримаємо  А+В+В.
                  Оскільки    А  можна  замінити  як  на  А+В,  так  і  на  ціле  число,  то  при  заміні  символів
                  однозначності  не  треба.  Крім  того,  і  одне  і  друге  В  в  виразі  А+В+В  не  обов’язково
                  заміняти одними і тими ж символами. Наприклад:
                                                            A      B   B

                                                                         
                                                            3      5     7
                         З другого боку, можна замінити А на А +В і отримати А+В+В+В і продовжувати
                  будувати суми довільної довжини.
                         В приведених правилах символи add , А і В можна заміняти другими символами, а
                  символ  «+»  і  цілі  числа  –  ні.  Символи,  які  можна  замінити  другими  символами
                  називаються  нетермінальними,  а  символи,  які  не  можна  замінити  називають  –
                  термінальними.  Правила,  які  вказують,  як  заміняти  символи  називають  –  продукціями.
                  Позначимо продукцію (чи правило), зміст якого в тому, що add можна замінити на А+В,
                  через add A+B.
                         Таким чином, правило для першого з наведених прикладів має вигляд:
                                                       a   d   d       A      B
                                                       A      0        B      0
                                                       A      1        B      1
                                                       ...  ...  ...    ...  ...  ...

                                                       A      9        B      9
                         Якщо додати правило, що А можна замінити на А+В, то
                                          a   d   d      A      B
                                                                             A      A    B
                                                  A      0
                                                                             B      0
                                                  A      1
                                                                             ...  ...  ...
                                                 ...  ...  ...
                                                                             B      9
                                                  A      9
                         Граматика мови програмування має правила 2-ох типів:
                               1)      визначає  синтаксичні  конструкції  мови  і  досить  легко  піддається
                  формальному опису;
                               2)      визначає  семантичні  обмеження  і,  як  правило,  подається  в
                  неформальній формі.
                         Синтаксис  мови  –  це  набір  правил,  які  визначають  допустимі  конструкції  мови.
                  Синтаксис  задає  набір  ланцюгів  символів,  які  належать  мові,  наприклад,  3+2  –
                  арифметичний вираз, а 32+ – ні.
                         Семантика мови – це розділ мови, який визначає значення речень мови, визначає
                  «зміст мови» (наприклад, 3+2 – це сума 3 і 2, а 3+2=5 – істинний вираз).
                         Лексика – сукупність слів мови. Лексика – це конструкція, яка складається з слів
                  алфавіту мови і не містить в собі інших конструкцій (містить тільки елементарні символи)
                  ключові слова, ідентифікатори, константи, мітки, знаки.




                                                                6
   3   4   5   6   7   8   9   10   11   12   13