Иллюстрированный самоучитель по практике программирования

Интерпретаторы, компиляторы и виртуальные машины

Ниже приведен блок кода, генерирующий указатели на функции и помещающий их в специальный массив code. Возвращаемым значением функции generate является не значение выражения – оно будет подсчитано только после выполнения сгенерированного кода, – а индекс следующей операции в массиве code, которая должна быть сгенерирована:

Иллюстрированный самоучитель по практике программирования › Нотация › Интерпретаторы, компиляторы и виртуальные машины

Иллюстрированный самоучитель по практике программирования › Нотация › Интерпретаторы, компиляторы и виртуальные машины

Для выражения а – max(b, с/2) сгенерированный код будет выглядеть так:

Иллюстрированный самоучитель по практике программирования › Нотация › Интерпретаторы, компиляторы и виртуальные машины

Функции-операции управляют стеком, извлекая из него операнды и загружая результаты.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.