Первый способ (трансляция): подразумевает замену каждой команды на языке Я1 эквивалентным набором команд на языке Я0. В этом случае компьютер исполняет новую программу, написанную на языке Я0, вместо старой программы, написанной на Я1. Второй способ (интерпретация): создаем на языке Я0 программу, получающей в качестве входных данных программы, написанные на языке Я1. При этом каждая команда языка Я1 обрабатывается поочередно, после чего сразу исполняется эквивалентный ей набор команд языка Я0. Эта технология не требует составления новой программы на Я0, а программа, которая осуществляет интерпретацию, называется интерпретатором. Сходство: в обоих случаях компьютер в конечном итоге исполняет набор команд на языке Я0, эквивалентных командам Я1. Сходство: в обоих случаях компьютер в конечном итоге исполняет набор команд на языке Я0, эквивалентных командам Я1. Отличие: при трансляции вся программа Я1 переделывается в программу Я0, программа Я1 отбрасывается, а новая программа на Я0 загружается в память компьютера и затем исполняется. Во время выполнения сгенерированная программа на Я0 управляет работой компьютера. при интерпретации каждая команда программы на Я1 перекодируется в Я0 и сразу же исполняется. Транслированная программа при этом не создается. Работой компьютера управляет интерпретатор, для которого программа на Я1 есть не что иное, как «сырые» входные данные. Оба подхода широко используются как вместе, так и по отдельности. Многоуровневая машина - Представим себе существование виртуальной машины, для которой машинным языком является язык Я1. Назовем такую виртуальную машину Ml, а виртуальную машину для работы с языком Я0 — М0.
- Язык ориентированный на человека, будем называть Я2, а соответствующую виртуальную машину — М2.
Достарыңызбен бөлісу: |