Мова програмування високого рівня: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м автоматична заміна {{Не перекладено}} вікі-посиланнями на перекладені статті
Uawikibot1 (обговорення | внесок)
м Ієрархія заголовків. WikiProject Check Wikipedia ID #25
Рядок 21:
Існують три основні режими виконання для сучасних мов програмування високого рівня:
 
==== [[Інтерпретована мова програмування|Інтерпретація]] ====
Коли написаний на мові корд інтерпретується, то його синтаксис читається, а потім виконується безпосередньо, без стадії компіляції. Програма, яка називається ''інтерпретатором'' після запуску програми читає кожну [[Інструкція (програмування)|інструкцію]] програми, слідуючи за течією виконання програми, і вирішує, що робити, і робить це. Гібрид інтерпретатора і компілятор компілює інструкцію в машинний код і виконує це; машинний код потім відкидається, щоб бути інтерпретованим заново, якщо лінія виконується знову. Інтерпретатори, як правило, найбільш прості варіанти реалізації поведінки мови, в порівнянні з іншими наведеними тут двома варіантами.
 
==== [[Компільована мова програмування|Компіляція]] ====
Коли код, написаний на мові, компілюється, його синтаксис перетворюється у виконувану форму перед запуском. Є два типи компіляції:
 
Рядок 33:
Коли код, написаний на мові, компілюється в проміжне представлення, то таке проміжне представлення може бути оптимізовано або збережено для подальшого виконання без необхідності повторного читання початкового коду. Проміжне представлення може бути збережене, наприклад, у формі [[байт-код]]у. При виконанні, проміжне представлення згодом інтерпретується або додатково компілюється. [[віртуальна машина|Віртуальні машини]] далі можуть виконувати його безпосередньо або ж трансформувати його в машинний код. Таким чином межа між мовами з проміжним представленнями і дійсно компільованими мовами програмування є розмитою і нечіткою.
 
==== Транс-компіляція ====
Код, написаний на мові високого рівня, може бути перекладений на мову програмування низького рівня, для якої є широкодоступний рідний компілятор коду або на іншу мову високго рівня. Такі перекладачі існують для мов [[JavaScript]] і [[C (мова програмування)|мова програмування C]]. Як приклад дивіться також [[CoffeeScript]], {{нп|Chicken Scheme||en|Chicken Scheme}} і [[Eiffel]]. Зокрема, згенерований C і C++ код у середовищі {{нп|EiffelStudio||en|EiffelStudio}} IDE з мови програмування Eiffel, можна подивитись в каталозі EIFGENs будь-якого скомпільованого проекту Eiffel. В Eiffel, процес «Перекладення» називається Транс-компіляція або Транс-скомпільований і компілятор Eiffel як Transcompiler.