Конвертер програми з підмножини мови Сі в Паскаль з використанням LL (1) методу синтаксичного аналізу (вираження) "
Курсова робота
Виконали студенти групи ІАС-00 Мардасова У. А. Шалудько В. А.
Кемеровський Державний Університет, Факультет Інформаційних Технологій
Новокузнецьк, 2002р.
Введення
При знайомстві з мовою СІ, особливо після вивчення Паскаля і Бейсіка, занурення в деталі його образотворчих засобів може затушувати важливу думку: хоча на СІ можна написати практично будь-яку прикладну програму, він спочатку для цього не призначений. СІ є результатом еволюційного розвитку мов створення системних програмних засобів. Якщо в прикладному програмуванні еволюція йшла від Фортрану до Алгол, Кобол, Паскалю і т.д., то в системному - від Асемблер, прив'язаних до архітектури ЕОМ, до СІ, для якого створені транслятори, що роблять його хоч і незалежним від архітектури, але не змінює основного призначення.
З допомогою ЗІ можна зробити те, що на Паскалі зробити неможливо (або майже неможливо) - наприклад, написати фрагмент операційної системи (або нову операційну систему), утиліти і т.п. Так, ряд трансляторів з Паскаля написані на СІ; зворотне неможливо уявити. У той же час, не раз наголошувалося, що прикладні програми, написані на Паскалі, відрізняються більшою надійністю, ніж написані на СІ; їх легше читати, передавати від одного програміста іншому для вдосконалення і супроводу. Це пов'язано з тим, що Паскаль містить істотно більше обмежень і є мовою більш високого рівня з сильною типізацією даних. Для мови ж, який призначений для розробки системного програмного забезпечення, чим менше обмежень, тим краще; так, в СІ можливі неявні перетворення всіх базових типів даних і покажчиків одне в одного, що вкрай бажано при створенні системних засобів, але при неуважності програміста призводить до помилок, не вловлює транслятором з СІ (Паскаль ж подібні неприпустимі операції припиняє негайно).
Зрозуміло, сказане вище не слід абсолютизувати. Програмісти, звикли до СІ, успішно пишуть на ньому програми різних класів. Це стосується не тільки СІ - згадайте про експертних системах, написаних на Бейсіку. У той же час, при масовому програмуванні дотримуватися "розподіл праці" між мовами представляється більш природним.
Широкій популярністю Паскаля серед програмістів сприяють наступні причини:
Завдяки своїй компактності, вдалому початкового опису Паскаль виявився досить легким для вивчення.
Мова програмування Паскаль відображає фундаментальні та найбільш важливі концепції (Ідеї) алгоритмів в очевидною і легко сприймається формі, що надає програмісту кошти, допомагають проектувати програми.
Мова Паскаль дозволяє чітко реалізувати ідеї структурного програмування і структурної організації даних. p> Мова Паскаль зіграв велику роль у розвитку методів аналітичного доказу правильності програм і дозволив реально перейти від методів нал...