LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

Алгоритм тут слишком расплывчато, скорей абстрактная машина вкупе с алгоритмом.

Алгоритм тут это тотальный алгоритм, в смысле Кнута и т.п., http://en.wikipedia.org/wiki/Algorithm.

Проще говоря, переписывает текст. Это и есть компиляция.

http://en.wikipedia.org/wiki/Translator_(computing), компилятор это разговорный смысл для «высокий уровень» -> «низкий уровень», бывает ещё декомпилятор и т.п.

Какую семантику?

Чем отличается компилятор от интерпретатора? (комментарий), две последние ссылки.

Грубо говоря, если write(read() + read()) имеет вполне чёткую семантику, то и результат трансляции должен иметь её же — нельзя транслировать во что попало, и так для всех программ — иначе это не трансляция (произвольная функция между языками с известной семантикой это не трансляция).

Исходная версия quasimoto, :

Алгоритм тут слишком расплывчато, скорей абстрактная машина вкупе с алгоритмом.

Алгоритм тут это тотальный алгоритм, в смысле Кнута и т.п., http://en.wikipedia.org/wiki/Algorithm.

Проще говоря, переписывает текст. Это и есть компиляция.

http://en.wikipedia.org/wiki/Translator_(computing), компилятор это разговорный смысл для «высокий уровень» -> «низкий уровень», бывает ещё декомпилятор и т.п.

Какую семантику?

Чем отличается компилятор от интерпретатора? (комментарий), две последние ссылки.

Грубо говоря, если write(read() + read()) имеет вполне чёткую семантику, то и результат трансляции должен иметь её же — нельзя транслировать во что попало, и так для всех программ — иначе это не трансляция (произвольная функция между языками это не трансляция).