Лекція №1
Тема: Історія створення мови Паскаль. Особливості мови. Поняття про трансляцію програм. Типи трансляторів. Компілятор і його основні компоненти. Методи опису синтаксису мови. Синтаксичні діаграми. Алфавіт мови. Зарезервовані слова. Ідентифікатор. Визначений ідентифікатор.
План лекції
Програми і мови програмування
Історія створення мови програмування PASCAL.
Компілятори й інтерпретатори.
Модель компілятора.
Інтегроване середовище програмування.
Алфавіт мови програмування.
Лексеми: класифікація.
Характеристика лексем.
Програми і мови програмування.
Що таке програма і коли з’явилося це поняття? Історія програм починається з далеких 20-х років XIX століття, коли англійський дослідник Ч. Беббідж висунув ідею про попередній запис дій обчислювальної машини.
Перші програми призначалися для керування ткацькими станками. Вони записувалися на перфокарти, які були придумані Ч. Беббіджем і французьким винахідником Ж. Жаккаром. З цих перших програм почалася історія програмування. Приблизно в цей же час закладалися теоретичні основи програмування. Разом з Ч. Беббіджем працювала його сучасниця Ада Лавлейс (дочка великого англійського поета Джорджа Байрона), яку називають першим у світі програмістом. Вона ввела в науку про програмування терміни і поняття, що застосовуються і донині. До таких понять відноситься, наприклад, цикл – найважливіша базова структура будь-якої сучасної мови програмування. На честь першої програмістки була названа мова програмування Ада, розроблена вже в наш час.
У ХХ столітті з’явилися цифрові комп’ютери. Перші програми, що складалися для них, записувалися в машинних кодах. Програміст, щоб написати правильну програму, повинен був у деталях уявляти собі роботу обчислювальної машини. Програма писалась у машинних кодах.
Означення Машинні коди – набір двійкових кодів для роботи центрального процесора конкретного типу.
Таке написання програм сильно затрудняло спілкування людини з комп’ютером, тому програмісти стали серйозно задумуватися над кодуванням програм. Вони прийшли до висновку, що програма повинна складатися на мові, більш доступній людині, ніж мова машинних команд. Виникла необхідність у створенні мов програмування.
Означення Мова програмування – це штучна мова для написання команд, виконуваних комп’ютером.
Мова програмування складається з:
фіксованого словника
сукупності правил (синтаксису) написання команд.
Оскільки мова програмування обчислювальній машині не зрозуміла, то повинна існувати спеціальна програма, яка б переводила символи цієї мови в двійкові символи машинних команд. Така програма для перекладу символів, або, простіше говорячи, транслятор (від англійського слова translation переклад), була створена на початку 50-х років 20 століття американською програмісткою і одночасно контр-адміралом морських сил США Грейс Хопер.
Означення Транслятор – це програма, що переводить команди мови програмування в машинні коди.
З винаходом трансляторів роль машинних команд у програмуванні стала різко зменшуватися. Перші транслятори призначалися для мов Асемблера (мов низького рівня).
У 50 - 60-і роки почали створюватися мови програмування високого рівня.
Відзначимо, що мови, близькі до числового коду процесора, називають мовами низького рівня, а мови, зручні для людини, – мовами високого рівня. Мова найнижчого рівня – мова машинного кодування. Трохи вище лежить мова Асемблера, у якій машинні команди заміняються мнемонічними скороченнями, це дозволяло за текстом програми швидше зрозуміти на змістовному рівні, яку саме послідовність дій описує складена програма. Мови Асемблерів, як і машинні коди, є машинно-залежними мовами. Всі інші мови програмування є мовами більш високого рівня, ніж мова Асемблера, так як вони близькі до розмовних мов, оскільки дають змогу записувати команди у вигляді речень. Приклади таких мов: Фортран, Бейсик, Паскаль, Сі (мови процедурного типу); Пролог (мова логічного програмування); Visual Basic, Delphi (середовища візуального програмування).
Програма мовою програмування записується в текстовому редакторі і називається вихідним кодом (текстом). Цей код складається зі спеціальних команд – операторів мови програмування. За допомогою перекладача-транслятора вихідний код програми перетворюється в машинний код. Тепер уточнимо поняття програми.
Означення Програма – це упорядкований список команд, написаних на мові програмування за її правилами і призначених для виконання на комп’ютері.
Сам процес складання програм називається програмуванням. Програмування в даний час виросло в самостійну наукову дисципліну, його в тій або іншій мірі вивчають у школах, коледжах, вузах.
Процес програмування не вичерпується лише самим написанням програми. Кожну програму потрібно:
відлагодити (виявити та виправити в ній синтаксичні та логічні помилки),
перевести в машинні коди (відтранслювати),
протестувати (виконати програму декілька разів, вводячи при цьому такі набори вхідних даних, які дозволяють отримати різні варіанти відповідей),
зберегти програму у вигляді файлу для її подальшого використання.
Для автоматизації усіх цих етапів розробки програми використовують системи програмування.
У склад системи програмування входить:
екранний (текстовий) редактор,
засоби налагодження та трансляції програми в машинні коди,
засоби запуску програм на виконання,
засоби запису програм на диски
ряд інших засобів для реалізації різних сервісних функцій.