Lc2_2015_ПДС
.pdfсложность реализации эффективного транслятора
сверхвысокий
уровень
высокий
уровень
низкий
уровень
основная черта высокоуровневых языков — это абстракция, то
есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания
в высокоуровневом языке программирования может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором в машинных кодах
ТРАНСЛЯТОР
программа vs скрипт
программа - последовательность инструкций, выполняемых компьютером (операционной системой)
скрипт - последовательность инструкций (сценарий), выполняемых только определенной программой (приложением) поддерживающей исполнение данного скрипта
программа (приложение) - создается (транслируется) компилятором
.exe
010011
100110
компилятор 111000
скрипт - выполняется интерпретатором
компилятор
компилятор vs интерпретатор
компилятор - (программа) читает текст на языке программирования и транслирует его в машинный код (программу, приложение), который непосредственно выполняется на компьютере
.exe
010011
100110
компилятор 111000
интерпретатор - (программа) читает скрипт, анализирует инструкции, обрабатывает и непосредственно выполняет без предварительной компиляции
компилятор
компилятор - создает целевую программу один раз для
многократного выполнения
.exe
|
|
|
010011 |
.exe |
|
|
.exe |
||
|
|
.exe |
010011 |
|
|
|
|
100110 |
|
|
|
|
111000 |
100110 |
|
|
|
||
|
010011 |
010011 |
||
компилятор |
100110 |
100110 |
111000 |
|
|
111000 |
111000 |
|
|
|
|
|
|
|
интерпретатор – загружается (работает) при каждом выполнении скрипта
компилятор
интерпретатор |
компилятор |
достоинства по сравнению с |
недостатками |
|
|
Кроссплатформенность (при |
для разных платформ |
наличии соответствующих |
соответствующие компиляторы |
интерпретаторов) |
|
|
|
Упрощение отладки и скорость |
компиляция может занять |
разработки (при интерпретации |
длительное время |
выполнение начинается |
|
незамедлительно) |
|
|
|
недостатки по сравнению с |
достоинствами |
|
|
Скрипт не может выполняться |
скомпилированная программа |
отдельно без интерпретатора |
непосредственно выполняется на |
|
компьютере |
|
|
Скрипт выполняется медленнее |
скомпилированная программа - |
(требуется предварительный анализ |
оптимизированный машинный код |
и обработка инструкций, |
непосредственно выполняемый |
практически отсутствует |
компьютером |
оптимизация) |
|
|
|