Page 6 - 4625
P. 6

ретну предметну область. У першому випадку ми будемо гово-
            рити  про  універсальні  мови  програмування  (Pascal,  Fortran,
            C++, C#), у другому – про спеціалізовані мови програмування
            (Snobol, Lisp).
                  Семантичний  аспект  (семантика  мови  програмування)
            визначається шляхом конкретизації базових функцій обробки
            даних, набору конструкцій управління та методами побудови
            більш «складних» програм на основі «простих».
                  Наприклад, визначивши як базовий тип даних «рядок»,
            ми повинні запропонувати «традиційний» набір функцій об-
            робки таких даних: порівняння рядків, виділення частини ряд-
            ка, конкатенацію рядків та ін.
                  Семантика  мови  програмування  має  бути  визначена
            формально, інакше в подальшому неможливо буде побудувати
            відповідальний  мовний  процесор.  На  сьогодні  існують  два
            основні напрямки визначення семантики мов програмування:
            методи денотаційної семантики та методи операційної семан-
            тики.  Методи  денотаційної  семантики  базуються  на  відпо-
            відних алгебрах, методи операційної семантики базуються на
            синтаксичних структурах програм.
                  Семантичний  аспект  (синтаксис  мови  програмування)
            визначає набір синтаксичних конструкцій мови програмуван-
            ня, які використовують для нотації (запису) семантичних оди-
            ниць у програмі. Про синтаксис мови програмування  можна
            сказати як про форму, яка є суть похідною від семантики. Для
            визначення (опису) синтаксису мови програмування викорис-
            товують як механізми, що орієнтовані на синтез, так і меха-
            нізми, орієнтовані на аналіз. Завдання аналізу та синтезу син-
            таксичних  структур  програм  –  це  дуальні  задачі.  Їх  конкре-
            тизацію ми будемо розглядати в наступних розділах.


                                            5
   1   2   3   4   5   6   7   8   9   10   11