LINUX.ORG.RU

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

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

Всё это уже обсудили. [1], [2].

Вот тупо интерпретатор сложения, тупой исполнитель. а потом бац — и в какие-то Z, S(a) сконпелировал. <LOL>откуда он знает???</LOL>

Об этом тоже говорилось. [3] — «не путаем с превращением ev в транслятор из (size_t, op[]) в size_t — речь про (size_t, op[]) -> asm». [4], [5] — «транслятора из строк в CPU код у тебя нет, я и говорю, что strlen это вырожденный пример интерпретатора (и транслятора, если говорить о трансляции в чистые значения, то есть о constant folding)». То есть функция делающая (интерпретатор!) ТвояАрифметика -> ЦелыеЧисла в транслятор ТвояАрифметика -> ЦелыеЧисла — не проблема (смотри там про частичные вычисления ссылку, это вырожденный случай на одном полюсе), а в транслятор ТвояАрифметика -> МашинныйКод? Более сложное «построение компилятора по интерпретатору» это подальше от вырожденного полюса.

В какой же именно момент здесь появляется транслятор?

Ну возьми пример проще, [6] — всё понятно. А сложнее — ну форт-, лисп-системы, там на всё есть свои (зацикленные) стадии выполнения и компиляции. И тоже понятно где что.

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

Всё это уже обсудили.

Чем отличается компилятор от интерпретатора? (комментарий)

Чем отличается компилятор от интерпретатора? (комментарий)

Вот тупо интерпретатор сложения, тупой исполнитель. а потом бац — и в какие-то Z, S(a) сконпелировал. <LOL>откуда он знает???</LOL>

Об этом тоже говорилось.

Чем отличается компилятор от интерпретатора? (комментарий) — «не путаем с превращением ev в транслятор из (size_t, op[]) в size_t — речь про (size_t, op[]) -> asm».

Чем отличается компилятор от интерпретатора? (комментарий)

Чем отличается компилятор от интерпретатора? (комментарий) — «транслятора из строк в CPU код у тебя нет, я и говорю, что strlen это вырожденный пример интерпретатора (и транслятора, если говорить о трансляции в чистые значения, то есть о constant folding)».

То есть функция делающая (интерпретатор!) ТвояАрифметика -> ЦелыеЧисла в транслятор ТвояАрифметика -> ЦелыеЧисла не проблема (смотри там про частичные вычисления ссылку, это вырожденный случай на одном полюсе), а в транслятор ТвояАрифметика -> МашинныйКод? Более сложное «построение компилятора по интерпретатору» это подальше от вырожденого полюса.

В какой же именно момент здесь появляется транслятор?

Ну возьми пример проще

Чем отличается компилятор от интерпретатора? (комментарий)

Всё понятно.

А сложнее — ну форт-, лисп-системы, там на всё есть свои (зацикленные) стадии выполнения и компиляции. И тоже всё понятно где что.