Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на модуль 1 ОП.docx
Скачиваний:
8
Добавлен:
24.11.2019
Размер:
926.17 Кб
Скачать

7) Лексичний рівень інкапсуляції. Алфавіт мови. Лексеми. Лексичний аналіз. Лексичний устрій тексту програм.

Застосовуючи принцип інкапсуляції на рівнях подання структури програми, які відповідають різним ступеням абстракції програмного забезпечення, підходимо до поняття рівня інкапсуляції [64]. Скориставшись цим поняттям, можна з’ясувати типи програмних конструкцій та відповідні методи конструювання програм.

Рівень інкапсуляції

Інкапсульо-вувані частини програм

Утворювана капсула (конструктція)

Метод програмування

Засоби програмування та механізми

Лексичний

Символи алфавіту мови

Лексема

Правила утворення лексем (позначень) і виразів із них

Мова програмування, оператор присвоювання

Операторний

Лексеми

Оператор структурний

Структурне програмування

2 GL*, 3GL, операторний базис вибору, повторення та зчленування, блок

Підпрограмний

Оператори

Підпрограма (процедура, функція, макрос)

Підпрограмне програмування

3 GL, бібліотеки макросів, процедур та функцій, незалежна компіляція, об’єкт

Модульний

Оператори опису, макроси процедури, функції

Модуль (пакет)

Модульне програмування

3 GL, середовище програмування, механізми, видимості інформації, роздільна компіляція

Класний

Оператори опису, макроси процедури, функції

Клас

Об’єктно-орієнтоване програмування

4 GL, класи об’єктів, механізми, успадкування поліфоризму

Мегамодуль-ний

Програми, модулі, класи (знання подовження керування)

Мегамодуль

Мегапрограму-вання

5 GL (MPL**), колекції мегамодулів, гетерогенний інтерфейс

Алфавіт(alphabet) будь-якої мови програмування складається із символів (літер), поданих у спеціальній таблиці American Standard Cod Information Interchange ASCII (Табл. 6.1). Зазвичай алфавіт складається з 52 великих і малих літер, 10 десяткових цифр та спеціальних символів, таких, скажімо як +, -, *, >.

Символи алфавіту не відіграють у мові самостійної ролі, проте вони використовуються для побудови лексем. З одного боку, лексеми (lexeme) – це найпростіші програмні конструкції, що становлять словниковий запас мови. А з другого боку, лексеми – це капсули, що інкапсулюють символи алфавіту.

У лексемі-капсулі можна встановити деякий порядок (послідовність) символів, який дає поняття межі капсули (перший і останній символи капсули) та використовується програмою, що входить до складу транслятора. Цей порядок дає змогу говорити про вхід в капсулу та вихід із неї. Програма транслятора, яка аналізує лексеми, перевіряючи правильність їх написання виконує лексичний аналіз (lexical analisys), і називається лексичним аналізатором (lexical analiser), або сканером (scanner) [35]. Крім аналізу сканер виконує кодування лексем, і вилучає пробільні символи та символи, що належать до коментарів, внесених у програму. Текст програми, що складається з кодів лексем, використовується у процесі синтаксичного аналізу, що виконується слідом за лексичним аналізом, який також здійснює відповідна програма трансляторa.

Із погляду лексичного рівня інкапсуляції текст програми може складатися із таких конструкцій:

 пробільні символи;

 коментарі;

 лексеми.

Пробільні символи (escape symbols) – це символи, використовувані для відокремлення лексем і полегшення читання програми. До пробільних належать такі символи (див. Табл. 6.1): пробіл, табуляція, новий рядок.

Коментарі (comments) – це послідовності символів, що не належать тексту програми (мові), обмежені спеціальними символами й використовуються для опису пояснень у програмі. Наприклад, коментар у мові Pascal – {це коментар у мові Pascal}, коментар у мові С – /*це коментар у мові С*/.