Skip to content

Instantly share code, notes, and snippets.

@a1ip
Created September 21, 2017 23:49
Show Gist options
  • Save a1ip/1855e6d993c7556501be9c90954d14cf to your computer and use it in GitHub Desktop.
Save a1ip/1855e6d993c7556501be9c90954d14cf to your computer and use it in GitHub Desktop.
Интерпретация и компиляция

Транслятор представляет собой программу, на основе которой компьютер преобразует вводимые в него программы на машинный язык, поскольку он может выполнять программы, записанные только на языке его процессора, и алгоритмы, заданные на другом языке, должны быть перед их выполнением переведены на машинный язык.

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Результат работы компилятора — бинарный исполняемый файл.

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

После того, как программа откомпилирована, ни исходный текст программы, ни компилятор более не нужны для исполнения программы. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. То есть исходный файл является непосредственно исполняемым.

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию - в зависимости от того, для каких целей он создавался. Например, С++ обычно используется для решения довольно сложных задач, в которых важна скорость работы программ, поэтому данный язык реализуется с помощью компилятора.

Для достижения большей скорости работы программ на интерпретируемых языках программирования может использоваться трансляция в промежуточный байт-код. Языками, позволяющую данную хитрость являются Java, Python и некоторые другие языки программирования.

АЛГОРИТМ РАБОТЫ ПРОСТОГО ИНТЕРПРЕТАТОРА:

  1. прочитать инструкцию;
  2. проанализировать инструкцию и определить соответствующие действия;
  3. выполнить соответствующие действия;
  4. если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment